STRUCT IWL_MAC_WIFI_GEN_SUPPORT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct iwl_mac_wifi_gen_support(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” this is the page for struct iwl_mac_wifi_gen_support, and it's basically the little glow-up record that says what your MAC is capable of. Let's get into it 🫢


✨ NAME ✨

struct iwl_mac_wifi_gen_support β€” these are the parameters of iwl_mac_config_cmd with support up to uhr as in version 3 of the command ( MAC_CONTEXT_CONFIG_CMD = 0x8 ) πŸ’…

Like, that's the whole vibe: it's the "which of the fancy new Wi-Fi generations does this MAC actually do" struct, and it lives in version 3 of that command. The command ID is literally 0x8, no cap.


🌸 SYNOPSIS 🌸

struct iwl_mac_wifi_gen_support {
    u8 he_support;
    u8 he_ap_support;
    u8 eht_support;
    u8 uhr_support;
    __le32 reserved;
 };

Five fields. That's it. Look at her, all tidy and aligned πŸŽ€


πŸ‘‘ Members πŸ‘‘

okay so here's the member-by-member breakdown, bestie, each one gets its own moment:

  • he_support β€” does this MAC support HE? lowkey the whole question, answered in one u8 ✨
  • he_ap_support β€” HE AP enabled, i.e. the "pseudo HE" situation, and heads up: no trigger frame handling here. So it's HE-coded but not doing the full trigger-frame thing πŸ™ˆ
  • eht_support β€” does this MAC support EHT? and listen β€” it requires he_support. You can't skip a generation, that's not how this works πŸ’€
  • uhr_support β€” does this MAC support UHR? and same deal, it requires eht_support. Chain of custody, periodt πŸ”₯
  • reserved β€” reserved for alignment and to match version 2's size. She's not here to do anything, she's here to keep the vibes (and the struct size) consistent πŸŽ€

πŸ¦‹ SEE ALSO πŸ¦‹

the whole friend group, all in ./drivers/net/wireless/intel/iwlwifi/fw/api/mac-cfg.h β€” every single one of these is invited to the group chat πŸ’œ

  • enum iwl_mac_conf_subcmd_ids(9)
  • struct iwl_p2p_noa_attr(9)
  • struct iwl_probe_resp_data_notif(9)
  • struct iwl_missed_vap_notif(9)
  • struct iwl_channel_switch_start_notif_v1(9)
  • struct iwl_channel_switch_start_notif(9)
  • struct iwl_channel_switch_error_notif_v1(9)
  • struct iwl_channel_switch_error_notif(9)
  • struct iwl_cancel_channel_switch_cmd(9)
  • struct iwl_chan_switch_te_cmd(9)
  • struct iwl_mac_low_latency_cmd(9)
  • struct iwl_mac_client_data(9)
  • struct iwl_mac_p2p_dev_data(9)
  • enum iwl_mac_config_filter_flags(9)
  • struct iwl_mac_wifi_gen_support_v2(9)
  • struct iwl_mac_config_cmd_v3(9)
  • struct iwl_mac_nan_data(9)
  • struct iwl_mac_config_cmd(9)
  • enum iwl_link_ctx_modify_flags(9)
  • enum iwl_link_ctx_protection_flags(9)
  • enum iwl_link_ctx_flags(9)
  • enum iwl_link_modify_bandwidth(9)
  • enum iwl_npca_flags(9)
  • struct iwl_npca_params(9)
  • struct iwl_link_config_cmd(9)
  • enum iwl_fw_sta_type(9)
  • struct iwl_sta_cfg_cmd_v1(9)
  • struct iwl_sta_cfg_cmd_v2(9)
  • struct iwl_sta_cfg_cmd(9)
  • struct iwl_aux_sta_cmd(9)
  • struct iwl_remove_sta_cmd(9)
  • struct iwl_mvm_sta_disable_tx_cmd(9)
  • enum iwl_mvm_fw_esr_recommendation(9)
  • struct iwl_esr_mode_notif_v1(9)
  • enum iwl_esr_leave_reason(9)
  • struct iwl_esr_mode_notif(9)
  • struct iwl_missed_beacons_notif(9)
  • struct iwl_esr_trans_fail_notif(9)
  • struct iwl_twt_operation_cmd(9)
  • struct iwl_nan_band_config(9)
  • enum iwl_nan_flags(9)
  • struct iwl_nan_config_cmd(9)
  • struct iwl_nan_schedule_cmd_v1(9)
  • struct iwl_nan_schedule_cmd(9)
  • struct iwl_nan_peer_cmd(9)
  • enum iwl_nan_cluster_notif_flags(9)
  • struct iwl_nan_cluster_notif(9)
  • struct iwl_nan_dw_end_notif(9)
  • struct iwl_nan_ulw_attr_notif(9)
  • enum iwl_nan_sched_update_status(9)
  • struct iwl_nan_sched_update_completed_notif(9)

ngl bestie, the fun part is that eht_support and uhr_support come with hard dependencies β€” respect the chain or your struct is lying to the firmware πŸ™ˆ

and that's the page!! mwah πŸ’‹ this one's from ./drivers/net/wireless/intel/i..., dated October 2026, filed under struct iwl_..._gen_support(9) β€” go forth and configure your MAC context, you absolute icon πŸŒˆπŸ‘‘

πŸ“¦ where this page comes from