STRUCT IWL_TOF_RANGE_REQ_CMD_V13(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct iwl_tof_range_req_cmd_v13 β€” start measurement cmd πŸ’–

Okay bestie, listen up, because we're diving into the Linux Kernel API Manual for <rainbow>struct iwl_tof_range_req_cmd_v13</rainbow> and honestly? It's giving "the origin story of your Wi-Fi ranging era." This is the start measurement cmd β€” the lil' struct that kicks off a ranging session. Slay. ✨


🌸 SYNOPSIS 🌸

Like, here's the whole vibe, exactly as written, no cap:

struct iwl_tof_range_req_cmd_v13 {
    __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;
    struct iwl_tof_range_req_ap_entry_v9 ap[IWL_TOF_MAX_APS];
};

She's structured. She's organized. She's iconic. πŸ‘‘


πŸ’… Members πŸ’…

  • initiator_flags β€” the flags, okay? go check iwl_tof_initiator_flags for the deets 🫢
  • request_id β€” a Token that gets incremented per request. Literally the same Token comes back in the range response, so it's like a little name tag that survives the whole trip 😭
  • num_of_ap β€” how many APs we're measuring. Heads up bestie: it's an error if > IWL_TOF_MAX_APS πŸ’€ so don't push her past her limits
  • range_req_bssid β€” the ranging request BSSID, periodt
  • macaddr_mask β€” the randomization rules, and they're very specific ngl:
    • Bits set to 0 shall be copied from the MAC address template
    • Bits set to 1 shall be randomized by the UMAC
  • macaddr_template β€” the MAC address template used for those non-randomized bits (you know, the ones the mask said get copied) πŸŽ€
  • req_timeout_ms β€” the requested timeout of the response, measured in milliseconds. This is the session time for completing the measurement β€” like a lil countdown timer for the whole glow-up 🌸
  • tsf_mac_id β€” reports the measurement start time for each ap in terms of the TSF of this mac id. Also, 0xff disables TSF reporting entirely, so you can just turn that feature off if you're not feeling it πŸ™ˆ
  • ap β€” the per-AP request data, one entry per AP. Check struct iwl_tof_range_req_ap_entry_v9 for the full tea β˜•

πŸ¦‹ SEE ALSO πŸ¦‹

Buckle up, this list is long and honestly she ate. All from the 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_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(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)
Also, just so we're clear: the manpage's own SEE ALSO prose also points you at enum iwl_location_subcmd_ids(9) through struct iwl_ftm_responder_stats(9) as listed β€” if you want the full text of any of these, they're all right there in the same location header family. Happy reading, bestie πŸ’œ

🧚 Sign-off 🧚

This little gem comes from ./drivers/net/wireless/intel/i... (yes, the path really does get truncated like that, love that for us πŸ’€) and it's dated October 2026. So mark your calendars, screenshot it, frame it β€” this is struct iwl_t..._req_cmd_v13(9) and she's done. πŸŽ€βœ¨

Go forth and range, bestie. You've got this. πŸ’–

πŸ“¦ where this page comes from