系统挂起恢复后找不到wifi

设备是联想小新pro14 GT,网卡型号BE200,内核版本6.17.1-zen1-1-zen

系统挂起恢复后无法发现附近的网络,但是一直处于搜索。iwlwifi出现0xFFFFFFFF错误

10月 09 10:24:49 IAH10 systemd[1]: Starting System Suspend...
10月 09 10:24:49 IAH10 systemd[1]: user.slice: Unit now frozen.
10月 09 10:24:49 IAH10 systemd[1]: user-1000.slice: Unit now frozen-by-parent.
10月 09 10:24:49 IAH10 systemd-sleep[33153]: Successfully froze unit 'user.slice'.
10月 09 10:24:49 IAH10 systemd[1]: user@1000.service: Unit now frozen-by-parent.
10月 09 10:24:49 IAH10 systemd[1]: session-3.scope: Unit now frozen-by-parent.
10月 09 10:24:49 IAH10 systemd-sleep[33153]: Performing sleep operation 'suspend'...
10月 09 10:24:49 IAH10 kernel: PM: suspend entry (s2idle)
10月 09 10:24:49 IAH10 kernel: Filesystems sync: 0.006 seconds
10月 09 10:24:57 IAH10 kernel: Freezing user space processes
10月 09 10:24:57 IAH10 kernel: Freezing user space processes completed (elapsed 0.001 seconds)
10月 09 10:24:57 IAH10 kernel: OOM killer disabled.
10月 09 10:24:57 IAH10 kernel: Freezing remaining freezable tasks
10月 09 10:24:57 IAH10 kernel: Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
10月 09 10:24:57 IAH10 kernel: printk: Suspending console(s) (use no_console_suspend to debug)
10月 09 10:24:57 IAH10 kernel: ACPI: EC: interrupt blocked
10月 09 10:24:57 IAH10 kernel: ACPI: EC: interrupt unblocked
10月 09 10:24:57 IAH10 kernel: pcieport 0000:00:06.0: Data Link Layer Link Active not set in 100 msec
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: Unable to change power state from D3cold to D0, device inaccessible
10月 09 10:24:57 IAH10 kernel: pci 0000:00:08.0: Setting to D3hot
10月 09 10:24:57 IAH10 kernel: i915 0000:00:02.0: [drm] GT0: GuC firmware i915/mtl_guc_70.bin version 70.49.4
10月 09 10:24:57 IAH10 kernel: i915 0000:00:02.0: [drm] GT0: GUC: submission enabled
10月 09 10:24:57 IAH10 systemd-sleep[33153]: System returned from sleep operation 'suspend'.
10月 09 10:24:57 IAH10 kernel: i915 0000:00:02.0: [drm] GT0: GUC: SLPC enabled
10月 09 10:24:57 IAH10 kernel: i915 0000:00:02.0: [drm] GT0: GUC: RC enabled
10月 09 10:24:57 IAH10 kernel: i915 0000:00:02.0: [drm] GT1: GuC firmware i915/mtl_guc_70.bin version 70.49.4
10月 09 10:24:57 IAH10 kernel: i915 0000:00:02.0: [drm] GT1: HuC firmware i915/mtl_huc_gsc.bin version 8.5.4
10月 09 10:24:57 IAH10 kernel: i915 0000:00:02.0: [drm] GT1: GUC: submission enabled
10月 09 10:24:57 IAH10 kernel: i915 0000:00:02.0: [drm] GT1: GUC: SLPC enabled
10月 09 10:24:57 IAH10 systemd[1]: session-3.scope: Unit now thawed.
10月 09 10:24:57 IAH10 kernel: i915 0000:00:02.0: [drm] GT1: GUC: RC enabled
10月 09 10:24:57 IAH10 systemd[1]: user@1000.service: Unit now thawed.
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: WRT: Collecting data: ini trigger 13 fired (delay=0ms).
10月 09 10:24:57 IAH10 systemd[1]: user-1000.slice: Unit now thawed.
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: Start IWL Error Log Dump:
10月 09 10:24:57 IAH10 systemd[1]: user.slice: Unit now thawed.
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: Transport status: 0x00000042, valid: -1
10月 09 10:24:57 IAH10 systemd-sleep[33153]: Successfully thawed unit 'user.slice'.
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: Loaded firmware version: 98.d661c37c.0 gl-c0-fm-c0-98.ucode
10月 09 10:24:57 IAH10 systemd[1]: systemd-suspend.service: Deactivated successfully.
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | ADVANCED_SYSASSERT          
10月 09 10:24:57 IAH10 systemd[1]: Finished System Suspend.
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | trm_hw_status0
10月 09 10:24:57 IAH10 systemd[1]: Stopped target Sleep.
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | trm_hw_status1
10月 09 10:24:57 IAH10 systemd[1]: Reached target Suspend.
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | branchlink2
10月 09 10:24:57 IAH10 systemd-logind[631]: Operation 'suspend' finished.
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | interruptlink1
10月 09 10:24:57 IAH10 systemd[1]: Stopped target Suspend.
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | interruptlink2
10月 09 10:24:57 IAH10 NetworkManager[626]: <info>  [1759976697.5405] manager: sleep: wake requested (sleeping: yes  enabled: yes)
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | data1
10月 09 10:24:57 IAH10 NetworkManager[626]: <info>  [1759976697.5405] device (wlp2s0f0): state change: unmanaged -> unavailable (reason 'managed', managed-type: 'external')
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | data2
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | data3
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | beacon time
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | tsf low
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | tsf hi
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | time gp1
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | time gp2
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | uCode revision type
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | uCode version major
10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: 0xFFFFFFFF | uCode version minor
... ...

执行以下命令尝试恢复网络,但无效

sudo rmmod iwlmvm iwlwifi
sudo modprobe iwlwifi
sudo modprobe iwlmvm
sudo systemctl restart NetworkManager
sudo systemctl restart wpa_supplicant

reboot后wifi网络恢复正常


检查日志发现,无线网卡(iwlwifi)在从挂起状态恢复时无法从低功耗状态(D3cold)切换到正常工作状态(D0),导致设备无法访问。

10月 09 10:24:57 IAH10 kernel: iwlwifi 0000:02:00.0: Unable to change power state from D3cold to D0, device inaccessible
10月 09 10:24:57 IAH10 kernel: pci 0000:00:08.0: Setting to D3hot

尝试更改GRUB配置文件,将suspend改为S3模式

GRUB_CMDLINE_LINUX_DEFAULT="... ... mem_sleep_default=deep“

故障依旧

不如你去https://bugzilla.kernel.org 报一个bug?