lwfinger/rtw89

rtw89_8852be doesn't work as expected

Saxtr0 opened this issue · 3 comments

Saxtr0 commented

Hello everyone,
i have this card 03:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device b852 on a laptop i don't use every day.
I use it just when i'm not at home, so i'm not sure starting from which kernel this device stopped working properly.

I'm using OpenSUSE Tumbleweed. Usually i power on this device once in a week to update, to sync my nextcloud files, and to check everything i need is working. So, no intense testing. I notice this behaviour during my last travel, the network was really unreliable i was forced to use my 4G device via usb cable.

I read somewhere this issue happens when the device switch from 2.4 to 5GHz, so i've assigned two different names to 2.4GHz and 5GHz but issue is still there.

This is my laptop:

BIOS Information
        Vendor: HP
        Version: U85 Ver. 01.07.00
        Release Date: 03/24/2023
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 32 MB
        Characteristics:
                PCI is supported
                PC Card (PCMCIA) is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                ACPI is supported
                USB legacy is supported
                Smart battery is supported
                BIOS boot specification is supported
                Function key-initiated network boot is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 7.0
        Firmware Revision: 33.97

Handle 0x0014, DMI type 1, 27 bytes
System Information
        Manufacturer: HP
        Product Name: HP ProBook 440 14 inch G9 Notebook PC
        Version:  
        Serial Number: xxxxxxx
        UUID: xxxxxxxxx
        Wake-up Type: Power Switch
        SKU Number: xxxxxxx
        Family: 103C_5336AN HP ProBook

This is my realtek card:

03:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device b852
        Subsystem: Hewlett-Packard Company Device 88e3
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 147
        Region 0: I/O ports at 4000 [size=256]
        Region 2: Memory at 80900000 (64-bit, non-prefetchable) [size=1M]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
                Address: 00000000fee005b8  Data: 0000
        Capabilities: [70] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 <64us
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 10W
                DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop- FLReset-
                        MaxPayload 256 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-
                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <4us, L1 <64us
                        ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
                        ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s, Width x1
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Not Supported, TimeoutDis+ NROPrPrP- LTR+
                         10BitTagComp- 10BitTagReq- OBFF Via message/WAKE#, ExtFmt- EETLPPrefix-
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS- TPHComp- ExtTPHComp-
                         AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ 10BitTagReq- OBFF Disabled,
                         AtomicOpsCtl: ReqEn-
                LnkCap2: Supported Link Speeds: 2.5GT/s, Crosslink- Retimer- 2Retimers- DRS-
                LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
                         EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
                         Retimer- 2Retimers- CrosslinkRes: unsupported
        Capabilities: [100 v2] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
                AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000
        Capabilities: [148 v1] Device Serial Number 00-e0-4c-ff-fe-88-52-01
        Capabilities: [158 v1] Latency Tolerance Reporting
                Max snoop latency: 3145728ns
                Max no snoop latency: 3145728ns
        Capabilities: [160 v1] L1 PM Substates
                L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
                          PortCommonModeRestoreTime=30us PortTPowerOnTime=60us
                L1SubCtl1: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+
                           T_CommonMode=0us LTR1.2_Threshold=106496ns
                L1SubCtl2: T_PwrOn=60us
        Kernel driver in use: rtw89_8852be
        Kernel modules: rtw89_8852be, rtw_8852be

The errors i'm facing is:

rtw89_8852be 0000:03:00.0: timed out to flush queues

What i did try until now is:

  • rebuild the module from scratch from this git repository
  • add those options to the modules:
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

The firmware i'm using is:

[    9.929422] rtw89_8852be 0000:03:00.0: Direct firmware load for rtw89/rtw8852b_fw-1.bin failed with error -2
[    9.929522] rtw89_8852be 0000:03:00.0: Direct firmware load for rtw89/rtw8852b_fw.bin failed with error -2
[    9.929529] rtw89_8852be 0000:03:00.0: failed to early request firmware: -2
[    9.929765] rtw89_8852be 0000:03:00.0: enabling device (0000 -> 0003)
[    9.961473] rtw89_8852be 0000:03:00.0: Firmware version 0.27.32.1, cmd version 0, type 1
[    9.961494] rtw89_8852be 0000:03:00.0: Firmware version 0.27.32.1, cmd version 0, type 3
[   10.249367] rtw89_8852be 0000:03:00.0: chip rfe_type is 1
[   10.289346] rtw89_8852be 0000:03:00.0 wlp3s0: renamed from wlan0

Do you have any other suggestion?

Thank you

edit:
This is my modprobe infos from loaded kernel modules:

<hostname>:~ # lsmod | grep rtw
rtw_8852be             12288  0
rtw_8852b             360448  1 rtw_8852be
rtw89pci               86016  1 rtw_8852be
rtw89core             643072  2 rtw89pci,rtw_8852b
mac80211             1527808  2 rtw89pci,rtw89core
cfg80211             1277952  3 rtw89core,mac80211,rtw_8852b
<hostname>:~ # modinfo rtw_8852be
filename:       /usr/lib/modules/6.4.3-1-default/kernel/drivers/net/wireless/realtek/rtw89/rtw_8852be.ko
license:        Dual BSD/GPL
description:    Realtek 802.11ax wireless 8852BE driver
author:         Realtek Corporation
suserelease:    openSUSE Tumbleweed
srcversion:     87FC3D1B28540DD0400027C
alias:          pci:v000010ECd0000B85Bsv*sd*bc*sc*i*
alias:          pci:v000010ECd0000B852sv*sd*bc*sc*i*
depends:        rtw89pci,rtw_8852b
retpoline:      Y
name:           rtw_8852be
vermagic:       6.4.3-1-default SMP preempt mod_unload modversions 
sig_id:         PKCS#7
signer:         Custom MOK
sig_key:        7F:F5:C7:A4:27:11:7C:B8:D0:CD:67:57:1F:2E:B8:78:74:13:10:C9
sig_hashalgo:   sha256
signature:      89:5B:D7:1B:B9:A7:44:CF:BB:49:84:3C:CF:56:C2:FF:E3:5B:8D:CB:
                60:F7:3A:DB:AF:08:EA:92:6D:D8:10:A4:87:13:C6:59:A1:94:A8:38:
                84:5A:6A:00:AC:72:6A:CC:0D:C3:F0:2A:40:59:2D:5A:29:E7:47:90:
                1F:D7:AA:E6:FA:2F:14:95:DF:F4:70:28:0A:DD:01:81:04:43:7D:D5:
                92:BB:8B:5C:E9:CA:AB:71:E5:6F:E8:0B:AF:B9:0F:D4:3D:79:41:14:
                D7:1C:FE:02:BE:B1:54:B3:23:BD:1F:0D:11:2F:54:8B:65:9F:CE:F2:
                1C:08:9E:BC:43:0D:D3:A8:E5:3F:42:01:AF:6A:5D:B3:1F:AB:06:02:
                B3:63:25:5A:41:0F:22:51:83:77:7A:51:88:80:15:4D:86:E4:42:14:
                A2:9D:E6:CA:5D:2E:87:41:BA:CD:AD:DE:5B:C6:7F:45:FA:97:8E:1B:
                AD:DF:6B:97:FB:5E:6A:FA:50:A3:AE:2D:46:C0:0E:35:18:3E:3F:71:
                9C:F6:56:5F:0D:CC:56:2C:34:00:C6:C7:14:CA:78:65:6A:57:0B:02:
                1C:B8:49:15:47:E5:5D:A3:3F:69:1F:D9:DB:E3:85:35:34:E1:53:1B:
                2A:14:F1:F3:6D:BF:9C:CB:CB:65:63:FA:2B:B4:A9:D5
<hostname>:~ # modinfo rtw89pci
filename:       /usr/lib/modules/6.4.3-1-default/kernel/drivers/net/wireless/realtek/rtw89/rtw89pci.ko
license:        Dual BSD/GPL
description:    Realtek 802.11ax wireless PCI driver
author:         Realtek Corporation
suserelease:    openSUSE Tumbleweed
srcversion:     847DB8B472043A2DC0FA52A
depends:        rtw89core,mac80211
retpoline:      Y
name:           rtw89pci
vermagic:       6.4.3-1-default SMP preempt mod_unload modversions 
sig_id:         PKCS#7
signer:         Custom MOK
sig_key:        7F:F5:C7:A4:27:11:7C:B8:D0:CD:67:57:1F:2E:B8:78:74:13:10:C9
sig_hashalgo:   sha256
signature:      67:38:EF:71:C1:2C:0D:B9:9C:E9:70:7D:AB:46:96:02:17:0B:E3:61:
                D3:A2:2D:C7:E5:45:C0:32:32:2F:09:3B:4B:AB:4F:68:B3:21:40:58:
                11:4C:2D:D0:B3:97:FA:82:21:A0:50:12:0D:75:D7:64:25:A3:4B:DE:
                3A:48:52:49:8A:17:F1:0C:F2:54:7B:50:BA:F1:04:7C:E8:55:F2:B7:
                2A:B8:EF:6B:59:C6:0B:78:02:CC:20:4D:E4:F2:85:66:01:A3:D7:7A:
                01:73:F4:67:0B:CC:69:7D:34:F5:A7:13:B0:F1:A6:70:AF:92:C0:0C:
                B2:77:42:C6:A7:64:A6:B1:AE:BA:0D:AE:B1:84:36:F1:0E:8C:1A:A0:
                78:57:66:70:77:F2:B7:5A:88:A2:53:81:D4:53:AB:7C:FD:22:85:9C:
                2E:F4:70:1F:01:F6:6A:11:61:DC:C0:55:77:EA:F2:6E:35:DB:50:87:
                95:66:9C:C8:9A:38:D4:76:C9:52:98:A9:41:E5:0B:C3:5B:07:CD:89:
                92:BA:9A:AA:28:71:11:CB:03:FC:2A:38:40:CF:EA:C7:0C:E6:63:E3:
                E1:FE:FA:51:E2:EB:D5:E1:6D:6C:6B:CD:45:AD:F4:9F:8A:28:AD:14:
                B2:14:66:93:55:17:31:47:31:30:29:ED:5A:2F:97:82
parm:           disable_clkreq:Set Y to disable PCI clkreq support (bool)
parm:           disable_aspm_l1:Set Y to disable PCI ASPM L1 support (bool)
parm:           disable_aspm_l1ss:Set Y to disable PCI L1SS support (bool)
<hostname>:~ # modinfo rtw89core
filename:       /usr/lib/modules/6.4.3-1-default/kernel/drivers/net/wireless/realtek/rtw89/rtw89core.ko
license:        Dual BSD/GPL
description:    Realtek 802.11ax wireless core module
author:         Realtek Corporation
suserelease:    openSUSE Tumbleweed
srcversion:     2580CB250253F017575FCE6
depends:        mac80211,cfg80211
retpoline:      Y
name:           rtw89core
vermagic:       6.4.3-1-default SMP preempt mod_unload modversions 
sig_id:         PKCS#7
signer:         Custom MOK
sig_key:        7F:F5:C7:A4:27:11:7C:B8:D0:CD:67:57:1F:2E:B8:78:74:13:10:C9
sig_hashalgo:   sha256
signature:      3B:10:94:07:E3:90:F6:3C:11:B1:24:4B:9F:77:4A:1E:81:FF:CE:2C:
                6E:B0:4D:02:93:0C:7D:D7:48:F4:A6:7F:B4:03:58:AC:E0:97:2C:2C:
                32:B9:FF:F4:34:39:C1:46:6A:E7:97:57:AE:A1:87:DE:44:94:F6:89:
                C2:E6:11:4D:D6:BC:75:2F:86:57:61:04:02:E3:76:91:93:56:BC:CA:
                A7:E7:A6:80:F8:51:88:F4:A2:5A:6E:9F:F5:F3:9F:F3:B5:CE:70:E9:
                28:5C:45:DC:C7:3B:F9:62:F4:46:A4:9F:1F:C9:34:2C:99:E6:E3:D9:
                78:79:17:81:39:03:69:E8:56:4E:33:5D:1A:9E:F6:73:78:F5:AE:3C:
                CC:EF:76:22:9B:F4:B7:B8:37:6A:6A:97:A0:3F:48:B8:E4:8E:EA:AC:
                44:E5:F5:A2:6C:32:96:F8:01:B2:78:BB:CC:97:B1:B8:54:9C:02:1A:
                06:47:17:EE:26:DE:7B:9A:9B:BF:9B:77:3A:C3:3F:09:48:6B:34:A7:
                95:06:82:AF:9A:FB:94:B0:BC:49:CD:93:6C:43:58:20:5E:14:C7:02:
                52:C1:07:9D:44:FA:B8:9B:65:39:C0:D5:84:0E:49:3C:25:39:6A:9C:
                00:47:1B:35:64:C4:D3:21:8A:A9:48:D6:A9:B5:68:2F
parm:           debug_mask:Debugging mask (uint)
parm:           disable_ps_mode:Set Y to disable low power mode (bool)
<hostname>:~ # modinfo rtw_8852b
filename:       /usr/lib/modules/6.4.3-1-default/kernel/drivers/net/wireless/realtek/rtw89/rtw_8852b.ko
license:        Dual BSD/GPL
description:    Realtek 802.11ax wireless 8852B driver
author:         Realtek Corporation
firmware:       rtw89/rtw8852b_fw-1.bin
suserelease:    openSUSE Tumbleweed
srcversion:     3ABF818D016051CBE444B4F
depends:        cfg80211,rtw89core
retpoline:      Y
name:           rtw_8852b
vermagic:       6.4.3-1-default SMP preempt mod_unload modversions 
sig_id:         PKCS#7
signer:         Custom MOK
sig_key:        7F:F5:C7:A4:27:11:7C:B8:D0:CD:67:57:1F:2E:B8:78:74:13:10:C9
sig_hashalgo:   sha256
signature:      AD:E7:58:C6:8F:FC:AA:86:F3:A2:12:47:EE:02:2A:99:DC:91:DE:F7:
                A1:3A:5C:1A:32:D6:73:80:0C:0B:7B:ED:BB:C2:C9:73:FB:09:79:DF:
                D4:27:9B:26:77:7D:28:52:A6:83:30:9F:C5:52:4B:DD:B4:75:C7:FB:
                20:52:78:BF:BC:5D:DB:F6:BE:AD:53:0B:D6:48:A1:8A:7E:C7:B0:69:
                7A:FB:27:A9:29:9C:47:BB:7F:7B:A7:F5:E1:81:61:F7:4B:BE:6E:BD:
                78:BE:2C:F0:93:C4:D1:B1:25:87:8E:78:C1:29:BF:AD:FF:FF:56:33:
                F6:81:F3:8D:10:AD:A8:5D:D5:E8:A7:E0:01:30:AF:5F:E2:C0:76:92:
                5D:D9:C0:EC:E9:15:AD:8D:19:A1:40:F0:47:4E:93:CF:D4:08:BD:9D:
                05:28:3C:EB:14:00:FC:ED:F7:36:33:A7:7A:98:DB:22:41:6A:13:18:
                FF:C2:C4:43:C9:29:35:27:EE:4F:AA:5F:DB:60:A5:7F:17:FD:3B:A3:
                09:C0:F3:CE:10:DB:80:19:C4:94:37:F4:78:40:2E:86:D8:E7:11:CE:
                85:33:3F:DE:56:F5:F9:1A:51:81:48:56:AC:EF:82:FD:FD:27:C5:19:
                2A:61:8E:4A:68:81:F9:29:43:5B:D0:13:A3:09:4B:37

There are some problems with compressed firmware (.xz) in loading firmware (https://bugzilla.suse.com/show_bug.cgi?id=1212808). We are working on this problem. You can eliminate it by decompressing the openSUSE-supplied firmware, or by downloading the uncompressed files from https://lwfinger.com/download and saving them in /lib/firmware/rtw89/.

The only other suggestioon I have is for you to install the version 0.29 firmware. The filename is /lib/firmware/rtw89/rtw8852b_fw-1.bin. It does make it better. Those module options do not address your problem, and should be eliminated unless other problems appear.

ScaMar commented

I am now using the module provided by the kernel 6.4.8-1-default on

LSB Version:    n/a
Distributor ID: openSUSE
Description:    openSUSE Tumbleweed
Release:        20230809
Codename:       n/a

I was forced to set option options rtw89_core disable_ps_mode=y due to unable to leave ps mode error (and all sort of the following ones).
It seems working fine now, i will report errors if any.
Also i am using the firmware provided by OpenSuse. At the end of my sessions the only lines i can read in messages file are:

# dmesg | grep rtw
[    6.525138] rtw89_8852be 0000:03:00.0: loaded firmware rtw89/rtw8852b_fw-1.bin
[    6.525287] rtw89_8852be 0000:03:00.0: enabling device (0000 -> 0003)
[    6.528049] rtw89_8852be 0000:03:00.0: Firmware version 0.29.29.1, cmd version 0, type 5
[    6.528054] rtw89_8852be 0000:03:00.0: Firmware version 0.29.29.1, cmd version 0, type 3
[    6.854223] rtw89_8852be 0000:03:00.0: chip rfe_type is 1
[    6.890579] rtw89_8852be 0000:03:00.0 wlp3s0: renamed from wlan0

Regards

As it is working, I will close this issue.