6 GHz Wi-Fi connection issues

new tech, new problesm

Florian Maurer

open sourcewirelesslinuxtuxedo

491 Words

2026-05-18 00:00 +0000


As I bought a Tuxedo laptop with MediaTek MT7922 / AMD RZ616 wireless card, which supports 6GHz radios as well, I did need to test this. Unfortunately, my laptop always tried to connect but failed and did fall back to 2.4/5GHz wireless connection.

The Symptoms

When connecting your 6GHz network, but the connection times out. If you check your system logs (journalctl -u NetworkManager), you will likely see a sequence like this:

  1. The system drops into the global regulatory domain: wlp99s0: CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
  2. NetworkManager fails to find the network: device (wlp99s0): state change: config -> failed (reason 'ssid-not-found')
  3. The system connects to a 5GHz fallback network and then remembers your correct country code: wlp99s0: CTRL-EVENT-REGDOM-CHANGE init=COUNTRY_IE type=COUNTRY alpha2=DE

Even if iw reg get shows your country code correctly configured and the 6GHz spectrum available, the connection still fails.

The Root Cause: The Regulatory Domain “Catch-22”

Because 6GHz Wi-Fi regulations vary drastically by country, Linux heavily restricts these frequencies when the Wi-Fi adapter is in the default WORLD (00) regulatory domain. Furthermore, active scanning (sending probe requests) on 6GHz is banned in many regions to save airtime; devices must rely on passive scanning or 5GHz Reduced Neighbor Reports (RNR). See also: https://mrncciew.com/2023/09/20/6ghz-ap-discovery-part-1/

The Solution: Switch to iwd

The cleanest, most permanent fix is to replace the aging wpa_supplicant backend with iwd (iNet Wireless Daemon).

Developed by Intel, iwd is a modern Wi-Fi backend built specifically for the Linux kernel. It handles modern WPA3/OWE cryptography and 6GHz roaming natively. More importantly, it manages its own scanning logic using modern passive scanning queues, completely bypassing the NetworkManager behavior that triggers the MediaTek firmware bug.

Here is how to switch to iwd as a drop-in replacement for NetworkManager.

Step 1: Install iwd

Use the distribution’s package manager to install the daemon. sudo apt install iwd

Step 2: Configure NetworkManager to use iwd

Tell NetworkManager to use iwd instead of wpa_supplicant.

Open or create the configuration file:

sudo nano /etc/NetworkManager/NetworkManager.conf

Add the following lines:

[device]
wifi.backend=iwd

Save and exit the file.

Step 3: Enable and Restart Services

Start the iwd service and restart NetworkManager to apply the changes.

sudo systemctl restart NetworkManager

Once connected, your MT7922 card should instantly authenticate to the 6GHz band without dropping its regulatory domain. You can verify your connection frequency by running iw dev wlan0 link (replace wlan0 with your interface name).


Alternative Temporary Fixes

If you cannot switch to iwd for policy reasons, you can bypass the bug in wpa_supplicant using either of these two methods:

  1. Lock the connection to the AP’s BSSID: Bypass the scanning phase entirely by telling NetworkManager the exact hardware address of the 6GHz access point. nmcli connection modify "Your_6GHz_SSID" 802-11-wireless.bssid XX:XX:XX:XX:XX:XX
  2. Disable MAC Randomization: Stop NetworkManager from triggering the firmware reset during scans. Create /etc/NetworkManager/conf.d/wifi-mac-randomization.conf and add:
[device]
wifi.scan-rand-mac-address=no