lwfinger/rtl8852au

ASUS USB-AX56 rtl8852au state DOWN on resume

Closed this issue · 2 comments

Hi, Im unable to set this device in UP state any more. This device has always had issues after resuming from suspend and wakeing up and I had to manually unplug it and insert to get it to change to UP state.
But today its just hellbent on staying DOWN.

4: wlp0s16f0u1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default 
    qlen 1000 link/ether 04:42:1a:5c:61:d2 brd ff:ff:ff:ff:ff:ff

I did a kernel update yesterday to Linux void 5.10.180_1 #1 SMP x86_64 GNU/Linux and the module built fine, installed, worked. Did some suspends yesterday too and while it had to be unplugged and so on it would still resume UP state. Tried now updateing the driver to last commit 20230505 too, but it just stuck.

// log
dmesg.txt

Any input would be appreciated, thank you

// SOLVED
EDIT: After noticing a rename change from wlp0s16f0u2, I renamed to /etc/wpa_supplicant/wpa_supplicant-wlp0s16f0u1.conf and state is now UP.

Gonna leave this open for a moment to figure out why the device wont go UP resuming from suspend.
DOWN on resume again but I dont understand why

// resume log
resume_dmesg.txt

Your new kernel and the associated user-space code is what caused the change in device renaming. If you were using NetworkManager to control wifi, that change would have been transparent.

Pulling the module and reinserting it is not the best way to recover from problems with resume. You should first unload the driver. In fact, on the power-down of suspend or hibernate, the power is removed, but the driver is not unloaded. I added a new file named "suspend_rtw8852au" that is added to /usr/lib/systemd/system-sleep/ when you do a 'sudo make install'. Do a 'git pull', 'make', and 'sudo make install' to implement the new routine. It will unload the driver on suspend or hibernate, and reload it on resume. I tested it under NetworkManager, and the connection came back up on resume. With whatever you are using for network control, an additional step may be required.

Thank you Larry for the reply and solution.
Need to adapt this to voids zzz.d hook suspend/resume rutine which is trivial.
Hopefully this will be stable from now on.