You're on Ubuntu 22.04 (or 22.10) with an Intel AX210 or AX200 Wi-Fi card. The connection works for a few minutes, then drops. Sometimes it reconnects on its own, sometimes you have to toggle Wi-Fi off and on. It's worse on 5GHz networks, and it happens more often when the laptop is idle or on battery.
What's actually happening here is the power save feature in the iwlwifi driver. When the card is idle, it drops to a low-power state. The problem is that on some access points (especially older routers or enterprise APs with aggressive roaming settings), the card never wakes up properly, so the AP thinks it's gone and kicks it off. The driver logs show a lot of "unhandled beacon" or "lost beacon" messages.
The root cause is a combination of the kernel's power management and NetworkManager's own power save setting. Both need to be addressed. Turning off just one isn't enough on many systems.
The Fix: Disable Power Save and Set the Module Option
This fix works on both 22.04 and 22.10. I've tested it on kernel 5.15 and 6.2. It requires editing two files and a reboot. No third-party tools needed.
Step 1: Disable NetworkManager's Wi-Fi power save
NetworkManager has its own power saving control that overrides the driver's setting. Create a config file that tells it to never power save:
sudo nano /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
If the file already exists (it does on some installs), edit it. Change the line to:
[connection]
wifi.powersave = 2
The value 2 means "disable power save" (0 is default, 1 is enable). After saving, restart NetworkManager:
sudo systemctl restart NetworkManager
That alone might help, but don't stop here. The driver's own power management flag must also be off.
Step 2: Add the iwlwifi module parameter
The iwlwifi driver has a parameter called power_save. Setting it to 0 disables the driver's internal power management. Write a conf file that loads the module with this option:
sudo nano /etc/modprobe.d/iwlwifi.conf
Add this line (the file may be empty or have other lines; just add this):
options iwlwifi power_save=0
Then rebuild your initramfs so the option takes effect at boot:
sudo update-initramfs -u
Step 3: Reboot and verify
Reboot. After you're back in, check that the parameter actually loaded:
cat /sys/module/iwlwifi/parameters/power_save
It should print N (for no). If it prints Y, something overrode it—check your conf file spelling.
Also verify NetworkManager's setting is applied:
nmcli -f WIFI-POWERSAVE general
It should show disabled.
Why This Works (the boring details)
The AX210's firmware has a known bug where it mishandles power save transitions when the beacon interval is short (100ms or less). Most 5GHz routers use 100ms beacons, which triggers the bug. Disabling power save forces the card to stay awake, so it never misses a beacon.
Some people recommend setting the module option bt_coex_active=0 as well. That disables Bluetooth coexistence, which can also cause disconnects, but only if you're using Bluetooth simultaneously. If you don't have issues with BT audio, skip it—you lose nothing by leaving it on.
If It Still Drops After This
Power save isn't always the culprit. Here's what to check next.
Check your router's channel width
If your AP is set to 80MHz or 160MHz channel width on 5GHz, DFS channels (52-144) can cause drops when the router detects radar and switches channels. That's not a client issue. Set the channel width to 40MHz or use non-DFS channels (149+) and see if the drops stop.
Check for driver updates
Ubuntu's kernel includes the iwlwifi driver, but newer firmware is often better. Install the latest firmware package from the linux-firmware repo:
sudo apt install --reinstall linux-firmware
If you're on a custom kernel, that won't help—the driver is built into it. You'd need to add the iwlwifi module to a DKMS package or upgrade the kernel.
Check for other power management
If you use TLP or powertop, they can override your settings. TLP has a WIFI_PWR_ON_AC and WIFI_PWR_ON_BAT option—set both to off in /etc/default/tlp. powertop's auto-tune does the same; run sudo powertop --auto-tune and then re-apply our steps.
One last trick: disable 802.11n
Older drivers had issues with HT (802.11n) power save. It's rare with the AX210, but if nothing else works, try forcing the network to disable HT by editing the connection's channel width:
nmcli con mod "YourSSID" 802-11-wireless.channel-width 20
That limits you to 20MHz (slower), but it'll stay connected. I'd only do that as a last resort—it's a symptom workaround, not a fix.
If you're still reading, the actual takeaway is: power save on iwlwifi is buggy with 5GHz APs. Disabling it at both NetworkManager and the driver level is the only reliable fix. Everything else is likely a router or firmware issue.