STRUCT IWL_TOF_RANGE_RSP_AP_ENTRY_NTFY_V3(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct iwl_tof_range_rsp_ap_entry_ntfy_v3(9) β€” the Kernel API Manual era πŸŽ€

okay so bestie, welcome to the Kernel API Manual ✨ and today's main character is struct iwl_tof_range_rsp_ap_entry_ntfy_v3. yes the name is a whole mouthful, we love her anyway 🫢


πŸ’– NAME πŸ’–

struct iwl_tof_range_rsp_ap_entry_ntfy_v3 β€” AP parameters (response). that's it, that's the vibe check: it's the AP params coming back at you in the response direction πŸ‘‘


✨ SYNOPSIS ✨

struct iwl_tof_range_rsp_ap_entry_ntfy_v3 {
    u8 bssid[ETH_ALEN];
    u8 measure_status;
    u8 measure_bw;
    __le32 rtt;
    __le32 rtt_variance;
    __le32 rtt_spread;
    s8 rssi;
    u8 rssi_spread;
    u8 reserved;
    u8 refusal_period;
    __le32 range;
    __le32 range_variance;
    __le32 timestamp;
    __le32 t2t3_initiator;
    __le32 t1t4_responder;
    __le16 common_calib;
    __le16 specific_calib;
    __le32 papd_calib_output;
};

like, look at her. seventeen fields of pure FTM measurement goodness, no cap πŸ’…


🌸 Members 🌸

get comfy, we're going field by field, and yes every single one matters πŸ™ˆ

  • bssid β€” the BSSID of the AP. her name tag at the party πŸŽ€
  • measure_status β€” the current AP's measurement status, one of enum iwl_tof_entry_status. literally the "how did it go" field πŸ¦‹
  • measure_bw β€” current AP Bandwidth: 0 20MHz, 1 40MHz, 2 80MHz. pick your lane, bestie 🌈
  • rtt β€” The Round Trip Time that took for the last measurement for current AP [pSec]. note the units, that's picoseconds, she's precise πŸ’€
  • rtt_variance β€” The Variance of the RTT values measured for current AP. how much the numbers are doing their own thing 😭
  • rtt_spread β€” The Difference between the maximum and the minimum RTT values measured for current AP in the current session [pSec]. highkey the range of the range, iconic πŸ”₯
  • rssi β€” RSSI as uploaded in the Channel Estimation notification. signal vibes, received and recorded ⭐
  • rssi_spread β€” The Difference between the maximum and the minimum RSSI values measured for current AP in the current session. same energy, but for RSSI πŸ“
  • reserved β€” reserved. she's just standing there. mysterious. we respect her 🧚
  • refusal_period β€” refusal period in case of IWL_TOF_ENTRY_RESPONDER_CANNOT_COLABORATE [sec]. yes that's how the constant is spelled in the kernel, we don't make the rules πŸ’€ that's the AP saying "can't collab rn", and this is how long she's booked πŸŽ€
  • range β€” Measured range [cm]. the whole point, honestly πŸ‘‘
  • range_variance β€” Measured range variance [cm]. the range's own little wobble πŸ™ˆ
  • timestamp β€” The GP2 Clock [usec] where Channel Estimation notification was uploaded by the LMAC. the receipts, time-stamped πŸ’…
  • t2t3_initiator β€” as calculated from the algo in the initiator. initiator math, initiator business πŸ”₯
  • t1t4_responder β€” as calculated from the algo in the responder. responder math, responder business πŸ¦‹
  • common_calib β€” Calib val that was used in for this AP measurement. yes, "in for", that's the original wording bestie, we're preserving the lore 🫢
  • specific_calib β€” val that was used in for this AP measurement. the specific one. the one that's, y'know, specific ✨
  • papd_calib_output β€” The result of the tof papd calibration that was injected into the algorithm. the calibration went into the algorithm and honestly it ate πŸ’œ

πŸ‘‘ SEE ALSO πŸ‘‘

the whole friend group, fr fr β€” and yes, the kernel file they all live in:

  • Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/location.h

then the icons themselves 🌟:

  • enum iwl_location_subcmd_ids(9)
  • enum iwl_location_frame_format(9)
  • enum iwl_location_bw(9)
  • enum iwl_location_format_bw(9)
  • struct iwl_tof_config_cmd(9)
  • enum iwl_tof_bandwidth(9)
  • enum iwl_tof_responder_cmd_valid_field(9)
  • enum iwl_tof_responder_cfg_flags(9)
  • struct iwl_tof_responder_config_cmd_v6(9)
  • struct iwl_tof_responder_config_cmd_v7(9)
  • struct iwl_tof_responder_config_cmd_v8(9)
  • struct iwl_tof_responder_config_cmd_v9(9)
  • struct iwl_tof_responder_config_cmd(9)
  • struct iwl_tof_responder_dyn_config_cmd_v2(9)
  • enum iwl_responder_dyn_cfg_valid_flags(9)
  • struct iwl_tof_responder_dyn_config_cmd(9)
  • struct iwl_tof_range_req_ext_cmd(9)
  • enum iwl_tof_location_query(9)
  • enum iwl_initiator_ap_flags(9)
  • struct iwl_tof_range_req_ap_entry_v3(9)
  • struct iwl_tof_range_req_ap_entry_v4(9)
  • enum iwl_location_cipher(9)
  • struct iwl_tof_range_req_ap_entry_v6(9)
  • struct iwl_tof_range_req_ap_entry_v7(9)
  • struct iwl_tof_range_req_ap_entry_v8(9)
  • struct iwl_tof_range_req_ap_entry_v9(9)
  • struct iwl_tof_range_req_ap_entry(9)
  • enum iwl_tof_response_mode(9)
  • enum iwl_tof_initiator_flags(9)
  • struct iwl_tof_range_req_cmd_v5(9)
  • struct iwl_tof_range_req_cmd_v7(9)
  • struct iwl_tof_range_req_cmd_v8(9)
  • struct iwl_tof_range_req_cmd_v9(9)
  • struct iwl_tof_range_req_cmd_v11(9)
  • struct iwl_tof_range_req_cmd_v12(9)
  • struct iwl_tof_range_req_cmd_v13(9)
  • struct iwl_tof_range_req_cmd(9)
  • enum iwl_tof_entry_status(9)
  • struct iwl_tof_range_rsp_ap_entry_ntfy_v4(9)
  • struct iwl_tof_range_rsp_ap_entry_ntfy_v5(9)
  • struct iwl_tof_range_rsp_ap_entry_ntfy_v7(9)
  • struct iwl_tof_range_rsp_ap_entry_ntfy(9)
  • enum iwl_tof_response_status(9)
  • struct iwl_tof_range_rsp_ntfy_v5(9)
  • struct iwl_tof_range_rsp_ntfy_v6(9)
  • struct iwl_tof_range_rsp_ntfy_v7(9)
  • struct iwl_tof_range_rsp_ntfy_v9(9)
  • struct iwl_tof_range_rsp_ntfy(9)
  • struct iwl_tof_mcsi_notif(9)
  • struct iwl_tof_range_abort_cmd(9)
  • struct iwl_ftm_responder_stats(9)

like, that's the whole gc and every single one of them is invited 🫢


ngl bestie, this is kernel struct documentation, so nothing here is going to hold your hand β€” it's just the field-by-field truth as written πŸŽ€

and that's the page!! sign-off time: this came out of ./drivers/net/wireless/intel/i... , dated October 2026, and it's filed under struct iwl_...ntry_ntfy_v3(9) 🌸 mwah, go read the header file, ily πŸ’–

πŸ“¦ where this page comes from