STRUCT IWL_MCC_CHUB_NOTIF(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 struct iwl_mcc_chub_notif(9) 🌸

okay bestie, buckle up, this is a page from the Kernel API Manual and it's about the struct iwl_mcc_chub_notif β€” the little notification that lets everyone know the mcc changed. it's giving "tiny struct, huge responsibilities" energy, and honestly? iconic. πŸ’…


✨ NAME ✨

struct iwl_mcc_chub_notif β€” chub notifies of mcc change (MCC_CHUB_UPDATE_CMD = 0xc9)

okay so first things first, let's talk about the Chub 🫢. The Chub (that's short for Communication Hub, CommsHUB, and yes the naming is cute, we love it) is a HW component. It connects to the cellular and connectivity cores, and what it does is it gets updates of the mcc, and lowkey its whole thing is that it notifies the ucode directly of any mcc change. main character behavior, no notes. πŸ‘‘

then the ucode requests the driver to request the device to update the geographic regulatory profile according to the given MCC (that's Mobile Country Code, iykyk). and bestie, the MCC is two letter-code, ascii upper case [A-Z], or '00' for world domain. 🌈

and here's the part you cannot miss:

'ZZ' MCC will be used to switch to NVM default profile. in that case, the MCC in the cmd response will be the relevant MCC in the NVM. fr fr, don't forget this one. 🫢

πŸŽ€ SYNOPSIS πŸŽ€

she's small, she's aligned, she's literally right here:

struct iwl_mcc_chub_notif {
    __le16 mcc;
    u8 source_id;
    u8 reserved1;
 };

πŸ’– MEMBERS πŸ’–

every member of this struct ate, let's meet them:

  • mcc β€” the given mobile country code πŸ—ΊοΈ (that's the whole point of this thing)
  • source_id β€” the identity of the change originator, see iwl_mcc_source β€” like, who even started this change, we need names πŸ“’
  • reserved1 β€” reserved for alignment, she's just here to keep things tidy, no cap 🧚

πŸ¦‹ SEE ALSO πŸ¦‹

the friend group πŸ’œ (same file, 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_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_lari_config_change_cmd(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)

like, that's a whole group chat and you're invited. πŸŽ‰


⭐ okay that's the whole page bestie, you're officially caught up on the chub notif. this one came out of ./drivers/net/wireless/intel/i... and it's dated October 2026 β€” so mark your calendar, hydrate, and go read nvm-reg.h. periodt. πŸ’œπŸ¦‹βœ¨

πŸ“¦ where this page comes from