STRUCT IWL_FW_DBG_TRIGGER_TLV(9)
πΈ struct iwl_fw_dbg_trigger_tlv(9) β the Kernel API Manual, bestie edition πΈ
okay so like, this is the manpage you'd get from the kernel API manual for struct iwl_fw_dbg_trigger_tlv(9), and honestly? it's giving "one little struct doing a LOT of heavy lifting" β¨ read on, i promise it's cute.
π NAME π
struct iwl_fw_dbg_trigger_tlv β a TLV that describes the trigger π (yes that's literally it, that's the whole vibe)
β¨ SYNOPSIS β¨
struct iwl_fw_dbg_trigger_tlv {
__le32 id;
__le32 vif_type;
__le32 stop_conf_ids;
__le32 stop_delay;
u8 mode;
u8 start_conf_id;
__le16 occurrences;
__le16 trig_dis_ms;
u8 flags;
u8 reserved[5];
u8 data[];
};
like, look at her. she's structured. she's aligned. she's iconic π
π«Ά Members π«Ά
idβ anenum iwl_fw_dbg_trigger. it's the ID, it says who she is, main character energy fr.vif_typeβ anenum iwl_fw_dbg_trigger_vif_type. yep, that's the vif type π¦stop_conf_idsβ a bitmap of configurations this trigger relates to. and here's the important part, bestie: if the mode isIWL_FW_DBG_TRIGGER_STOP, then if the bit corresponding to the currently running configuration is set, the data should be collected. so like, the bit has to be set for the config that's actually running, or nothing gets collected. no cap πstop_delayβ how many milliseconds to wait before collecting the data after the STOP trigger fires. it's the "gimme a sec" field πmodeβ anenum iwl_fw_dbg_trigger_modeβ can be stop / start of both.start_conf_idβ if mode isIWL_FW_DBG_TRIGGER_START, this defines what configuration should be applied when the triggers kicks in. so when the trigger kicks in, this is the config that gets applied πΈoccurrencesβ number of occurrences. and listen,0means the trigger will never fire. like ever. zero. nothing. π important.trig_dis_msβ the time, in milliseconds, after an occurrence of this trigger in which another occurrence should be ignored. it's the cooldown, she's resting πflagsβ anenum iwl_fw_dbg_trigger_flags. flags!! πreservedβ reserved (for alignment). she's there for the padding, and we respect her for it π«Άdataβ trigger data. the payload, the moment, the reason we're all here β
π¦ SEE ALSO π¦
like all of her friends, in the kernel file ./drivers/net/wireless/intel/iwlwifi/fw/file.h β go say hi:
enum iwl_ucode_tlv_flag(9)enum iwl_ucode_tlv_api(9)enum iwl_ucode_tlv_capa(9)struct iwl_tlv_calib_ctrl(9)struct iwl_fw_dbg_reg_op(9)enum iwl_fw_dbg_monitor_mode(9)struct iwl_fw_dbg_mem_seg_tlv(9)struct iwl_fw_dbg_dest_tlv_v1(9)enum iwl_fw_dbg_trigger_mode(9)enum iwl_fw_dbg_trigger_flags(9)enum iwl_fw_dbg_trigger_vif_type(9)struct iwl_fw_dbg_trigger_missed_bcon(9)struct iwl_fw_dbg_trigger_cmd(9)struct iwl_fw_dbg_trigger_stats(9)struct iwl_fw_dbg_trigger_low_rssi(9)struct iwl_fw_dbg_trigger_mlme(9)struct iwl_fw_dbg_trigger_txq_timer(9)struct iwl_fw_dbg_trigger_time_event(9)struct iwl_fw_dbg_trigger_ba(9)struct iwl_fw_dbg_trigger_tdls(9)struct iwl_fw_dbg_trigger_tx_status(9)struct iwl_fw_dbg_conf_tlv(9)struct iwl_fw_cmd_version(9)struct iwl_fw_cmd_bios_table(9)
ok that's the whole page, not a single detail dropped, we ate and left no crumbs π
and finally, the cute lil sign-off: this one comes from ./drivers/net/wireless/intel/i... and it's dated October 2026, and the page itself is struct iwl_..._trigger_tlv(9) π§π love that for us, bye bestie! π
π¦ 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