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 🙂
