Search Linux Wireless

Bug Report] wifi: rtw89: RTL8852BE fails to resume from suspend on kernel 6.14

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I'm reporting a bug with the rtw89 driver for Realtek RTL8852BE PCIe
WiFi on kernel 6.14.0-29-generic. The WiFi fails to resume from
suspend, requiring a reboot to regain connectivity.

Hardware:
- Device: Realtek Semiconductor Co., Ltd. RTL8852BE PCIe 802.11ax
Wireless Network Controller
- Subsystem: Hewlett-Packard Company RTL8852BE PCIe 802.11ax Wireless
Network Controller
- PCI ID: 01:00.0

Kernel Version:
Linux HP-Laptop 6.14.0-29-generic #29~24.04.1-Ubuntu SMP
PREEMPT_DYNAMIC Thu Aug 14 16:52:50 UTC 2 x86_64 x86_64 x86_64
GNU/Linux

Driver:
- Out-of-tree rtw89 driver from https://github.com/morrownr/rtw89
- Module: rtw89_8852be_git
- Firmware: rtw89/rtw8852b_fw-1.bin (version 0.29.128.0)

Steps to Reproduce:
1. Connect to a WiFi network.
2. Suspend the system: `systemctl suspend`
3. Resume the system.
4. WiFi is disconnected and does not reconnect automatically. Manual
reconnection fails until reboot.

Expected Behavior:
WiFi should reconnect after resume.

Actual Behavior:
WiFi remains disconnected. `iwconfig` or `nmcli` shows no connection.
Logs show no errors on resume, but the device is unresponsive.

Kernel Command Line:
BOOT_IMAGE=/boot/vmlinuz-6.14.0-29-generic
root=UUID=95dcee12-84fe-4ab6-a174-0de1f81679bc ro quiet splash
mem_sleep_default=deep pcie_aspm=off pci=noaer pci_port_pm=off
acpi_osi=Linux rtw89.disable_ps_mode=1 pci=noaer pcie_aspm=off
rtw89.debug_mask=0x0001 vt.handoff=7

Driver Config (/etc/modprobe.d/rtw89.conf):
#
# Configuration file for the out-of-kernel rtw89 drivers
#
# Link: https://github.com/morrownr/rtw89
#

options rtw89_core_git debug_mask=0x0
options rtw89_core_git disable_ps_mode=y

options rtw89_pci_git disable_clkreq=y
options rtw89_pci_git disable_aspm_l1=y
options rtw89_pci_git disable_aspm_l1ss=y

# Blacklist the in-kernel rtw89 drivers
blacklist rtw89_8851bu
blacklist rtw89_8851be
blacklist rtw89_8851b
blacklist rtw89_8852au
blacklist rtw89_8852ae
blacklist rtw89_8852a
blacklist rtw89_8852b_common
blacklist rtw89_8852bu
blacklist rtw89_8852be
blacklist rtw89_8852b
blacklist rtw89_8852bte
blacklist rtw89_8852bt
blacklist rtw89_8852cu
blacklist rtw89_8852ce
blacklist rtw89_8852c
blacklist rtw89_8922au
blacklist rtw89_8922ae
blacklist rtw89_8922a
blacklist rtw89_core
blacklist rtw89_usb
blacklist rtw89_pci

# Blacklist Larry's rtw89 drivers
blacklist rtw89core
blacklist rtw89pci
blacklist rtw_8851b
blacklist rtw_8851be
blacklist rtw_8852a
blacklist rtw_8852ae
blacklist rtw_8852b
blacklist rtw_8852be
blacklist rtw_8852c
blacklist rtw_8852ce
blacklist rtw_8922a

lspci -vvv Output for 01:00.0:
01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8852BE
PCIe 802.11ax Wireless Network Controller
        DeviceName: Realtek PCIe GBE Family Controller
        Subsystem: Hewlett-Packard Company RTL8852BE PCIe 802.11ax
Wireless Network Controller
        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, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 145
        IOMMU group: 12
        Region 0: I/O ports at 3000 [size=256]
        Region 2: Memory at 80500000 (64-bit, non-prefetchable) [size=1M]
        Capabilities: <access denied>
        Kernel driver in use: rtw89_8852be_git
        Kernel modules: rtw89_8852be, rtw89_8852be_git

dmesg | grep -i rtw89 Output:
[    0.000000] Command line:
BOOT_IMAGE=/boot/vmlinuz-6.14.0-29-generic
root=UUID=95dcee12-84fe-4ab6-a174-0de1f81679bc ro quiet splash
mem_sleep_default=deep pcie_aspm=off pci=noaer pci_port_pm=off
acpi_osi=Linux rtw89.disable_ps_mode=1 pci=noaer pcie_aspm=off
rtw89.debug_mask=0x0001 vt.handoff=7
[    0.033699] Kernel command line:
BOOT_IMAGE=/boot/vmlinuz-6.14.0-29-generic
root=UUID=95dcee12-84fe-4ab6-a174-0de1f81679bc ro quiet splash
mem_sleep_default=deep pcie_aspm=off pci=noaer pci_port_pm=off
acpi_osi=Linux rtw89.disable_ps_mode=1 pci=noaer pcie_aspm=off
rtw89.debug_mask=0x0001 vt.handoff=7
[    3.261978] rtw89_core_git: loading out-of-tree module taints kernel.
[    3.261986] rtw89_core_git: module verification failed: signature
and/or required key missing - tainting kernel
[    3.716552] rtw89_8852be_git 0000:01:00.0: loaded firmware
rtw89/rtw8852b_fw-1.bin
[    3.716635] rtw89_8852be_git 0000:01:00.0: enabling device (0000 -> 0003)
[    3.718487] rtw89_8852be_git 0000:01:00.0: git commit
[    3.724889] rtw89_8852be_git 0000:01:00.0: Firmware version
0.29.128.0 (418a672d), cmd version 0, type 5
[    3.724901] rtw89_8852be_git 0000:01:00.0: Firmware version
0.29.128.0 (418a672d), cmd version 0, type 3
[    4.017001] rtw89_8852be_git 0000:01:00.0: chip rfe_type is 1
[    4.046776] rtw89_8852be_git 0000:01:00.0: rfkill hardware state
changed to enable
[    4.079934] rtw89_8852be_git 0000:01:00.0 wlo1: renamed from wlan0

Additional Notes:
- This issue appears to have started with kernel 6.6+ due to changes
in PCIe power management.
- Disabling power save mode and ASPM in the driver config did not resolve it.
- The out-of-tree driver is used to avoid issues with the in-kernel version.
- Tested on kernels 6.5 and 6.14 with the same result.

Please investigate and provide a fix. Let me know if you need more information.

Thanks,
Nader




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux