I am unable to reconnect to my wifi after hibernating, even if I cycle the card completely (e.g. turn it off and on using nmcli). The logs seem to be stuck in auth timeout cycle. Rebooting works and everything starts up ok so it’s really odd.
IWD seems to have the same issue, works first time / over reboots but fails after hibernation. Is anything known about this issue?
Arch Linux running 6.7.4-arch1-1 #1 SMP PREEMPT_DYNAMIC x86_64 GNU/Linux
Nothing custom about it (e.g. stock Arch kernel). I played around with IWD a bit more and I can get network working with iwd after hibernation, using iwd as the NetworkManager backend, BUT only if I manually “disanble and reenable” wifi and connect again.
Understood. I am not on Arch and have not tested it against it (as it’s purely community support), however is this happening with the new firmware? Looks like you have a 20231120183441 build which is newer and correct.
In a pinch, while kludgy, you could roll a systemd service to look for a resume state, rfkill disable and enable your wifi. I’ve done this in the past when connecting or disconnecting from AC power (this was sometime ago).
I found out that using iwd things work out if I shut off the wifi and re-enable. It’s “good enogh” for now, I hope this gets fixed. Oddly enough the errors in iwd log don’t seem to show anything “new”.
I’ve been having this intermittently myself, using NetworkManager on Arch. Currently using the same workaround of re-enabling wifi after sleep. It’s quite an irony, I updated to the newest linux-firmware-git to get a newer APU firmware to solve the random freezes and it broke the wifi card instead…
Some additional info: it seems that iwd is not immune to getting stuck in a “unrecoverable” state either. I just had it unable to reconnect after hibernation, tho unlike with wpa_supplicant it seems to only happen 1/4 or so hibernations.
Also dmesg shows errors until i reload the module, here’s the log:
My dance after hibernation is: Enable flight mode, wait 1-2 secs, disable flight mode. If the Wifi won’t connect then, I’ll restart iwd and NetworkManager (NM is configured to use iwd as backend). Works 9 out of 10 times, my guess.
Sometimes, NetworkManager fails to connect but iwd still can. Connecting directly via iwctl often fixes this. Some helpful commands in iwctl are:
device wlan0 set-property Powered off
device wlan0 set-property Powered on
station wlan0 scan on
station wlan0 get-networks
station wlan0 connect <insertyouressidhere>
When all this fails, instead of a reboot, it’s still possible to reload the kernel module (as root):
modprobe -r mt7921e
Then restart iwd and NM again. The device name will change to the next higher number, e.g. from wlan0 to wlan1. This seems to confuse autoconnect but it’s possible to get a connection with iwctl.