STRUCT IWL_TOF_RESPONDER_CONFIG_CMD_V9(9)
π struct iwl_tof_responder_config_cmd_v9(9) β Kernel API Manual π
okay bestie, buckle up, because we're digging into the struct iwl_tof_responder_config_cmd_v9 from the Kernel API Manual. yes, the whole manual. no, it's not that deep, but also it kind of is. this is the ToF AP mode struct β and the manpage literally says "(for debug)", so likeβ¦ it's giving "we made this for testing and now it lives here forever" energy π«Ά
β¨ NAME β¨
struct iwl_tof_responder_config_cmd_v9 β ToF AP mode (for debug). that's it, that's the name, periodt π
πΈ SYNOPSIS πΈ
here's the whole vibe, character for character, don't touch anything:
struct iwl_tof_responder_config_cmd_v9 {
__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 reserved1;
__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, look at that little guy. so many fields. so many u8s. we love a compact struct π¦
π Members π
okay so now the main character energy: every single member, explained, no skips, no "you get the idea" π
cmd_valid_fieldsβ aniwl_tof_responder_cmd_valid_fieldmoment. that's the type, that's the whole note, slay.responder_cfg_flagsβiwl_tof_responder_cfg_flags. flags for the responder config, iykyk.format_bwβenum iwl_location_format_bw. the format/bandwidth situation β¨bss_colorβ the current APbss_color. (yes it's a real field name, we're not kidding.)channel_numβ the current AP Channel. hi channel, love your work πctrl_ch_positionβ the coding of the control channel position relative to the center frequency. seeiwl_mvm_get_ctrl_pos. it's giving "please consult the other function" energy.sta_idβ index of the AP STA when in AP mode. very "you know who you are" of it.reserved1β reserved. that's literally it. it's reserved. leave it alone πtoa_offsetβ Artificial addition[pSec]for the ToA β to be used for debug purposes, simulating station movement by adding various values to this field. ngl this is the fun one: you're faking movement by sprinkling numbers into a field π iconic debug behaviour.common_calibβ XVT: common calibration value.specific_calibβ XVT: specific calibration value. (yes, they're a matching set, we Stan a duo π)bssidβ Current AP BSSID.u8 bssid[ETH_ALEN], of course.r2i_ndp_paramsβ parameters for R2I NDP.- 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. heads up: supported values for spatial streams are < 2, so don't go wild.
i2r_ndp_paramsβ parameters for I2R NDP.- 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 this one does not repeat the < 2 note β keeping it exactly as written, bestie, no edits π
min_time_between_msrβ for non trigger based NDP ranging, minimum time between measurements in milliseconds. lowkey the responsible one of the pair.max_time_between_msrβ for non trigger based NDP ranging, maximum time between measurements in milliseconds. the chaotic counterpart π₯
π¦ SEE ALSO π¦
the whole friend group, everyone invited, no one left out:
- 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(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)
like, that's a lot of cross-references, but every single one of them matters and I would never do you dirty by trimming the list π«Ά
source check: this one comes from ./drivers/net/wireless/intel/i... and it's dated October 2026. go read the header file if you want the full lore π
and that's the whole page, bestie β you ate that, no cap π β¨π go forth and configure your responders, mwah π¦π
π¦ 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