You are not logged in.

#1 2025-10-11 18:19:52

samdavid6
Member
Registered: 2008-09-18
Posts: 18

Mediatek MT7922 uses MT7921e driver

So I have decided to use Linux full time (I do have a dual boot Windows for emergencies), and am having issues with wifi.  Basically I get a lot of lag when gaming - a problem I never had playing on Windows.  Upon trying to do some investigation I see that I have a MediaTek 7922 onboard wifi, but it seems to be using an older driver.  I do have the proper firmware file in /lib/firmware/mediatek but for some reason its not being used.

0f:00.0 Network controller: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter
	Subsystem: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter
	Flags: bus master, fast devsel, latency 0, IRQ 160, IOMMU group 27
	Memory at fc30300000 (64-bit, prefetchable) [size=1M]
	Memory at f6800000 (64-bit, non-prefetchable) [size=32K]
	Capabilities: <access denied>
	Kernel driver in use: mt7921e
	Kernel modules: mt7921e

And, on a side note, my bluetooth doesnt work either, even though the file is in the firmware folder.

Is there a way to set the correct firmware?  I see a lot of posts, but everyone seems to just leave the 7921 driver in place just as is.

Edited to add: I did setup the bluetooth, and thats working now

Last edited by samdavid6 (2025-10-11 18:24:02)

Offline

#2 2025-10-11 18:35:14

samdavid6
Member
Registered: 2008-09-18
Posts: 18

Re: Mediatek MT7922 uses MT7921e driver

Update:

After some more tweaking, I followed the troubleshooting guide on the Arch wiki.

mt7921 / mt7922
There are some high latency problems with these MediaTek chipsets. To fix this, the only solution is to disable ASPM:

/etc/modprobe.d/wifi.conf
options mt7921e disable_aspm=1
This configuration file will take effect on next reboot or after reloading the module with modprobe:

# modprobe -r mt7921e && modprobe mt7921e
These are also sometimes branded as AMD RZ608 (mt7921) and RZ616 (mt7922).

My lspci -v now shows more information, mainly running it with su..

0f:00.0 Network controller: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter
	Subsystem: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter
	Flags: bus master, fast devsel, latency 0, IRQ 160, IOMMU group 27
	Memory at fc30300000 (64-bit, prefetchable) [size=1M]
	Memory at f6800000 (64-bit, non-prefetchable) [size=32K]
	Capabilities: [80] Express Endpoint, IntMsgNum 0
	Capabilities: [e0] MSI: Enable+ Count=1/32 Maskable+ 64bit+
	Capabilities: [f8] Power Management version 3
	Capabilities: [100] Vendor Specific Information: ID=1556 Rev=1 Len=008 <?>
	Capabilities: [108] Latency Tolerance Reporting
	Capabilities: [110] L1 PM Substates
	Capabilities: [200] Advanced Error Reporting
	Kernel driver in use: mt7921e
	Kernel modules: mt7921e

I'm still wondering if I should switch to the MT7922 driver instead.  I can blacklist it I suppose and see if that forces the MT7922 driver.

Last edited by samdavid6 (2025-10-11 18:58:40)

Offline

#3 2025-10-11 21:45:31

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 69,070

Re: Mediatek MT7922 uses MT7921e driver

There's no "MT7922 driver" - does the original problem remain after disabling aspm?
Check

systool -vm mt7921e

to make sure the changes applied.

Is there a way to set the correct firmware?

There's a bogus firmware in the latest linux-firmware-mediatek, https://gitlab.archlinux.org/archlinux/ … /issues/29 - this is NOT related to the kernels mt7921e module.
The firmware gets loaded into the chips SRAM

I do have a dual boot Windows for emergencies

3rd link below. Mandatory.
Disable it (it's NOT the BIOS setting!) and reboot windows and linux twice for voodo reasons.

Online

Board footer

Powered by FluxBB