MediaTek MT7922 wifi not working after waking up

My wifi adapter doesn’t work after waking notebook from suspend. It’s MT922 wifi card in Lenovo Pro 7 nodebook.

However, when I reboot it, it works again until first suspend.

This is dmesg log after waking up, showing a message Failed to get patch semaphore

[  800.763947] mt7921e 0000:03:00.0: Message 00000010 (seq 1) timeout
[  800.763959] mt7921e 0000:03:00.0: Failed to get patch semaphore
[  800.764107] mt7921e 0000:03:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0002 address=0xff3eaf00 flags=0x0000]
[  803.963703] mt7921e 0000:03:00.0: Message 00000010 (seq 2) timeout
[  803.963715] mt7921e 0000:03:00.0: Failed to get patch semaphore
[  807.163706] mt7921e 0000:03:00.0: Message 000046ed (seq 3) timeout
[  807.163954] mt7921e 0000:03:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0002 address=0xfebe6f00 flags=0x0000]
[  807.163971] mt7921e 0000:03:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0002 address=0xff140e00 flags=0x0000]
[  810.363882] mt7921e 0000:03:00.0: Message 00000010 (seq 4) timeout
[  810.363896] mt7921e 0000:03:00.0: Failed to get patch semaphore
[  810.364051] mt7921e 0000:03:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0002 address=0xfff04f00 flags=0x0000]
[  810.364060] mt7921e 0000:03:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0002 address=0xfff04f00 flags=0x0000]
[  813.563646] mt7921e 0000:03:00.0: Message 00000010 (seq 5) timeout
[  813.563658] mt7921e 0000:03:00.0: Failed to get patch semaphore
[  816.763870] mt7921e 0000:03:00.0: Message 000046ed (seq 6) timeout
[  816.764674] mt7921e 0000:03:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0002 address=0xffe50000 flags=0x0000]
[  816.764690] mt7921e 0000:03:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0002 address=0xffe50000 flags=0x0000]
[  816.764699] mt7921e 0000:03:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0002 address=0xff978d80 flags=0x0000]
[  816.846535] mt7921e 0000:03:00.0: HW/SW Version: 0x8a108a10, Build Time: 20231120183400a

[  817.220095] mt7921e 0000:03:00.0: WM Firmware Version: ____000000, Build Time: 20231120183441
eden@kurbla:[~]: inxi -Nxb                                                                                                                                                            
System:
  Host: kurbla Kernel: 6.8.5-1-MANJARO arch: x86_64 bits: 64 compiler: gcc
    v: 13.2.1
  Desktop: KDE Plasma v: 5.27.11 Distro: Manjaro base: Arch Linux
Machine:
  Type: Laptop System: LENOVO product: 82WS v: Legion Pro 7 16ARX8H
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: NO DPK serial: <superuser required>
    UEFI: LENOVO v: LPCN49WW date: 01/10/2024
Battery:
  ID-1: BAT0 charge: 63.0 Wh (62.0%) condition: 101.6/99.9 Wh (101.7%)
    volts: 15.9 min: 15.5 model: SMP L22M4PC1 status: discharging
CPU:
  Info: 16-core AMD Ryzen 9 7945HX with Radeon Graphics [MT MCP] arch: Zen 4
    speed (MHz): avg: 753 min/max: 400/5461
Graphics:
  Device-1: AMD Raphael vendor: Lenovo driver: amdgpu v: kernel arch: RDNA-2
    bus-ID: 05:00.0 temp: 48.0 C
  Device-2: Luxvisions Innotech Integrated Camera driver: uvcvideo type: USB
    bus-ID: 3-2.4:3
  Display: wayland server: X.org v: 1.21.1.12 with: Xwayland v: 23.2.6
    compositor: kwin_wayland driver: X: loaded: amdgpu unloaded: modesetting
    dri: radeonsi gpu: amdgpu resolution: 2048x1280
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.0.2-manjaro1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon Graphics (radeonsi
    raphael_mendocino LLVM 16.0.6 DRM 3.57 6.8.5-1-MANJARO)
Network:
  Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
    vendor: Lenovo driver: mt7921e v: kernel bus-ID: 03:00.0
  Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: Lenovo RTL8111/8168/8411 driver: r8168 v: 8.052.01-NAPI port: 2000
    bus-ID: 04:00.0
Drives:
  Local Storage: total: 953.87 GiB used: 129.76 GiB (13.6%)
Info:
  Memory: total: 32 GiB note: est. available: 29.06 GiB used: 4.21 GiB (14.5%)
  Processes: 501 Uptime: 7h 51m Init: systemd
  Packages: 1499 Compilers: clang: 16.0.6 gcc: 13.2.1 Shell: Zsh v: 5.9
    inxi: 3.3.34
eden@kurbla:[~]: mhwd -li                                                                                                                                                             
> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
         network-r8168            2023.09.12                true            PCI
video-hybrid-amd-nvidia-prime            2023.03.23               false            PCI
           video-linux            2018.05.04                true            PCI

Thanks in advance

Maybe this helps. Wifi controller is not recognized, even after boot, when it works correctly:

These pages/threads seem related to your issue:

Missing firmware is likely a major factor.
It’s also possible that reverting to kernel 6.6 or 6.1 (both LTS) might produce results.

I hope this helps. Cheers.

Thanks for your reply.

First link (installing driver) didn’t helped much since I have working WiFi card, but it’s only a problem after waking notebook from sleep.

I used second link to update firmware binaries. I already had it installed in /lib/firmware/mediatek, but I checked the signature and it’s dated somewhere from December 2023. Those you suggested are from April 2024. The initial problem still persists, even after firmware update.

The guy on third have different problem - WiFi card not working when notebook is restarted, but works from cold boot, together with old 5.x kernel.

The only thing left to check is to downgrade kernel, but I’m not happy with it because I’m affraid something else will stop working. However, I will try it in next few days.

Thanks once more for help.

1 Like

Try kernel 6.1.x first. Sometimes a differet kernel can help.

There was a similar thread only recently which might be worth searching for, however, I do not recall it’s title; just that there was an apparent resolution.

At face value, that doesn’t help much, however, if you search through posts within the last month you might find it. From memory the solution in that post was to create a script that allowed the wifi to initialize sooner.

That’s all I have, sorry. Someone else might have a few ideas though.

Cheers.

1 Like