Issue with RTW89 driver

Hello all! I recently bought a new laptop which came with the rtw89_8852be.
I installed fedora workstation 41 and for the first few days everything worked fine. However today WiFi suddenly disconnected. By checking a few things I found out that the network interface was down and that I could not set it up again.
The first reboot did not work but the second one did. However a few hours later the problem started again.
When checking with journalctl -k I found a lot of lines with the same:

nov 28 18:38:36 laufedorahp kernel: rtw89_8852be 0000:01:00.0: failed to pre-release fwcmd
nov 28 18:38:36 laufedorahp kernel: rtw89_8852be 0000:01:00.0: firmware failed to ack for leaving ps mode
nov 28 18:38:36 laufedorahp kernel: rtw89_8852be 0000:01:00.0: rtw89: failed to leave lps state
nov 28 18:38:36 laufedorahp kernel: rtw89_8852be 0000:01:00.0: write rf busy swsi
....
nov 28 18:38:36 laufedorahp kernel: rtw89_8852be 0000:01:00.0: write rf busy swsi
nov 28 18:38:36 laufedorahp kernel: rtw89_8852be 0000:01:00.0: write rf busy swsi
nov 28 18:38:36 laufedorahp kernel: rtw89_8852be 0000:01:00.0: read rf busy swsi
nov 28 18:38:36 laufedorahp kernel: rtw89_8852be 0000:01:00.0: read rf busy swsi
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: firmware failed to ack for leaving ps mode
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: rtw89: failed to leave lps state
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: write rf busy swsi
...
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: write rf busy swsi
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: write rf busy swsi
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: timed out to flush pci txch: 0
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: timed out to flush pci txch: 1
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: timed out to flush pci txch: 2
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: timed out to flush pci txch: 3
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: timed out to flush pci txch: 8
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: timed out to flush pci txch: 9
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: timed out to flush pci txch: 0
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: timed out to flush pci txch: 1
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: timed out to flush pci txch: 2
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: timed out to flush pci txch: 3
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: timed out to flush pci txch: 8
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: timed out to flush pci txch: 9
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: FW does not process h2c registers
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: read rf busy swsi
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: read rf busy swsi
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: write rf busy swsi
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: write rf busy swsi
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: read rf busy swsi
nov 28 18:38:37 laufedorahp kernel: rtw89_8852be 0000:01:00.0: read rf busy swsi
...

Here is the output of lsmod:

lau@laufedorahp:~$ lsmod | grep rtw
rtw89_8852be           12288  0
rtw89_8852b           344064  1 rtw89_8852be
rtw89_8852b_common     69632  1 rtw89_8852b
rtw89_pci             114688  1 rtw89_8852be
rtw89_core            958464  3 rtw89_8852b,rtw89_pci,rtw89_8852b_common
mac80211             1773568  2 rtw89_core,rtw89_pci
cfg80211             1445888  3 rtw89_core,mac80211,rtw89_8852b_common

On one boot I found the following:

nov 28 18:12:13 laufedorahp kernel: rtw89_8852be 0000:01:00.0: failed to dump efuse dav physical map
nov 28 18:12:13 laufedorahp kernel: rtw89_8852be 0000:01:00.0: failed to setup chip information
nov 28 18:12:13 laufedorahp kernel: rtw89_8852be 0000:01:00.0: probe with driver rtw89_8852be failed with error -110
nov 28 18:16:24 laufedorahp kernel: rtw89_8852be 0000:01:00.0: loaded firmware rtw89/rtw8852b_fw-1.bin
nov 28 18:16:24 laufedorahp kernel: rtw89_8852be 0000:01:00.0: Unable to change power state from D3cold to D0, device inaccessible
nov 28 18:16:24 laufedorahp kernel: rtw89_8852be 0000:01:00.0: xtal si not ready(R): offset=41
nov 28 18:16:24 laufedorahp kernel: rtw89_8852be 0000:01:00.0: Firmware version 0.29.29.5 (da87cccd), cmd version 0, type 5
nov 28 18:16:24 laufedorahp kernel: rtw89_8852be 0000:01:00.0: Firmware version 0.29.29.5 (da87cccd), cmd version 0, type 3
nov 28 18:16:24 laufedorahp kernel: rtw89_8852be 0000:01:00.0: xtal si not ready(W): offset=90 val=10 mask=10
nov 28 18:16:24 laufedorahp kernel: rtw89_8852be 0000:01:00.0: failed to setup chip information
nov 28 18:16:24 laufedorahp kernel: rtw89_8852be 0000:01:00.0: probe with driver rtw89_8852be failed with error -110

All this happened on kernel 6.11.8.
Right now I’m on 6.11.6 and so far is working but I don’t know if it will continue to work.
I tried some module configs that were mentioned on some post with similar problems:

lau@laufedorahp:~$ cat /usr/lib/modprobe.d/70-rtw89.conf
options rtw89_pci disable_clkreq=y disable_aspm_l1=y disable_aspm_l1ss=y
options rtw89pci disable_clkreq=y disable_aspm_l1=y disable_aspm_l1ss=y

However the didn’t seem to fix the problem.
Does anybody know what the problem may be? I like this laptop, but this problem is making me nervous about the buy.
Thank you!

There is an error in kernel 6.11.x for this chip. There is also a patch, but for some reason (maybe it does not work everywhere, or maybe the guy who build the kernel wasn’t aware of it) it is not working on the fedora kernel. The link to the discussion with the patch is here:
https://lore.kernel.org/linux-wireless/20240924021633.19861-1-pkshih@realtek.com/T/#u

1 Like