ENVIRONMENT:
- OS: Fedora Linux (KDE Plasma)
- Kernel: Latest stable Fedora Kernel
- Hardware: HP 15.6 inch Laptop PC 15-fd1000
- CPU: Intel Core Ultra (Meteor Lake-P)
- Network Controller: Realtek RTL8852BE-VT PCIe 802.11ax (10ec:b520)
- Kernel Driver:
rtw89_8852bte
THE PROBLEM:
Upon resuming the system from sleep (s2idle/S3), the Realtek Wi-Fi card is completely dead. NetworkManager cannot see any networks or interfaces. The card fails to wake up from its sleep state, and the kernel logs show a continuous loop of firmware/hardware initialization failures, specifically pointing to a dead crystal oscillator. Only a full hard reboot temporarily fixes the issue.
dmesg ERROR LOG (Post-Resume):
[ 100.573505] rtw89_8852bte 0000:01:00.0: xtal si not ready(W): offset=90 val=10 mask=10
[ 100.594452] rtw89_8852bte 0000:01:00.0: mac preinit fail, ret: -110
[ 100.666502] rtw89_8852bte 0000:01:00.0: xtal si not ready(W): offset=90 val=10 mask=10
[ 100.687448] rtw89_8852bte 0000:01:00.0: mac preinit fail, ret: -110
TROUBLESHOOTING STEPS ALREADY ATTEMPTED (ALL FAILED):
-
Modprobe ASPM / PS Mode Disablement:
Created/etc/modprobe.d/rtw89.confwith:
options rtw89_pci disable_aspm_l1=y disable_aspm_l1ss=y
options rtw89_core disable_ps_mode=y
Result: Failed. Hardware still panics on resume. -
Bootloader PCIe ASPM Override:
Injectedpcie_aspm=offvia Grubby to force the entire board to ignore ASPM.
Result: Failed. Issue persists. -
Systemd Sleep Hook (PCI Unbind/Bind):
Created a hook to force an unbind of the PCI busecho "0000:01:00.0" > /sys/bus/pci/drivers/rtw89_8852bte/unbindpre-sleep, andbindpost-sleep to force a cold boot of the card.
Result: Failed. -
Manual SysFS PCI Device Removal and Rescan (Offline test):
While the card was in the dead state, executed:
echo 1 | sudo tee /sys/bus/pci/devices/0000:01:00.0/remove
echo 1 | sudo tee /sys/bus/pci/rescan
Result: Failed. The PCI bus rescan successfully executes, but the motherboard refuses to send power back to the M.2 slot. The card remains completely dead.
ESCALATION & CONCLUSION:
I have exhausted all standard systemd, sysfs, and modprobe resets. The HP motherboard is aggressively cutting power to the PCIe port and ignoring the standard ACPI wake calls, leaving the module paralyzed.
Are there any undocumented GRUB kernel parameters (e.g., related to acpi_osi, pci=noacpi, or strict PCIe power masks) that can force the kernel to ignore the broken HP ACPI tables and re-energize the M.2 port manually? Or is a physical card swap to an Intel AX210 the absolute only architectural solution for this specific Realtek/HP combo?
Edit: I have also noticed that users with HP Spectre Core Ultra laptops and Intel BE200 cards are suffering from identical PCIe power cuts on resume, proving this is a widespread HP BIOS/ACPI defect across their entire Meteor Lake lineup, not just isolated to Realtek.