STRUCT IWL_SCAN_CHANNEL_CFG_UMAC(9)
π struct iwl_scan_channel_cfg_umac(9) β the scan channel config glow-up
Okay bestie, gather round, because this is the kernel API manual for struct iwl_scan_channel_cfg_umac(9), aka the scan channel config, and honestly? She's giving tiny struct, huge responsibilities. Let's get into it. π¦
β¨ NAME β¨
struct iwl_scan_channel_cfg_umac β scan channel config. That's it, that's the whole vibe. π
πΈ SYNOPSIS πΈ
Here's the whole struct, copied exactly, no cap β every field, every brace, every semicolon, untouched:
struct iwl_scan_channel_cfg_umac {
#define IWL_CHAN_CFG_FLAGS_BAND_POS 30;
__le32 flags;
u8 channel_num;
union {
struct {
u8 iter_count;
__le16 iter_interval;
} v1;
struct {
u8 band;
u8 iter_count;
u8 iter_interval;
} v2;
struct {
u8 psd_20;
u8 iter_count;
u8 iter_interval;
} v5;
};
};
Look at her. Three little union variants, all living their best lives in the same memory. Main character energy fr. π
π§ Members π§
Okay so let's go member by member, because each one is lowkey iconic in her own way:
flagsβ this is a bitmap, and here's the tea: bits0-19are the directed scan to i'th ssid. That's it, that's the whole documented deal. πchannel_numβ the channel number. Like1-13etc. She's just a number, but she's the number. π»{unnamed_union}β anonymous. Yep, she has no name. Mysterious. Enigmatic. Anonymous union behavior. πv1β command version 1. The OG. The blueprint. π±v1.iter_countβ repetition count for the channel.v1.iter_intervalβ interval between two scan iterations on one channel.v2β command versions 2-4. The sequel era. π₯v2.bandβ band of channel:0for 2GHz,1for 5GHz. Pick your fighter. πv2.iter_countβ repetition count for the channel.v2.iter_intervalβ interval between two scan iterations on one channel.v5β command versions 5 and up. The modern girlies. βv5.psd_20β highest PSD value for all APs known so far on this channel. She's out here tracking maximums, we love a data queen. πv5.iter_countβ repetition count for the channel.v5.iter_intervalβ interval between two scan iterations on one channel.
Notice how iter_count and iter_interval show up in every single variant? That's consistency bestie, we stan. π«Ά
π SEE ALSO π
The whole extended friend group, all of them, in order, exactly as documented:
Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/scan.h enum iwl_scan_subcmd_ids(9), struct iwl_ssid_ie(9), struct iwl_scan_offload_blocklist(9), struct iwl_scan_offload_profile(9), struct iwl_scan_offload_profile_cfg_data(9), struct iwl_scan_offload_profile_cfg_v1(9), struct iwl_scan_offload_profile_cfg(9), struct iwl_scan_schedule_lmac(9), struct iwl_scan_req_tx_cmd(9), struct iwl_scan_channel_cfg_lmac(9), struct iwl_scan_probe_segment(9), struct iwl_scan_probe_req_v1(9), struct iwl_scan_probe_req(9), struct iwl_scan_channel_opt(9), enum iwl_mvm_lmac_scan_flags(9), struct iwl_scan_req_lmac(9), struct iwl_scan_results_notif(9), struct iwl_lmac_scan_complete_notif(9), struct iwl_periodic_scan_complete(9), struct iwl_scan_dwell(9), struct iwl_scan_config_v1(9), struct iwl_scan_config_v2(9), struct iwl_scan_config(9), enum iwl_umac_scan_flags(9), enum iwl_umac_scan_general_flags2(9), enum iwl_umac_scan_general_flags_v2(9), enum iwl_umac_scan_general_params_flags2(9), struct iwl_scan_umac_schedule(9), struct iwl_scan_req_umac_tail_v2(9), struct iwl_scan_umac_chan_param(9), struct iwl_scan_req_umac(9), struct iwl_scan_probe_params_v3(9), struct iwl_scan_probe_params_v4(9), struct iwl_scan_channel_params_v4(9), struct iwl_scan_channel_params_v7(9), struct iwl_scan_channel_params_v8(9), struct iwl_scan_general_params_v11(9), struct iwl_scan_periodic_parms_v1(9), struct iwl_scan_req_params_v12(9), struct iwl_scan_req_params_v17(9), struct iwl_scan_req_params_v18(9), struct iwl_scan_req_umac_v12(9), struct iwl_scan_req_umac_v17(9), struct iwl_scan_req_umac_v18(9), struct iwl_umac_scan_abort(9), enum iwl_umac_scan_abort_status(9), struct iwl_umac_scan_start(9), struct iwl_umac_scan_complete(9), struct iwl_scan_offload_profile_match_v1(9), struct iwl_scan_offload_profiles_query_v1(9), struct iwl_scan_offload_profile_match(9), struct iwl_scan_offload_match_info(9), struct iwl_umac_scan_iter_complete_notif(9), struct iwl_umac_scan_channel_survey_notif(9).
Yeah, that's a lot of links. She's connected. Iykyk. π
Heads up bestie: the source path in the footer got truncated in the original as ./drivers/net/wireless/intel/i... β that's how it's written, so that's how I'm leaving it. No editing the source of truth, even when it's cut off mid-word. π
π cute lil sign-off π
This page came from the kernel source tree at ./drivers/net/wireless/intel/i..., dated October 2026, and it's the struct iwl_scan_channel_cfg_umac(9) page β go forth and scan those channels, bestie. Slay, iterate, and remember: iter_interval between iterations, always. πβ¨π¦
π¦ 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