STRUCT IWL_TOF_RANGE_REQ_CMD_V8(9)
π struct iwl_tof_range_req_cmd_v8(9) β Kernel API Manual π
okay so bestie, welcome to the Kernel API Manual page for struct iwl_tof_range_req_cmd_v8(9) β this is the start measurement cmd and honestly it's kind of a whole vibe. it's giving "I orchestrate the FTM ranging session" main character energy β¨
πΈ NAME πΈ
struct iwl_tof_range_req_cmd_v8 β start measurement cmd. that's it, that's the tweet π
π¦ SYNOPSIS π¦
like, here's the whole shape of it, no cap:
struct iwl_tof_range_req_cmd_v8 {
__le32 initiator_flags;
u8 request_id;
u8 num_of_ap;
u8 range_req_bssid[ETH_ALEN];
u8 macaddr_mask[ETH_ALEN];
u8 macaddr_template[ETH_ALEN];
__le32 req_timeout_ms;
__le32 tsf_mac_id;
__le16 common_calib;
__le16 specific_calib;
struct iwl_tof_range_req_ap_entry_v4 ap[IWL_TOF_MAX_APS];
};
β¨ Members β¨
okay so here's the field-by-field tea β every single one matters, don't skip:
initiator_flagsβ see flags iniwl_tof_initiator_flagsπrequest_idβ a Token incremented per request. the same Token gets sent back to you in the range response, so you can match them up like matching friendship bracelets π«Άnum_of_apβ how many APs to measure. heads up: it's an error if it's> IWL_TOF_MAX_APSπ so like, don't do thatrange_req_bssidβ the ranging request BSSID π«macaddr_maskβ the rules for the MAC address bits: bits set to0shall be copied from the MAC address template, and bits set to1shall be randomized by the UMAC π² (yes, literally, that's the deal)macaddr_templateβ the MAC address template to use for the non-randomized bits πreq_timeout_msβ requested timeout of the response, in units of milliseconds. this is the session time for completing the measurement β±οΈ so lowkey it's the whole deadlinetsf_mac_idβ report the measurement start time for each ap in terms of the TSF of this mac id. set it to0xffto disable TSF reporting π«common_calibβ the common calib value to inject to this measurement calc π§ͺspecific_calibβ the specific calib value to inject to this measurement calc π§ͺ (yes it's a different one, don't mix them up bestie)apβ per-AP request data, seestruct iwl_tof_range_req_ap_entry_v2π (that's the array ofIWL_TOF_MAX_APSentries up there in the synopsis, iykyk)
π¦ SEE ALSO π¦
the full squad, linked and iconic, every single one of them π starting with the source of truth itself:
- Kernel file
./drivers/net/wireless/intel/iwlwifi/fw/api/location.h 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_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_v3(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)
and that's the whole page bestie, you ate that π β¨
cute little sign-off: this one's straight out of./drivers/net/wireless/intel/i...and it's dated October 2026 β so yeah, filed understruct iwl_...e_req_cmd_v8(9)like the little legend it is. slay, go read some more manpages ππ¦π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms