Wi-Fi not working after resuming from sleep

Hello.
I have problem with Wi-Fi on my laptop. After boot Wi-Fi works fine but when I susped and wake up my laptop from sleep, Wi-Fi no longer works.

  • laptop: HP Omen 15-en0000nc
  • OS: Fedora Workstation 42
  • kernel: 6.14.6-300.fc42.x86_64
  • Wi-Fi card: Wi-Fi 6 Intel AX200

Output of inxi -SMGN:

System:
  Host: fedora Kernel: 6.14.6-300.fc42.x86_64 arch: x86_64 bits: 64
  Desktop: GNOME v: 48.1 Distro: Fedora Linux 42 (Workstation Edition)
Machine:
  Type: Laptop System: HP product: OMEN Laptop 15-en0xxx v: N/A
    serial: <superuser required>
  Mobo: HP model: 8788 v: 22.54 serial: <superuser required> UEFI: AMI
    v: F.07 date: 09/16/2020
Graphics:
  Device-1: NVIDIA TU117M [GeForce GTX 1650 Ti Mobile] driver: nvidia
    v: 570.144
  Device-2: Advanced Micro Devices [AMD/ATI] Renoir [Radeon Vega Series /
    Radeon Mobile Series] driver: amdgpu v: kernel
  Device-3: Chicony HP Wide Vision HD Camera driver: uvcvideo type: USB
  Display: wayland server: X.Org v: 24.1.6 with: Xwayland v: 24.1.6
    compositor: gnome-shell driver: X: loaded: amdgpu,nvidia
    unloaded: modesetting,nouveau,radeon dri: radeonsi gpu: amdgpu
    resolution: 1920x1080~144Hz
  API: OpenGL v: 4.6 vendor: amd mesa v: 25.0.4 renderer: AMD Radeon
    Graphics (radeonsi renoir ACO DRM 3.61 6.14.6-300.fc42.x86_64)
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
  Info: Tools: api: glxinfo gpu: nvidia-settings,nvidia-smi
    wl: swaymsg,wdisplays x11: xdriinfo, xdpyinfo, xprop, xrandr
Network:
  Device-1: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    driver: r8169
  Device-2: Intel Wi-Fi 6 AX200 driver: iwlwifi

Part of output of dmesg after resuming from sleep that seems relevant:

[  293.138435] iwlwifi 0000:03:00.0: Error sending MCC_UPDATE_CMD: time out after 2000ms.
[  293.138452] iwlwifi 0000:03:00.0: Current CMD queue read_ptr 12 write_ptr 13
[  293.138734] iwlwifi 0000:03:00.0: HCMD_ACTIVE already clear for command MCC_UPDATE_CMD
[  293.140304] iwlwifi 0000:03:00.0: Start IWL Error Log Dump:
[  293.140307] iwlwifi 0000:03:00.0: Transport status: 0x0000004A, valid: 6
[  293.140311] iwlwifi 0000:03:00.0: Loaded firmware version: 77.f31a351f.0 cc-a0-77.ucode
[  293.140314] iwlwifi 0000:03:00.0: 0x00000084 | NMI_INTERRUPT_UNKNOWN       
[  293.140318] iwlwifi 0000:03:00.0: 0x00A0A2B0 | trm_hw_status0
[  293.140321] iwlwifi 0000:03:00.0: 0x00000000 | trm_hw_status1
[  293.140324] iwlwifi 0000:03:00.0: 0x004F8D82 | branchlink2
[  293.140327] iwlwifi 0000:03:00.0: 0x004EEDD2 | interruptlink1
[  293.140330] iwlwifi 0000:03:00.0: 0x004EEDD2 | interruptlink2
[  293.140332] iwlwifi 0000:03:00.0: 0x00015332 | data1
[  293.140335] iwlwifi 0000:03:00.0: 0x01000000 | data2
[  293.140338] iwlwifi 0000:03:00.0: 0x00000000 | data3
[  293.140341] iwlwifi 0000:03:00.0: 0x00000000 | beacon time
[  293.140344] iwlwifi 0000:03:00.0: 0x00286FBF | tsf low
[  293.140347] iwlwifi 0000:03:00.0: 0x00000000 | tsf hi
[  293.140349] iwlwifi 0000:03:00.0: 0x00000000 | time gp1
[  293.140352] iwlwifi 0000:03:00.0: 0x0028DA65 | time gp2
[  293.140355] iwlwifi 0000:03:00.0: 0x00000001 | uCode revision type
[  293.140358] iwlwifi 0000:03:00.0: 0x0000004D | uCode version major
[  293.140361] iwlwifi 0000:03:00.0: 0xF31A351F | uCode version minor
[  293.140373] iwlwifi 0000:03:00.0: 0x00000340 | hw version
[  293.140376] iwlwifi 0000:03:00.0: 0x00C89000 | board version
[  293.140379] iwlwifi 0000:03:00.0: 0x8030FD22 | hcmd
[  293.140382] iwlwifi 0000:03:00.0: 0x20020000 | isr0
[  293.140384] iwlwifi 0000:03:00.0: 0x00000000 | isr1
[  293.140387] iwlwifi 0000:03:00.0: 0x18F04002 | isr2
[  293.140390] iwlwifi 0000:03:00.0: 0x00C3000C | isr3
[  293.140393] iwlwifi 0000:03:00.0: 0x00000000 | isr4
[  293.140395] iwlwifi 0000:03:00.0: 0x00000000 | last cmd Id
[  293.140398] iwlwifi 0000:03:00.0: 0x00015332 | wait_event
[  293.140401] iwlwifi 0000:03:00.0: 0x00000000 | l2p_control
[  293.140404] iwlwifi 0000:03:00.0: 0x00010000 | l2p_duration
[  293.140407] iwlwifi 0000:03:00.0: 0x00000000 | l2p_mhvalid
[  293.140409] iwlwifi 0000:03:00.0: 0x00000000 | l2p_addr_match
[  293.140412] iwlwifi 0000:03:00.0: 0x00000008 | lmpm_pmg_sel
[  293.140415] iwlwifi 0000:03:00.0: 0x00000000 | timestamp
[  293.140418] iwlwifi 0000:03:00.0: 0x0000084C | flow_handler
[  293.140709] iwlwifi 0000:03:00.0: Start IWL Error Log Dump:
[  293.140712] iwlwifi 0000:03:00.0: Transport status: 0x0000004A, valid: 7
[  293.140715] iwlwifi 0000:03:00.0: 0x20000066 | NMI_INTERRUPT_HOST
[  293.140718] iwlwifi 0000:03:00.0: 0x00000000 | umac branchlink1
[  293.140721] iwlwifi 0000:03:00.0: 0x80455D7A | umac branchlink2
[  293.140724] iwlwifi 0000:03:00.0: 0xC0081614 | umac interruptlink1
[  293.140727] iwlwifi 0000:03:00.0: 0x8047300E | umac interruptlink2
[  293.140729] iwlwifi 0000:03:00.0: 0x01000000 | umac data1
[  293.140732] iwlwifi 0000:03:00.0: 0x8047300E | umac data2
[  293.140735] iwlwifi 0000:03:00.0: 0x00000000 | umac data3
[  293.140738] iwlwifi 0000:03:00.0: 0x0000004D | umac major
[  293.140741] iwlwifi 0000:03:00.0: 0xF31A351F | umac minor
[  293.140743] iwlwifi 0000:03:00.0: 0x0028DA64 | frame pointer
[  293.140746] iwlwifi 0000:03:00.0: 0xC0886260 | stack pointer
[  293.140749] iwlwifi 0000:03:00.0: 0x000C01C8 | last host cmd
[  293.140752] iwlwifi 0000:03:00.0: 0x00000000 | isr status reg
[  293.141009] iwlwifi 0000:03:00.0: IML/ROM dump:
[  293.141012] iwlwifi 0000:03:00.0: 0x00000003 | IML/ROM error/state
[  293.141097] iwlwifi 0000:03:00.0: 0x00006679 | IML/ROM data1
[  293.141179] iwlwifi 0000:03:00.0: 0x00000080 | IML/ROM WFPM_AUTH_KEY_0
[  293.141261] iwlwifi 0000:03:00.0: Fseq Registers:
[  293.141303] iwlwifi 0000:03:00.0: 0x20000000 | FSEQ_ERROR_CODE
[  293.141347] iwlwifi 0000:03:00.0: 0x80290021 | FSEQ_TOP_INIT_VERSION
[  293.141399] iwlwifi 0000:03:00.0: 0x00050008 | FSEQ_CNVIO_INIT_VERSION
[  293.141617] iwlwifi 0000:03:00.0: 0x0000A503 | FSEQ_OTP_VERSION
[  293.141661] iwlwifi 0000:03:00.0: 0x80000003 | FSEQ_TOP_CONTENT_VERSION
[  293.141706] iwlwifi 0000:03:00.0: 0x4552414E | FSEQ_ALIVE_TOKEN
[  293.141748] iwlwifi 0000:03:00.0: 0x00100530 | FSEQ_CNVI_ID
[  293.141791] iwlwifi 0000:03:00.0: 0x00000532 | FSEQ_CNVR_ID
[  293.141835] iwlwifi 0000:03:00.0: 0x00100530 | CNVI_AUX_MISC_CHIP
[  293.141880] iwlwifi 0000:03:00.0: 0x00000532 | CNVR_AUX_MISC_CHIP
[  293.141926] iwlwifi 0000:03:00.0: 0x05B0905B | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
[  293.141971] iwlwifi 0000:03:00.0: 0x0000025B | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
[  293.142015] iwlwifi 0000:03:00.0: 0x00000000 | FSEQ_PREV_CNVIO_INIT_VERSION
[  293.142057] iwlwifi 0000:03:00.0: 0x00290021 | FSEQ_WIFI_FSEQ_VERSION
[  293.142100] iwlwifi 0000:03:00.0: 0xEED35199 | FSEQ_BT_FSEQ_VERSION
[  293.142143] iwlwifi 0000:03:00.0: 0x000000F0 | FSEQ_CLASS_TP_VERSION
[  293.142229] iwlwifi 0000:03:00.0: UMAC CURRENT PC: 0x80472b1c
[  293.142272] iwlwifi 0000:03:00.0: LMAC1 CURRENT PC: 0xd0
[  293.142323] iwlwifi 0000:03:00.0: WRT: Collecting data: ini trigger 4 fired (delay=0ms).

As somebody commented in this thread, removing and adding kernel modules solves the problem until next reboot:

sudo modprobe -r iwlmvm iwlwifi
sudo modprobe iwlmvm iwlwifi

Bluetooth is unaffected.

I started having this problem already on Fedora 41 with kernel 6.11.*. I found some threads where people had similar problems. According to those threads, it has already been resolved. However for me problems haven’t disappeared since then.

Possible similar threads:

Edit

The problem happens only when sleep is in “Suspend-to-RAM” state. When i set suspend to be “s2idle” by booting with kernel parameter “mem_sleep_default=s2idle”, Wi-Fi work fine.

LHWDB probes model. There were similar models with Reaktek WiFi, but only found this one with Intel AX200. WiFi is often configured so it can enabled at boot (with minimal firmware to allow IT to update the systems in a cubicle farm at night), so your WiFi may be initialized using firmware from UEFI/BIOS. Power management may also be a factor. It is worth making the effort to see if WiFi can be disabled in UEFI/BIOS ans also try different power management options (is any) so it is forced to start with the Linux firmware, but with few similar models running Linux there may not be anyone with the expertise and access to the hardware who could sort out the problem.