ENUM IWL_INITIATOR_AP_FLAGS(9)
โจ enum iwl_initiator_ap_flags โ NAME โจ
ok so this is from the Kernel API Manual, and it's literally the enum iwl_initiator_ap_flags page โ aka the per responder FTM configuration flags. bestie, it's the little flag collection that tells each responder how you want your FTM measurement sesh to go down ๐
๐ธ SYNOPSIS ๐ธ
enum iwl_initiator_ap_flags {
IWL_INITIATOR_AP_FLAGS_ASAP ,
IWL_INITIATOR_AP_FLAGS_LCI_REQUEST ,
IWL_INITIATOR_AP_FLAGS_CIVIC_REQUEST ,
IWL_INITIATOR_AP_FLAGS_DYN_ACK ,
IWL_INITIATOR_AP_FLAGS_ALGO_LR ,
IWL_INITIATOR_AP_FLAGS_ALGO_FFT ,
IWL_INITIATOR_AP_FLAGS_MCSI_REPORT ,
IWL_INITIATOR_AP_FLAGS_NON_TB ,
IWL_INITIATOR_AP_FLAGS_TB ,
IWL_INITIATOR_AP_FLAGS_SECURED ,
IWL_INITIATOR_AP_FLAGS_LMR_FEEDBACK ,
IWL_INITIATOR_AP_FLAGS_USE_CALIB ,
IWL_INITIATOR_AP_FLAGS_PMF ,
IWL_INITIATOR_AP_FLAGS_TERMINATE_ON_LMR_FEEDBACK ,
IWL_INITIATOR_AP_FLAGS_TEST_INCORRECT_SAC ,
IWL_INITIATOR_AP_FLAGS_TEST_BAD_SLTF
};
๐ Constants ๐
ok so here's the flag-by-flag rundown, no cap, every single one:
IWL_INITIATOR_AP_FLAGS_ASAPโ you're asking for an ASAP measurement. like, right now please โกIWL_INITIATOR_AP_FLAGS_LCI_REQUESTโ request for LCI information ๐บ๏ธIWL_INITIATOR_AP_FLAGS_CIVIC_REQUESTโ request for CIVIC information ๐๏ธIWL_INITIATOR_AP_FLAGS_DYN_ACKโ sends HT/VHT ack for FTM frames. if it's not set, then 20Mhz dup acks get sent instead. so it's giving "glow up your ack game" energy ๐จIWL_INITIATOR_AP_FLAGS_ALGO_LRโ use the LR algo type for rtt calculation. the default algo type is ML, fyi ๐IWL_INITIATOR_AP_FLAGS_ALGO_FFTโ use the FFT algo type for rtt calculation. and yeah, the default algo type is ML here too ๐IWL_INITIATOR_AP_FLAGS_MCSI_REPORTโ send the MCSI for each FTM frame straight to the driver ๐IWL_INITIATOR_AP_FLAGS_NON_TBโ use the non trigger based flow ๐ถโโ๏ธIWL_INITIATOR_AP_FLAGS_TBโ use the trigger based flow ๐โโ๏ธIWL_INITIATOR_AP_FLAGS_SECUREDโ request secure LTF measurement ๐IWL_INITIATOR_AP_FLAGS_LMR_FEEDBACKโ send LMR feedback ๐กIWL_INITIATOR_AP_FLAGS_USE_CALIBโ use calibration values from the request instead of fw internal values. like, take it from the request, not from fw's own stash ๐งฎIWL_INITIATOR_AP_FLAGS_PMFโ request to protect the negotiation and LMR frames with protected management frames ๐ก๏ธIWL_INITIATOR_AP_FLAGS_TERMINATE_ON_LMR_FEEDBACKโ terminate the session if the responder asked for LMR feedback even though the initiator did not set the LMR feedback bit in the FTM request. if it's not set, the initiator just continues with the session and will provide the LMR feedback. so it's basically "bestie I'm out" vs "fine, I'll do it" ๐ญIWL_INITIATOR_AP_FLAGS_TEST_INCORRECT_SACโ sends an incorrect SAC in the first NDP exchange. this one is used for testing ๐งชIWL_INITIATOR_AP_FLAGS_TEST_BAD_SLTFโ uses an incorrect secure LTF tx key. this is used for testing too, and it's only supported from version 15 of the range request command. โ ๏ธ note the version gate, it matters ๐
๐ฆ SEE ALSO ๐ฆ
the whole fam, in the order the page gives it โ every single reference, periodt:
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), 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)
ok that's the whole thing, go off ๐ this page came from ./drivers/net/wireless/intel/i... (the source path got cut off in the original, not me being lazy fr fr), dated October 2026, and it's the enum iwl_initiator_ap_flags(9) page. mwah, study it, slay your FTM config ๐๐
๐ฆ 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