You are not logged in.
I have recently bought the computer and have encountered a large problem - After resuming from suspend (I used `systemctl suspend` to check this) iwlwifi just utterly fails.
The laptop cannot access the internet, and the CPU usage and fan speed shoot up. Checking dmesg (posted below) it seems that iwlwifi is entering a failed initialization loop that just hogs all of the resources.
The laptop is new, so this is the first time this happens to me and I cannot provide information about previous kernel versions.
Laptop's specification on Lenovo's website: https://psref.lenovo.com/Product/Yoga/Y … 0?tab=spec
iwlwifi logs before suspend:
[ 2.869264] iwlwifi 0000:01:00.0: enabling device (0000 -> 0002)
...
[ 2.889523] iwlwifi 0000:01:00.0: Detected crf-id 0x2001910, cnv-id 0x2001910 wfpm id 0x80000000
[ 2.889591] iwlwifi 0000:01:00.0: PCI dev 272b/00f4, rev=0x472, rfid=0x112200
[ 2.889593] iwlwifi 0000:01:00.0: Detected Intel(R) Wi-Fi 7 BE200 320MHz
[ 2.896649] iwlwifi 0000:01:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.0.4.196
[ 2.897149] iwlwifi 0000:01:00.0: loaded firmware version 98.d661c37c.0 gl-c0-fm-c0-98.ucode op_mode iwlmld
...
[ 3.439362] iwlwifi 0000:01:00.0: Detected RF FM, rfid=0x112200
[ 3.440690] iwlwifi 0000:01:00.0: loaded PNVM version 752be616
...
[ 3.554281] iwlwifi 0000:01:00.0: base HW address: 80:c0:1e:5d:02:a5
[ 3.623436] iwlwifi 0000:01:00.0: Registered PHC clock: iwlwifi-PTP, with index: 0
short dmesg output:
[ 4143.974785] PM: suspend entry (s2idle)
[ 4143.976113] Filesystems sync: 0.001 seconds
[ 4143.983190] Freezing user space processes
[ 4143.990884] Freezing user space processes completed (elapsed 0.007 seconds)
[ 4143.990887] OOM killer disabled.
[ 4143.990888] Freezing remaining freezable tasks
[ 4143.991896] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[ 4143.991900] printk: Suspending console(s) (use no_console_suspend to debug)
[ 4144.241393] ACPI: EC: interrupt blocked
[ 4528.486195] ACPI: EC: interrupt unblocked
[ 4529.980043] pcieport 0000:00:06.0: Data Link Layer Link Active not set in 100 msec
[ 4529.980482] iwlwifi 0000:01:00.0: Unable to change power state from D3cold to D0, device inaccessible
[ 4530.041414] pci 0000:00:08.0: Setting to D3hot
[ 4530.067176] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/mtl_guc_70.bin version 70.44.1
[ 4530.068100] iwlwifi 0000:01:00.0: FW Error occurred during suspend
[ 4530.068144] iwlwifi 0000:01:00.0: Start IWL Error Log Dump:
[ 4530.068145] iwlwifi 0000:01:00.0: Transport status: 0x00000002, valid: -1
[ 4530.068146] iwlwifi 0000:01:00.0: Loaded firmware version: 98.d661c37c.0 gl-c0-fm-c0-98.ucode
[ 4530.068148] iwlwifi 0000:01:00.0: 0xFFFFFFFF | ADVANCED_SYSASSERT
[ 4530.068149] iwlwifi 0000:01:00.0: 0xFFFFFFFF | trm_hw_status0
[ 4530.068149] iwlwifi 0000:01:00.0: 0xFFFFFFFF | trm_hw_status1
[ 4530.068150] iwlwifi 0000:01:00.0: 0xFFFFFFFF | branchlink2
[ 4530.068150] iwlwifi 0000:01:00.0: 0xFFFFFFFF | interruptlink1
[ 4530.068150] iwlwifi 0000:01:00.0: 0xFFFFFFFF | interruptlink2
[ 4530.068151] iwlwifi 0000:01:00.0: 0xFFFFFFFF | data1
[ 4530.068151] iwlwifi 0000:01:00.0: 0xFFFFFFFF | data2
[ 4530.068152] iwlwifi 0000:01:00.0: 0xFFFFFFFF | data3
[ 4530.068152] iwlwifi 0000:01:00.0: 0xFFFFFFFF | beacon time
[ 4530.068152] iwlwifi 0000:01:00.0: 0xFFFFFFFF | tsf low
[ 4530.068153] iwlwifi 0000:01:00.0: 0xFFFFFFFF | tsf hi
[ 4530.068153] iwlwifi 0000:01:00.0: 0xFFFFFFFF | time gp1
[ 4530.068153] iwlwifi 0000:01:00.0: 0xFFFFFFFF | time gp2
[ 4530.068154] iwlwifi 0000:01:00.0: 0xFFFFFFFF | uCode revision type
[ 4530.068154] iwlwifi 0000:01:00.0: 0xFFFFFFFF | uCode version major
[ 4530.068155] iwlwifi 0000:01:00.0: 0xFFFFFFFF | uCode version minor
[ 4530.068155] iwlwifi 0000:01:00.0: 0xFFFFFFFF | hw version
[ 4530.068155] iwlwifi 0000:01:00.0: 0xFFFFFFFF | board version
[ 4530.068156] iwlwifi 0000:01:00.0: 0xFFFFFFFF | hcmd
[ 4530.068156] iwlwifi 0000:01:00.0: 0xFFFFFFFF | isr0
[ 4530.068156] iwlwifi 0000:01:00.0: 0xFFFFFFFF | isr1
[ 4530.068157] iwlwifi 0000:01:00.0: 0xFFFFFFFF | isr2
[ 4530.068157] iwlwifi 0000:01:00.0: 0xFFFFFFFF | isr3
[ 4530.068158] iwlwifi 0000:01:00.0: 0xFFFFFFFF | isr4
[ 4530.068158] iwlwifi 0000:01:00.0: 0xFFFFFFFF | last cmd Id
[ 4530.068158] iwlwifi 0000:01:00.0: 0xFFFFFFFF | wait_event
[ 4530.068159] iwlwifi 0000:01:00.0: 0xFFFFFFFF | l2p_control
[ 4530.068159] iwlwifi 0000:01:00.0: 0xFFFFFFFF | l2p_duration
[ 4530.068159] iwlwifi 0000:01:00.0: 0xFFFFFFFF | l2p_mhvalid
[ 4530.068160] iwlwifi 0000:01:00.0: 0xFFFFFFFF | l2p_addr_match
[ 4530.068160] iwlwifi 0000:01:00.0: 0xFFFFFFFF | lmpm_pmg_sel
[ 4530.068161] iwlwifi 0000:01:00.0: 0xFFFFFFFF | timestamp
[ 4530.068161] iwlwifi 0000:01:00.0: 0xFFFFFFFF | flow_handler
[ 4530.068216] iwlwifi 0000:01:00.0: Start IWL Error Log Dump:
[ 4530.068217] iwlwifi 0000:01:00.0: Transport status: 0x00000002, valid: -1
[ 4530.068217] iwlwifi 0000:01:00.0: Loaded firmware version: 98.d661c37c.0 gl-c0-fm-c0-98.ucode
[ 4530.068218] iwlwifi 0000:01:00.0: 0xFFFFFFFF | ADVANCED_SYSASSERT
[ 4530.068218] iwlwifi 0000:01:00.0: 0xFFFFFFFF | trm_hw_status0
[ 4530.068219] iwlwifi 0000:01:00.0: 0xFFFFFFFF | trm_hw_status1
[ 4530.068219] iwlwifi 0000:01:00.0: 0xFFFFFFFF | branchlink2
[ 4530.068220] iwlwifi 0000:01:00.0: 0xFFFFFFFF | interruptlink1
[ 4530.068220] iwlwifi 0000:01:00.0: 0xFFFFFFFF | interruptlink2
[ 4530.068220] iwlwifi 0000:01:00.0: 0xFFFFFFFF | data1
[ 4530.068221] iwlwifi 0000:01:00.0: 0xFFFFFFFF | data2
[ 4530.068221] iwlwifi 0000:01:00.0: 0xFFFFFFFF | data3
[ 4530.068221] iwlwifi 0000:01:00.0: 0xFFFFFFFF | beacon time
[ 4530.068222] iwlwifi 0000:01:00.0: 0xFFFFFFFF | tsf low
[ 4530.068222] iwlwifi 0000:01:00.0: 0xFFFFFFFF | tsf hi
[ 4530.068223] iwlwifi 0000:01:00.0: 0xFFFFFFFF | time gp1
[ 4530.068223] iwlwifi 0000:01:00.0: 0xFFFFFFFF | time gp2
[ 4530.068223] iwlwifi 0000:01:00.0: 0xFFFFFFFF | uCode revision type
[ 4530.068224] iwlwifi 0000:01:00.0: 0xFFFFFFFF | uCode version major
[ 4530.068224] iwlwifi 0000:01:00.0: 0xFFFFFFFF | uCode version minor
[ 4530.068225] iwlwifi 0000:01:00.0: 0xFFFFFFFF | hw version
[ 4530.068225] iwlwifi 0000:01:00.0: 0xFFFFFFFF | board version
[ 4530.068225] iwlwifi 0000:01:00.0: 0xFFFFFFFF | hcmd
[ 4530.068226] iwlwifi 0000:01:00.0: 0xFFFFFFFF | isr0
[ 4530.068226] iwlwifi 0000:01:00.0: 0xFFFFFFFF | isr1
[ 4530.068226] iwlwifi 0000:01:00.0: 0xFFFFFFFF | isr2
[ 4530.068227] iwlwifi 0000:01:00.0: 0xFFFFFFFF | isr3
[ 4530.068227] iwlwifi 0000:01:00.0: 0xFFFFFFFF | isr4
[ 4530.068228] iwlwifi 0000:01:00.0: 0xFFFFFFFF | last cmd Id
[ 4530.068228] iwlwifi 0000:01:00.0: 0xFFFFFFFF | wait_event
[ 4530.068228] iwlwifi 0000:01:00.0: 0xFFFFFFFF | l2p_control
[ 4530.068229] iwlwifi 0000:01:00.0: 0xFFFFFFFF | l2p_duration
[ 4530.068229] iwlwifi 0000:01:00.0: 0xFFFFFFFF | l2p_mhvalid
[ 4530.068230] iwlwifi 0000:01:00.0: 0xFFFFFFFF | l2p_addr_match
[ 4530.068230] iwlwifi 0000:01:00.0: 0xFFFFFFFF | lmpm_pmg_sel
[ 4530.068230] iwlwifi 0000:01:00.0: 0xFFFFFFFF | timestamp
[ 4530.068231] iwlwifi 0000:01:00.0: 0xFFFFFFFF | flow_handler
In order to reduce spam I have only showed two error loops, but these logs (From 4530.068144 to 4530.068161) just keep on repeating. I have tried to find a way to reload the module (Because it does initialize correctly on boot) but I have not found a way to do so. Running `rmmod -f` fails because iwlwifi (Unsurprisingly) has some resources that aren't freed. Setting the interface to down works, but then I get a timeout when I try to set it to up again.
From the error message I assume the error is firmware related, which my chances of finding a 'proper' fix are quite slim. However, I hope to find a software workaround is possible... Or just gather enough information to submit a proper bug report to the relevant places...
Would be glad to receive help on fix suggestions or next steps to take
Offline
Try the solution in https://bbs.archlinux.org/viewtopic.php?id=293404 to see if it helps. Besides, you can report the bug in https://bugzilla.kernel.org.
Last edited by BryanLiang (2025-07-23 15:39:05)
Offline
I have the same laptop as yours, and I noticed that the script above didn't fully work.
You need to also add iwlmld since this laptop has wifi 7.
The full script is:
#!/bin/sh
case $1/$2 in
pre/*)
modprobe -r iwlmld iwlmvm iwlwifi
;;
post/*)
modprobe iwlmld iwlmvm iwlwifi
;;
esac
Last edited by etiennec78 (2025-08-04 21:55:14)
Offline