Intel WiFi (ax210) not coming out of deep sleep state

I decided to repair a dell laptop (Dell XPS 9560) that the screen had gone bad a couple years ago. Was using it as a linux laptop at the time and doing the same again. Decided to do a fresh install and everything seemed to work properly until I unplugged the system and let it sleep. At that point when waking up the system resulted in my inability to connect to wifi, restarting network services would not resovle the issue. Looking at the logs I saw a message related to a deep sleep state s3, so I went to the bios disabled that sleep state and the problem went away, but the issue turned into the battery getting drained while sleeping since it wouldnt enter a deep sleep.

Looking around I found some hacks using sleep scripts that allow for it to work, which essentially unloads and the reloads the intelwifi at sleep and wake times. This is the solution I am currently going with, but it seems like a bit of a hack. Was wondering if there is a better solution that anyone has found, I searched the forums but didnt find much so here I am.

Release info:

# VERSION="20240930"
ID="opensuse-tumbleweed"
ID_LIKE="opensuse suse"
VERSION_ID="20240930"
PRETTY_NAME="openSUSE Tumbleweed"
ANSI_COLOR="0;32"
# CPE 2.3 format, boo#1217921
CPE_NAME="cpe:2.3:o:opensuse:tumbleweed:20240930:*:*:*:*:*:*:*"
#CPE 2.2 format
#CPE_NAME="cpe:/o:opensuse:tumbleweed:20240930"
BUG_REPORT_URL="https://bugzilla.opensuse.org"
SUPPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org"
DOCUMENTATION_URL="https://en.opensuse.org/Portal:Tumbleweed"
LOGO="distributor-logo-Tumbleweed"

How I resolved the issue. Created a script in /usr/lib/systemd/system-sleep/ called iwifi which contains

#!/bin/sh

case "$1" in
    post)
        /usr/sbin/modprobe iwlwifi
        /usr/sbin/modprobe iwlmvm
        ;;
    pre)
        /usr/sbin/rmmod iwlmvm
        /usr/sbin/rmmod iwlwifi
        ;;

esac

As I said this works, but was wondering if there was a better solution to the problem.

1 Like

Problems related to sleep/resume regularly occur with any hardware at any time. Users are indeed best off with unloading and loading again modules causing the trouble. A “Intel Corporation Wi-Fi 6E(802.11ax) AX210/AX1675* 2x2 [Typhoon Peak] (rev 1a)” worked fine until upgrading to kernel 6.11.

No scripting needed. The following lines in the dropin file fix the issue:

# /etc/systemd/system/systemd-suspend.service.d/override.conf
[Service]
ExecStartPre=/usr/sbin/rmmod iwlmvm iwlwifi
ExecStartPost=/usr/sbin/modprobe iwlmvm iwlwifi
2 Likes

Thank you very much for supplying this fix. It works a treat!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.