Linux, Intel & 6 GHz

I recently got a new laptop. The HP Dragonfly G4 Elite. This unit comes with an Intel® Wi-Fi 6E AX211 wireless card. Full support for 6E, meaning 6 GHz channels. The home network also supports 6E so I should be all set right.... No.

Upon getting everything up and running I had issues using the 6 GHz channels. "iw reg get" would show the 6 GHz channels as disabled. A bit of research yields that Intel does not allow the user or OS to set the regulatory domain, but the card firmware itself actually does this by checking the broadcast data from the APs near by. Checking with a few tools confirmed the APs were all broadcasting US as the regulatory domain and other clients had no issue connecting.

I tried everything I could find with no luck. A few reports on kernel mailing lists noted this worked well with iwd. Of course I started with wpa_supplicant as it is the default for Gentoo, my distro of choice. After switching the issues with an unset regulatory domain are gone. The card comes up every time, runs a scan and enabled the 6 GHz channels.

The switch was painless. Simply add the iwd use flag for NetworkManager and apply the new use flags. Getting wireless going again on my APs using 802.1x (radius, or WPA3 Enterprise) was also fairly easy once I found a nice article that included steps to migrate your NetworkManager profiles to iwd format files. Only issue is the conversion placed a typo in my "EAP-TLS-ServerDomainMask=" string. I cleaned that up, restarted the iwd and NetworkManager services and the profile kicked in to acctoin and connected right away.

Details on the profile migration : https://iwd.wiki.kernel.org/networkmanager

Best answer I can come up with is wpa_supplicant has issue with passing the regulatory domain or something along those lines. iwd was started by Intel, explaining the better results with such a feature required by Intel wireless cards. At any rate, the migration to iwd sorted our the issue and the machine uses 6 GHz channels easily.