lwfinger/rtw89

6.6.2-201 kernel driver not working correctly

chitudorin opened this issue · 6 comments

Perhaps this is not the place to open this issue, but maybe I can get some advice. As per #285 you said there is no reason to use this driver, but the drivers in the 6.6.2-201 kernel are semi-not working for me.

I am using Fedora 39 with this kernel and after a restart everything was looking good, the Wi-Fi worked out of the box. After checking dmesg, this is the output:

$ dmesg | grep rtw
[   13.941723] rtw89_8852be 0000:01:00.0: loaded firmware rtw89/rtw8852b_fw-1.bin
[   13.941788] rtw89_8852be 0000:01:00.0: enabling device (0000 -> 0003)
[   13.943083] rtw89_8852be 0000:01:00.0: Firmware version 0.29.29.5 (da87cccd), cmd version 0, type 5
[   13.943087] rtw89_8852be 0000:01:00.0: Firmware version 0.29.29.5 (da87cccd), cmd version 0, type 3
[   14.226418] rtw89_8852be 0000:01:00.0: chip rfe_type is 1
[   14.284283] rtw89_8852be 0000:01:00.0 wlo1: renamed from wlan0

Though, after a while, the Wi-Fi suddenly stopped working and this was dmesg's output:

$ dmesg | grep rtw
[  918.025658] rtw89_8852be 0000:01:00.0: read rf busy swsi
[  918.025721] rtw89_8852be 0000:01:00.0: read rf busy swsi
...
...
[  921.907053] rtw89_8852be 0000:01:00.0: write rf busy swsi
[  921.913066] rtw89_8852be 0000:01:00.0: FW does not process h2c registers
[  921.913068] rtw89_8852be 0000:01:00.0: HW scan failed with status: -110
...
...
[  923.018360] rtw89_8852be 0000:01:00.0: Update probe request failed
[  923.128104] rtw89_8852be 0000:01:00.0: FW does not process h2c registers
[  923.194607] rtw89_8852be 0000:01:00.0: write rf busy swsi
[  923.194669] rtw89_8852be 0000:01:00.0: read rf busy swsi
[  923.194730] rtw89_8852be 0000:01:00.0: write rf busy swsi
[  923.200062] rtw89_8852be 0000:01:00.0: FW does not process h2c registers
[  923.200064] rtw89_8852be 0000:01:00.0: HW scan failed with status: -110
[  923.686101] rtw89_8852be 0000:01:00.0: xtal si not ready(W): offset=90 val=10 mask=10
[  923.757102] rtw89_8852be 0000:01:00.0: xtal si not ready(W): offset=90 val=10 mask=10
[  923.757106] rtw89_8852be 0000:01:00.0: mac init fail, ret:-110

This is lsmod's output:

$ lsmod | grep rtw
rtw89_8852be           12288  0
rtw89_8852b           360448  1 rtw89_8852be
rtw89_pci              81920  1 rtw89_8852be
rtw89_core            544768  2 rtw89_8852b,rtw89_pci
mac80211             1572864  2 rtw89_core,rtw89_pci
cfg80211             1331200  3 rtw89_8852b,rtw89_core,mac80211

and this is lspci's:

$ lspci | grep Realtek
01:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device b852

Forgot to mention that I'm using an HP laptop.

After reading through #240 I've disabled "Adaptive Battery Saving" in the BIOS. Will come back if it happens again.

Still the same problem, now it won't even work after a reboot, so it may not be related to that battery saving setting.

The 2nd fix, regarding the module options doesn't work either:

$ dmesg | grep rtw
[   16.174879] rtw89_8852be 0000:01:00.0: loaded firmware rtw89/rtw8852b_fw-1.bin
[   16.175199] rtw89_8852be 0000:01:00.0: enabling device (0000 -> 0003)
[   16.177197] rtw89_8852be 0000:01:00.0: Firmware version 0.29.29.5 (da87cccd), cmd version 0, type 5
[   16.177201] rtw89_8852be 0000:01:00.0: Firmware version 0.29.29.5 (da87cccd), cmd version 0, type 3
[   16.177207] rtw89_8852be 0000:01:00.0: MAC has already powered on
[   16.631180] rtw89_8852be 0000:01:00.0: xtal si not ready(R): offset=63
[   16.681190] rtw89_8852be 0000:01:00.0: xtal si not ready(R): offset=63
[   16.731239] rtw89_8852be 0000:01:00.0: xtal si not ready(R): offset=63

Though I used modprobe -rv rtw89_8852be instead of modprobe -rv rtw_8852be since the module modprobe -rv rtw_8852be couldn't be found.

# modprobe -rv rtw89_8852be
rmmod rtw89_8852be
rmmod rtw89_pci
rmmod rtw89_8852b

# modprobe -v rtw89_8852be
insmod /lib/modules/6.6.2-201.fc39.x86_64/kernel/drivers/net/wireless/realtek/rtw89/rtw89_pci.ko.xz disable_clkreq=y disable_aspm_l1=y disable_aspm_l1ss=y 
insmod /lib/modules/6.6.2-201.fc39.x86_64/kernel/drivers/net/wireless/realtek/rtw89/rtw89_8852b.ko.xz 
insmod /lib/modules/6.6.2-201.fc39.x86_64/kernel/drivers/net/wireless/realtek/rtw89/rtw89_8852be.ko.xz

Turn off fast boot in the BIOS. That leaves the interface in a faulty condition, which needs a power-off.

With HP laptops, you need to add "disable_aspm_l1=y disable_aspm_l1ss=y" to your options file for rtw89_pci. Late-model HP and Lenovo laptops have faulty BIOS code. I think you can remove the "disable_clk" as it appears not to end with an "=y", and it will do nothing.

I have a 10-year old Toshiba laptop, and rhe 8852be driver works fine. I do not know why HP and Lenovo cannot meet the PCIe specs!!

There is no fastboot option in the BIOS as far as I can see and couldn't find anything online about it either. Found a thread saying it should appear after setting an administrator password but no luck. I reset the security and configuration settings to default, currently the wifi works after booting up.

I did set those module options (disable_clkreq does end up with an "=y" as it can be seen in my last reply, maybe you didn't scroll horizontally to see it).

Seems like factory resetting the BIOS settings worked, so I'll close this now.

For SEO purposes I will let these here:

Laptop model: HP Pavilion 14-ec0018nq
CPU: Ryzen 5 5265U
OS: Fedora 39