[ Solved ] WiFi Kept Disconnecting in Arch Linux


Since my home WiFi 6e upgrade, my Alienware laptop running Arch Linux couldn’t connect to WiFi anymore. To be precise, it could connect but just kept disconnecting. I didn’t have the appetite to troubleshoot it until recently.

When I looked into the system logs, I saw a lot of things going on but basically iwd and wpa_supplicant were both complaining about things. It seems a bit obvious that I don’t need them both.

wpa_supplicant[12661]: wlan0: CTRL-EVENT-DISCONNECTED bssid=...
...
iwd[892]: event: connect-failed, status: 1

I recall when I replaced Windows with Arch Linux on this laptop, I used iwd during the installation because archinstall is text based. Then the WiFi connection was carried over the the new system. Then I installed NetworkManager because the GUI part needs it. I guess that’s when wpa_supplicant was brought in. I don’t know how this worked without a problem before the upgrade…

However even after I re-configured NetworkManager to use iwd the manager still looked for wpa_supplicant. Just for troubleshooting purposes I disabled both NM and wpa_supplicant, hoping iwd would connect happily. But it turned out iwd all by itself still couldn’t connect.

Then I suddenly recalled that I did use a new WiFi password, but the WiFi SSID was kept unchanged after the upgrade. That could be it, although there didn’t seem to have any auth error in the logs. I run the command to ask iwd to forget the old password:

# forget the old password
iwctl known-networks list
iwctl known-networks "home-wifi" forget
# re-connect
iwctl station wlan0 connect "home-wifi"

Now it’s working!

I’ll figure out why NM didn’t work with iwd later 🙂