STRUCT IWL_TOF_RESPONDER_CONFIG_CMD(9)
π struct iwl_tof_responder_config_cmd(9) β the ToF AP-mode glow-up
okay bestie, welcome to the Kernel API Manual entry for struct iwl_tof_responder_config_cmd β this is the struct that runs the show when your Wi-Fi card is doing ToF AP mode (that's Time-of-Flight, and it's giving main character energy in the ranging world). she's a little packed, but honestly? iconic. let's get into it π
β¨ NAME β¨
struct iwl_tof_responder_config_cmd β ToF AP mode. that's literally it. that's her whole job π
πΈ SYNOPSIS πΈ
struct iwl_tof_responder_config_cmd {
__le32 cmd_valid_fields;
__le32 responder_cfg_flags;
u8 format_bw;
u8 bss_color;
u8 channel_num;
u8 ctrl_ch_position;
u8 sta_id;
u8 band;
__le16 toa_offset;
__le16 common_calib;
__le16 specific_calib;
u8 bssid[ETH_ALEN];
u8 r2i_ndp_params;
u8 i2r_ndp_params;
__le16 min_time_between_msr;
__le16 max_time_between_msr;
};
like yes she's got a lot of fields but every single one is doing something, ok? no filler, no dead weight, no cap π¦
π Members π
cmd_valid_fieldsβ aniwl_tof_responder_cmd_valid_field. this is the "which of my fields are actually valid rn" checklist. very much "are you showing up to the group chat or not" energy.responder_cfg_flagsβ aniwl_tof_responder_cfg_flags. the config flags, the vibes, the settings. slay.format_bwβ anenum iwl_location_format_bw. format + bandwidth, all bundled up β¨bss_colorβ the current APbss_color. her signature color, if you will. π¨channel_numβ the current AP Channel. where she's broadcasting from, periodt.ctrl_ch_positionβ the coding of the control channel position relative to the center frequency. seeiwl_mvm_get_ctrl_pos. iykyk πsta_idβ the index of the AP STA when in AP mode. (AP mode only, bestie β don't come for me.)bandβ the current AP band. she contains multitudes.toa_offsetβ artificial addition, in[pSec], for the ToA. and the tea here: it's to be used for debug purposes, simulating station movement by adding various values to this field. so it's a lil fake-out machine, but on purpose πcommon_calibβ XVT: common calibration value. the shared one.specific_calibβ XVT: specific calibration value. the special one, obviously. πbssidβ the Current AP BSSID. her literal identity. no notes.u8 bssid[ETH_ALEN], six bytes of pure self. π₯r2i_ndp_paramsβ parameters for R2I NDP. here's the breakdown, don't skip it:- bits 0 β 2: max number of LTF repetitions
- bits 3 β 5: max number of spatial streams (supported values are < 2)
- bits 6 β 7: max number of total LTFs
see enum ieee80211_range_params_max_total_ltf. bit-packing queen π
i2r_ndp_paramsβ parameters for I2R NDP. same layout, and yes you have to read it again:- bits 0 β 2: max number of LTF repetitions
- bits 3 β 5: max number of spatial streams
- bits 6 β 7: max number of total LTFs
see enum ieee80211_range_params_max_total_ltf. (note: the < 2 bit was on the R2I one, not here β read carefully bestie π)
min_time_between_msrβ for non trigger based NDP ranging, the minimum time between measurements, in milliseconds. the "don't text me back too fast" field β³max_time_between_msrβ for non trigger based NDP ranging, the maximum time between measurements, in milliseconds. the "okay but don't ghost me either" field β
π¦ SEE ALSO π¦
so many links, and every single one of them matters β go read them, i'm serious:
- 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_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_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)
fr fr that's the whole page β 52 references, 16 struct fields, zero skips. ate and left no crumbs ππ
and that's a wrap, bestie π«Ά this lil beauty lives at ./drivers/net/wireless/intel/i..., the version is stamped October 2026, and it's filed under struct iwl_...r_config_cmd(9) in the Kernel API Manual. go forth and range responsibly β¨ππ
π¦ 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