STRUCT IWL_SCAN_DWELL(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct iwl_scan_dwell β€” scan dwell configuration πŸ’…

So bestie, you found yourself in the Kernel API Manual again, and this time it's about a lil struct called iwl_scan_dwell β€” and honestly? It's giving "small but mighty" πŸŽ€. It's the scan dwell configuration struct, which is a very fancy way of saying it holds the dwell timings the firmware uses while scanning. No cap, that's the whole vibe.


🌸 SYNOPSIS 🌸

Here's the struct in all its glory β€” copy it exactly, don't @ me:

struct iwl_scan_dwell {
    u8 active;
    u8 passive;
    u8 fragmented;
    u8 extended;
 };

Four u8 fields. That's it. It's tiny, it's iconic, it's literally the whole struct πŸ‘‘.


πŸ¦‹ Members πŸ¦‹

Ok so let's go through the members one by one, because each one is a whole personality:

  • active β€” the default dwell time for an active scan. Yup, that's its job πŸ’–
  • passive β€” the default dwell time for a passive scan. Very demure, very mindful 🌸
  • fragmented β€” the default dwell time for a fragmented scan. Fragmented, but make it slay ✨
  • extended β€” the default dwell time for channels 1, 6 and 11. Yes bestie, those three channels specifically β€” 1, 6, and 11, periodt πŸ”₯
Ngl, every field is a u8 dwell time and there are zero surprises here. The struct is exactly what it says on the tin 🫢

🌈 SEE ALSO 🌈

The lore is deep and the lore is wide β€” here's the whole extended universe, so you can go read it and understand the scan subsystem in its entirety:

  • The kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/scan.h, plus enum iwl_scan_subcmd_ids(9) β€” the main character of this corner of the tree πŸ‘‘
  • 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_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_channel_cfg_umac(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)

That's the whole page, bestie β€” no filler, no fluff, just four u8s and a truly enormous friend group of related structs and enums πŸ’œ

Source/version: ./drivers/net/wireless/intel/i... β€” and the date on this one is October 2026 πŸ—“οΈβœ¨ Go off, scan responsibly, and remember: the dwell time is a u8, so keep it cute and keep it in range πŸ’…πŸ«Ά

πŸ“¦ where this page comes from