среда

[Bug 2154385] Re: MT7921E WiFi fails to resume from s2idle suspend: 'driver own failed', no network after wake

** Tags added: kernel-daily-bug -- You received this bug notification because you are subscribed to linux in Ubuntu. Matching subscriptions: Bgg, Bmail, Nb https://bugs.launchpad.net/bugs/2154385 Title: MT7921E WiFi fails to resume from s2idle suspend: 'driver own failed', no network after wake Status in linux package in Ubuntu: New Bug description: ## Bug Description MediaTek MT7921E PCIe WiFi (mt7921e driver) fails to resume when the system uses **s2idle** (S0 idle / Modern Standby), which is the default suspend mode on affected hardware. After waking from suspend, the WiFi device is unavailable and cannot reconnect. A secondary symptom is that restarting the machine after wake causes the system to hang (requiring force power-off). ## Kernel errors on resume ``` mt7921e 0000:2e:00.0: driver own failed mt7921e 0000:2e:00.0: PM: dpm_run_callback(): pci_pm_resume returns -5 mt7921e 0000:2e:00.0: PM: failed to resume async: error -5 ``` After these errors, the mt7921_mac_reset_work workqueue tries (and fails) to recover the device. ## Steps to reproduce 1. Use a system with MediaTek MT7921E PCIe WiFi where `s2idle` is the default sleep mode 2. Suspend the system (e.g. close lid or `systemctl suspend`) 3. Wake the system 4. Observe: WiFi is unavailable; NetworkManager shows device as unavailable ## Expected behaviour WiFi reconnects automatically after wake from suspend. ## Workaround Adding `mem_sleep_default=deep` to kernel cmdline forces S3 sleep, which allows the PCIe device to properly power-cycle. The driver resumes correctly with S3. ## System information - **Hardware:** ASUS laptop with MediaTek MT7921 802.11ax PCIe (Filogic 330) — PCI ID: `2e:00.0 Network controller: MEDIATEK Corp. MT7921 802.11ax PCIe Wireless Network Adapter [Filogic 330]` - **OS:** Ubuntu 26.04 LTS (Resolute Raccoon) - **Kernel:** 7.0.0-15-generic - **Driver:** mt7921e (part of mt76 stack: mt7921e, mt7921_common, mt792x_lib, mt76_connac_lib, mt76) - **Default sleep mode:** s2idle (S0 idle) - **Sleep modes available:** freeze mem (s2idle, deep) ## Additional context The s2idle mode keeps the PCIe bus partially powered, but the MT7921E firmware does not properly handle the ownership handoff on resume. With S3 (deep), the device fully power-cycles and the driver re- initialises from scratch, which works correctly. This is a known class of issue with MT7921/MT7922 and s2idle on various Linux platforms. A kernel-level fix in the mt7921e resume path (similar to what was done for similar chips) would resolve this without requiring users to change their sleep mode. --- ### Collected system info ``` === System === Linux hamed-3500 7.0.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Wed Apr 22 16:06:43 UTC 2026 x86_64 GNU/Linux PRETTY_NAME="Ubuntu 26.04 LTS" NAME="Ubuntu" VERSION_ID="26.04" VERSION="26.04 LTS (Resolute Raccoon)" VERSION_CODENAME=resolute ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=resolute LOGO=ubuntu-logo === Hardware === 2e:00.0 Network controller: MEDIATEK Corp. MT7921 802.11ax PCIe Wireless Network Adapter [Filogic 330] === Driver modules === mt7921e 24576 0 mt7921_common 94208 1 mt7921e mt792x_lib 73728 2 mt7921e,mt7921_common mt76_connac_lib 110592 3 mt792x_lib,mt7921e,mt7921_common mt76 167936 4 mt792x_lib,mt7921e,mt7921_common,mt76_connac_lib mac80211 1933312 4 mt792x_lib,mt76,mt7921_common,mt76_connac_lib cfg80211 1536000 4 mt76,mac80211,mt7921_common,mt76_connac_lib filename: /lib/modules/7.0.0-15-generic/kernel/drivers/net/wireless/mediatek/mt76/mt7921/mt7921e.ko.zst description: MediaTek MT7921E (PCIe) wireless driver firmware: mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin firmware: mediatek/WIFI_RAM_CODE_MT7922_1.bin firmware: mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin firmware: mediatek/WIFI_RAM_CODE_MT7961_1.bin firmware: mediatek/WIFI_MT7961_patch_mcu_1a_2_hdr.bin firmware: mediatek/WIFI_RAM_CODE_MT7961_1a.bin srcversion: 1F1C9D5DFD126F4ED31DA57 vermagic: 7.0.0-15-generic SMP preempt mod_unload modversions === Sleep state === s2idle [deep] freeze mem disk BOOT_IMAGE=/boot/vmlinuz-7.0.0-15-generic root=UUID=892a3bd9-5b62-4d89-b817-346203b578be ro quiet splash mem_sleep_default=deep crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M === Suspend/resume kernel logs showing the bug === May 27 20:12:03 hamed-3500 kernel: PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff] May 27 20:12:03 hamed-3500 kernel: PM: hibernation: Registered nosave memory: [mem 0x0009f000-0x000fffff] May 27 20:12:03 hamed-3500 kernel: PM: hibernation: Registered nosave memory: [mem 0x5e3c6000-0x5e3f4fff] May 27 20:12:03 hamed-3500 kernel: PM: hibernation: Registered nosave memory: [mem 0x5f85f000-0x5f85ffff] May 27 20:12:03 hamed-3500 kernel: PM: hibernation: Registered nosave memory: [mem 0x613a5000-0x667fefff] May 27 20:12:03 hamed-3500 kernel: PM: hibernation: Registered nosave memory: [mem 0x66800000-0xffffffff] May 27 20:12:03 hamed-3500 kernel: ACPI: PM: Registering ACPI NVS region [mem 0x65dab000-0x65ea4fff] (1024000 bytes) May 27 20:12:03 hamed-3500 kernel: PM: RTC time: 18:12:02, date: 2026-05-27 May 27 20:12:03 hamed-3500 kernel: ACPI: PM: (supports S0 S3 S4 S5) May 27 20:12:03 hamed-3500 kernel: clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns May 27 20:12:03 hamed-3500 kernel: PM: Magic number: 10:102:242 May 27 20:12:03 hamed-3500 kernel: PM: genpd: Disabling unused power domains May 27 20:12:07 hamed-3500 kernel: mt7921e 0000:2e:00.0: enabling device (0000 -> 0002) May 27 20:12:07 hamed-3500 kernel: mt7921e 0000:2e:00.0: ASIC revision: 79610010 May 27 20:12:07 hamed-3500 kernel: mt7921e 0000:2e:00.0: HW/SW Version: 0x8a108a10, Build Time: 20260224110909a May 27 20:12:07 hamed-3500 kernel: mt7921e 0000:2e:00.0: WM Firmware Version: ____010000, Build Time: 20260224110949 May 27 20:12:08 hamed-3500 kernel: mt7921e 0000:2e:00.0 wlo1: renamed from wlan0 May 27 20:12:09 hamed-3500 NetworkManager[1696]: <info> [1779905529.2094] rfkill3: found Wi-Fi radio killswitch (at /sys/devices/pci0000:00/0000:00:1c.3/0000:2e:00.0/ieee80211/phy0/rfkill3) (driver mt7921e) May 27 20:40:31 hamed-3500 sudo[9998]: hamed : PWD=/home/hamed ; USER=root ; COMMAND=/usr/bin/tee /etc/systemd/system-sleep/mt7921-wifi-fix.sh May 27 20:40:31 hamed-3500 sudo[10003]: hamed : PWD=/home/hamed ; USER=root ; COMMAND=/usr/bin/chmod +x /etc/systemd/system-sleep/mt7921-wifi-fix.sh May 27 20:40:40 hamed-3500 sudo[10012]: hamed : PWD=/home/hamed ; USER=root ; COMMAND=/usr/bin/cp /tmp/mt7921-wifi-fix.sh /etc/systemd/system-sleep/mt7921-wifi-fix.sh May 27 20:40:40 hamed-3500 sudo[10017]: hamed : PWD=/home/hamed ; USER=root ; COMMAND=/usr/bin/chmod +x /etc/systemd/system-sleep/mt7921-wifi-fix.sh === Full dmesg around suspend/resume === May 27 20:12:03 hamed-3500 kernel: PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff] May 27 20:12:03 hamed-3500 kernel: PM: hibernation: Registered nosave memory: [mem 0x0009f000-0x000fffff] May 27 20:12:03 hamed-3500 kernel: PM: hibernation: Registered nosave memory: [mem 0x5e3c6000-0x5e3f4fff] May 27 20:12:03 hamed-3500 kernel: PM: hibernation: Registered nosave memory: [mem 0x5f85f000-0x5f85ffff] May 27 20:12:03 hamed-3500 kernel: PM: hibernation: Registered nosave memory: [mem 0x613a5000-0x667fefff] May 27 20:12:03 hamed-3500 kernel: PM: hibernation: Registered nosave memory: [mem 0x66800000-0xffffffff] May 27 20:12:03 hamed-3500 kernel: ACPI: PM: Registering ACPI NVS region [mem 0x65dab000-0x65ea4fff] (1024000 bytes) May 27 20:12:03 hamed-3500 kernel: PM: RTC time: 18:12:02, date: 2026-05-27 May 27 20:12:03 hamed-3500 kernel: ACPI: PM: (supports S0 S3 S4 S5) May 27 20:12:03 hamed-3500 kernel: Low-power S0 idle used by default for system suspend May 27 20:12:03 hamed-3500 kernel: clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns May 27 20:12:03 hamed-3500 kernel: PM: Magic number: 10:102:242 May 27 20:12:03 hamed-3500 kernel: PM: genpd: Disabling unused power domains May 27 20:12:07 hamed-3500 kernel: mt7921e 0000:2e:00.0: enabling device (0000 -> 0002) May 27 20:12:07 hamed-3500 kernel: mt7921e 0000:2e:00.0: ASIC revision: 79610010 May 27 20:12:07 hamed-3500 kernel: mt7921e 0000:2e:00.0: HW/SW Version: 0x8a108a10, Build Time: 20260224110909a May 27 20:12:07 hamed-3500 kernel: mt7921e 0000:2e:00.0: WM Firmware Version: ____010000, Build Time: 20260224110949 May 27 20:12:08 hamed-3500 kernel: mt7921e 0000:2e:00.0 wlo1: renamed from wlan0 May 27 20:12:09 hamed-3500 NetworkManager[1696]: <info> [1779905529.2094] rfkill3: found Wi-Fi radio killswitch (at /sys/devices/pci0000:00/0000:00:1c.3/0000:2e:00.0/ieee80211/phy0/rfkill3) (driver mt7921e) May 27 20:12:10 hamed-3500 rtkit-daemon[2231]: Handling system-suspend using logind. May 27 20:40:19 hamed-3500 sudo[9659]: hamed : PWD=/home/hamed ; USER=root ; COMMAND=/usr/bin/sed -i s/GRUB_CMDLINE_LINUX_DEFAULT=\"quiet splash\"/GRUB_CMDLINE_LINUX_DEFAULT=\"quiet splash mem_sleep_default=deep\"/ /etc/default/grub May 27 20:40:31 hamed-3500 sudo[9993]: hamed : PWD=/home/hamed ; USER=root ; COMMAND=/usr/bin/mkdir -p /etc/systemd/system-sleep May 27 20:40:31 hamed-3500 sudo[9998]: hamed : PWD=/home/hamed ; USER=root ; COMMAND=/usr/bin/tee /etc/systemd/system-sleep/mt7921-wifi-fix.sh May 27 20:40:31 hamed-3500 sudo[10003]: hamed : PWD=/home/hamed ; USER=root ; COMMAND=/usr/bin/chmod +x /etc/systemd/system-sleep/mt7921-wifi-fix.sh May 27 20:40:40 hamed-3500 sudo[10012]: hamed : PWD=/home/hamed ; USER=root ; COMMAND=/usr/bin/cp /tmp/mt7921-wifi-fix.sh /etc/systemd/system-sleep/mt7921-wifi-fix.sh May 27 20:40:40 hamed-3500 sudo[10017]: hamed : PWD=/home/hamed ; USER=root ; COMMAND=/usr/bin/chmod +x /etc/systemd/system-sleep/mt7921-wifi-fix.sh ``` To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2154385/+subscriptions

Комментариев нет:

Отправить комментарий