STRUCT IWL_LARI_CONFIG_CHANGE_CMD(9)
π NAME π
okay so bestie, welcome to the Kernel API Manual β¨ β this page is all about struct iwl_lari_config_change_cmd, and its whole job is: change LARI configuration. that's it, that's the vibe π
β¨ SYNOPSIS β¨
no cap, here's the literal struct, exactly as it lives:
struct iwl_lari_config_change_cmd {
__le32 config_bitmap;
__le32 oem_uhb_allow_bitmap;
__le32 oem_11ax_allow_bitmap;
__le32 oem_unii4_allow_bitmap;
__le32 chan_state_active_bitmap;
__le32 force_disable_channels_bitmap;
__le32 edt_bitmap;
__le32 oem_320mhz_allow_bitmap;
__le32 oem_11be_allow_bitmap;
__le32 oem_11bn_allow_bitmap;
__le32 oem_unii9_enable;
struct iwl_bios_config_hdr bios_hdr;
__le32 oem_uhb_allow_extension_bitmap;
struct iwl_bios_config_hdr bios_wcpe_hdr;
__le32 wcpe_bitmap;
struct iwl_bios_config_hdr bios_wbem_hdr;
__le32 reserved[10];
__le32 oem_supported_dsm_bitmap;
};
π¦ MEMBERS π¦
okay this is the part where we meet the whole cast, main character energy only π
config_bitmapβ the bitmap of the config commands. every single bit triggers a different predefined FW config operation πoem_uhb_allow_bitmapβ bitmap of UHB enabled MCC sets π«Άoem_11ax_allow_bitmapβ bitmap of 11ax allowed MCCs. there are two bits per country: one of them says whether to override, and the other one says the value to use. two-for-one deal, we love that for us β¨oem_unii4_allow_bitmapβ bitmap of unii4 allowed MCCs. same energy: two bits per country, one says whether to override, the other says allow/disallow unii4 channels πΈchan_state_active_bitmapβ bitmap to enable different bands per country or region. each bit = a country or region, plus a band to activate, all according to the BIOS definitions.bit 0 - 6: supported πforce_disable_channels_bitmapβ bitmap of disabled bands/channels. each bit represents a set of channels in a specific band that should be disabled. yes this one is literally the "nope, off" list πedt_bitmapβ bitmap of the energy detection threshold table. it disables/enables the EDT optimization method for different band πoem_320mhz_allow_bitmapβ 320Mhz bandwidth enablement bitmap per MCC.bit0: enable 320Mhz in Japan π―π΅ Β·bit1: enable 320Mhz in South Korea π°π· Β·bit 2 - 31: reserved π₯oem_11be_allow_bitmapβ bitmap of 11be allowed MCCs. no need to mask out the unsupported bits (iykyk).bit0: enable 11be in China(CB/CN) Β·bit1: enable 11be in South Korea Β·bit 2 - 31: reserved βoem_11bn_allow_bitmapβ bitmap of 11bn allowed MCCs. the firmware expects to get the data from the BIOS πoem_unii9_enableβ UNII-9 enablement as read from the BIOS πbios_hdrβ bios config header πoem_uhb_allow_extension_bitmapβ DSM Function 4 data, as an extension of the UHB enabled MCC sets π§bios_wcpe_hdrβ puncturing config header πwcpe_bitmapβ bitmap of puncturing enablement per MCC π«bios_wbem_hdrβ 320 MHz per-MCC WBEM config header πΈreservedβ reserved. it's giving "nothing to see here" π«₯oem_supported_dsm_bitmapβ DSM function 0 bitmap, describing the supported DSM function indices π
π SEE ALSO π
the whole extended friend group, fr fr β kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/nvm-reg.h enum iwl_regulatory_and_nvm_subcmd_ids(9), enum iwl_nvm_access_op(9), enum iwl_nvm_access_target(9), enum iwl_nvm_section_type(9), struct iwl_nvm_access_cmd(9), struct iwl_nvm_access_resp(9), enum iwl_nvm_info_general_flags(9), struct iwl_nvm_get_info_general(9), enum iwl_nvm_mac_sku_flags(9), struct iwl_nvm_get_info_sku(9), struct iwl_nvm_get_info_phy(9), struct iwl_nvm_get_info_regulatory_v1(9), struct iwl_nvm_get_info_regulatory_v2(9), struct iwl_nvm_get_info_rsp_v3(9), struct iwl_nvm_get_info_rsp_v4(9), struct iwl_nvm_get_info_regulatory(9), struct iwl_nvm_get_info_rsp(9), struct iwl_nvm_access_complete_cmd(9), struct iwl_mcc_update_cmd(9), enum iwl_geo_information(9), struct iwl_mcc_update_resp_v3(9), struct iwl_mcc_update_resp_v4(9), struct iwl_mcc_update_resp_v8(9), struct iwl_mcc_chub_notif(9), struct iwl_tas_config_cmd_common(9), struct iwl_tas_config_cmd_v3(9), enum iwl_tas_uhb_allowed_flags(9), struct iwl_tas_config_cmd_v4(9), enum bios_source(9), struct iwl_bios_config_hdr(9), struct iwl_lari_config_extension_cmd(9), struct bios_value_u32(9), struct iwl_tas_config_cmd(9), enum iwl_lari_config_masks(9), struct iwl_lari_config_change_cmd_v1(9), struct iwl_lari_config_change_cmd_v6(9), struct iwl_lari_config_change_cmd_v8(9), struct iwl_pnvm_init_complete_ntfy(9), struct iwl_mcc_allowed_ap_type_cmd_v1(9), struct iwl_mcc_allowed_ap_type_cmd(9) π
okay that's the whole page bestie, you ate that. go read your BIOS bitmaps responsibly π«Ά
and for the cute sign-off: this lil beauty comes from the kernel source at ./drivers/net/wireless/intel/i..., dated October 2026, and it's living its best life as struct iwl_...g_change_cmd(9) in the Kernel API Manual πβ¨π
π¦ 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