STRUCT IWL_TOF_RANGE_REQ_AP_ENTRY_V6(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct iwl_tof_range_req_ap_entry_v6 β€” Kernel API Manual, bestie edition πŸŽ€

okay so picture this: you're deep in the kernel API manual (yes, the Kernel API Manual, that's the manual name, we're folding it in here at the top like a lil name tag 🫢) and you hit this absolute icon of a struct. It's struct iwl_tof_range_req_ap_entry_v6 and it's literally the AP configuration parameters. That's it, that's the whole flex. Let's get into it ✨


🌸 SYNOPSIS 🌸

struct iwl_tof_range_req_ap_entry_v6 {
    __le32 initiator_ap_flags;
    u8 channel_num;
    u8 format_bw;
    u8 ctrl_ch_position;
    u8 ftmr_max_retries;
    u8 bssid[ETH_ALEN];
    __le16 burst_period;
    u8 samples_per_burst;
    u8 num_of_bursts;
    u8 sta_id;
    u8 cipher;
    u8 hltk[HLTK_11AZ_LEN];
    u8 tk[TK_11AZ_LEN];
    __le16 calib[IWL_TOF_BW_NUM];
    __le16 beacon_interval;
};

copy that exactly btw, every type, every array length, no cap πŸ‘‘


✨ Members ✨

okay bestie, field-by-field tour, let's go πŸ¦‹

  • initiator_ap_flags β€” see enum iwl_initiator_ap_flags. like, go look at it, it's the whole vibe check for what this AP entry is doing πŸ’…
  • channel_num β€” AP Channel number πŸ“‘
  • format_bw β€” an enum iwl_location_format_bw, iykyk
  • ctrl_ch_position β€” the coding of the control channel position relative to the center frequency, see iwl_mvm_get_ctrl_pos. yes the answer lives over there, go check it 🧚
  • ftmr_max_retries β€” max number of retries to send the FTMR in case of no reply from the AP. like when you text them and they leave you on read, except the kernel tries again, iconic of it honestly 😭
  • bssid β€” the AP's BSSID 🌈
  • burst_period β€” recommended value to be sent to the AP. Measurement periodicity in units of 100ms. ignored if num_of_bursts_exp = 0 ⚠️ lowkey important, don't forget it
  • samples_per_burst β€” the number of FTMs pairs in single Burst (1-31). note the range bestie, 1-31, stay in your lane πŸ”₯
  • num_of_bursts β€” recommended value to be sent to the AP. 2s Exponent of the number of measurement iterations (min 2^0 = 1, max 2^14) πŸ“ˆ
  • sta_id β€” the station id of the AP. Only relevant when associated to the AP, otherwise should be set to IWL_INVALID_STA. yeah, set it right or don't set it at all πŸ’€
  • cipher β€” pairwise cipher suite for secured measurement. enum iwl_location_cipher. πŸ”
  • hltk β€” HLTK to be used for secured 11az measurement πŸ™ˆ
  • tk β€” TK to be used for secured 11az measurement πŸ’œ
  • calib β€” an array of calibration values per FTM rx bandwidth. If IWL_INITIATOR_AP_FLAGS_USE_CALIB is set, the fw will use the calibration value that corresponds to the rx bandwidth of the FTM frame. so the firmware is matching values to bandwidths, main character energy fr fr ⭐
  • beacon_interval β€” beacon interval of the AP in TUs. Only required if IWL_INITIATOR_AP_FLAGS_TB is set. only required required, got it? 🌸

πŸ¦‹ SEE ALSO πŸ¦‹

the whole friend group, in order, no one left out 🫢

Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/location.h β€” and then:

  • 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_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_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)

that's the whole page bestie, go forth and configure your APs responsibly πŸ’–

and finally, the cute lil sign-off: this one comes from the kernel source at ./drivers/net/wireless/intel/i..., dated October 2026, and it's filed under struct iwl_t..._ap_entry_v6(9). slay, periodt, go read the source πŸŽ€πŸ’…βœ¨

πŸ“¦ where this page comes from