RTL8852BE wifi sleep resume problem

ENVIRONMENT:

  • OS: Fedora Linux (KDE Plasma) 44
  • Kernel: Latest stable Fedora Kernel
  • Hardware: lenovo ideapad pro i9 ( 14IAH10) 83JK002GAD
  • CPU: Intel Core Ultra 285H
  • Network Controller: Realtek Semiconductor Co., Ltd. RTL8852BE PCIe 802.11ax Wireless Network Controller
  • Kernel driver in use: rtw89_8852be

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. Only a full hard reboot temporarily fixes the issue.

I used to solve this problem by AI made script before for resume but lost it. when I reinstalled fedorra I couldn’t fix.

Please help. I came back for fedora a month ago after having used it for a 3 years but 17 years ago.
Actually I am glad I am back

The AI was likely referencing the following page:

Here’s the code that was on that page:

#!/bin/sh

case "$1" in
    pre)
	modprobe -r rtw89_8852ce
	echo "we are suspending at $(date)..." > /tmp/systemd_suspend_rtw_driver
   	;;
    post)
        modprobe rtw89_8852ce
        ;;
esac

The blog post shows how they have put a bash script in /usr/lib/systemd/system-sleep to unload the kernel module for the card. If you decide to use this please be mindful to change the driver name as indicated in the blog post.

This is the one I used an hour ago and didn’t work

#!/bin/bash
case "$1" in
  pre)
    systemctl stop NetworkManager
    ip link set wlp1s0 down 2>/dev/null
    rfkill block wifi
    ;;
  post)
    modprobe rtw89_core 2>/dev/null
    modprobe rtw89_pci 2>/dev/null
    modprobe rtw89_8852be 2>/dev/null
    rfkill unblock wifi
    systemctl start NetworkManager
    ;;
esac

The easy means to test this is after a wake from sleep, I’d do the following:

sudo modprobe -r rtw89_8852be

then

sudo modprobe rtw89_8852be

This guide worked flawlessly

Glad you found a solution! Don’t forget to mark this resolved so others can resolve this issue too.