I read on forum that one of few reasonably prices WiFi6 cards supported in x86 OpenWRT is MT7921 so I purchased one (that happened to be MT7921
K). I got it recognized by my mini-PC using M.2 -> MiniPcie adapter. It identifies as " AMD RZ608" It is very reasonably priced.
Unfortunately, only drivers available in stock OpenWRT distribution seem to be kmod-mt7921e, kmod-mt7921u and kmod-mt7921s.
Only driver that could initialize the card is kmod-mt7921e. Wireless will turn on and I can see the SSID. But it is not really handled well by LuCi (it reports 3dBm as power) and device will connect to it but TCP-IP stack does not seem to work...I never get DHCP adress and I cannot ping even if I set IP manually.
Is there any external driver I can use or is K-version not supported and I made a wrong choice?
Hmm, I got the card recognized but it seems that there are no MT7921K drivers available for OpenWRT.
The nearest I could come to is installing MT7921E driver. It would turn on radio but clients will not connect.
I will continue in hardware forum.
(BTW, if you wanted - you coulda moved the original thread to the hardware section too).
May 8, 2023, 11:36am
You haven't specified the OpenWrt version, I wouldn't even bother testing anything older than (current-) master snapshots.
It's OpenWrt 22.03.3 r20028-43d71ad93e.
Barely a month old.
The build is ~ month old, the features that this build provides are older than a year (22.03). So if there's something new, You are missing out.
Latest official build is 22.03.5. I checked list of packages in repository for 22.03.5 and as you can see, there are no new MT79321K drivers added there. MT79321E driver has slightly newer version.
I guess MT7921
k is not supported then
May 10, 2023, 7:38am
No, the latest build are the daily master snapshots. If you have brandnew hardware, you need correspondingly current code.
OK. this is package repository for latest snapshot:
Unfortunately, no 7921K driver is there yet
So heads up: if you buy "MT7921" card on AliExpress, make sure it is one you can find a driver for!
May 10, 2023, 10:11am
Judging by the name, the only difference between those cards would be additional support for 6GHz band and it should be supported by the same driver. Before stating that it doesn't work always try the snapshot build first, as
@slh said. What forbids You to try it out?
May 10, 2023, 10:51am
...especially on x86_64, where you can boot from a USB stick, without even touching the installed system.
I am wary of re-installing OpenWRT as it was very tricky to resize NVMe drive I installed it on. But yes, I can boot from USB and try it. Thanks.
I will get back to you as soon as I tried.
What PCI ID do you get for this card?
root@OpenWrt:~# lspci -n
00:00.0 0600: 8086:4e24
00:02.0 0300: 8086:4e61 (rev 01)
00:04.0 1180: 8086:4e03
00:14.0 0c03: 8086:4ded (rev 01)
00:14.2 0500: 8086:4def (rev 01)
00:16.0 0780: 8086:4de0 (rev 01)
00:1c.0 0604: 8086:4db8 (rev 01)
00:1c.3 0604: 8086:4dbb (rev 01)
00:1c.4 0604: 8086:4dbc (rev 01)
00:1c.5 0604: 8086:4dbd (rev 01)
00:1c.6 0604: 8086:4dbe (rev 01)
00:1c.7 0604: 8086:4dbf (rev 01)
00:1f.0 0601: 8086:4d87 (rev 01)
00:1f.3 0403: 8086:4dc8 (rev 01)
00:1f.4 0c05: 8086:4da3 (rev 01)
00:1f.5 0c80: 8086:4da4 (rev 01)
01:00.0 0108: 126f:2263 (rev 03)
02:00.0 0280: 14c3:0608
03:00.0 0200: 8086:125c (rev 04)
04:00.0 0200: 8086:125c (rev 04)
05:00.0 0200: 8086:125c (rev 04)
06:00.0 0200: 8086:125c (rev 04)
00:00.0 Host bridge: Intel Corporation Device 4e24
00:02.0 VGA compatible controller: Intel Corporation JasperLake [UHD Graphics] (rev 01)
00:04.0 Signal processing controller: Intel Corporation Dynamic Tuning service
00:14.0 USB controller: Intel Corporation Device 4ded (rev 01)
00:14.2 RAM memory: Intel Corporation Device 4def (rev 01)
00:16.0 Communication controller: Intel Corporation Management Engine Interface (rev 01)
00:1c.0 PCI bridge: Intel Corporation Device 4db8 (rev 01)
00:1c.3 PCI bridge: Intel Corporation Device 4dbb (rev 01)
00:1c.4 PCI bridge: Intel Corporation Device 4dbc (rev 01)
00:1c.5 PCI bridge: Intel Corporation Device 4dbd (rev 01)
00:1c.6 PCI bridge: Intel Corporation Device 4dbe (rev 01)
00:1c.7 PCI bridge: Intel Corporation Device 4dbf (rev 01)
00:1f.0 ISA bridge: Intel Corporation Device 4d87 (rev 01)
00:1f.3 Audio device: Intel Corporation Jasper Lake HD Audio (rev 01)
00:1f.4 SMBus: Intel Corporation Jasper Lake SMBus (rev 01)
00:1f.5 Serial bus controller: Intel Corporation Jasper Lake SPI Controller (rev 01)
01:00.0 Non-Volatile memory controller: Silicon Motion, Inc. SM2263EN/SM2263XT SSD Controller (rev 03)
02:00.0 Network controller: MEDIATEK Corp. RZ608 Wi-Fi 6E 80MHz
03:00.0 Ethernet controller: Intel Corporation Device 125c (rev 04)
04:00.0 Ethernet controller: Intel Corporation Device 125c (rev 04)
05:00.0 Ethernet controller: Intel Corporation Device 125c (rev 04)
06:00.0 Ethernet controller: Intel Corporation Device 125c (rev 04)
I just booted from latest snapshot and I was able to connect after installing MT7921E driver! So apparently, something was added lately.
Unfortunately, my setup (UEFI,boot from NVMe, x86) makes it very cumbersome to update versions.
I will now try to boot from latest stable version and see whether it still works.
(it is still reporting 3dBm as power though but I assume it is wonky driver/Luci communication)
Yeah the 3dBm is supposedly just a visual bug and actually outputs proper power.
Just updated to OpenWrt 22.03.5 stable release and it worked as well.
How to get it working: install kmod-mt7921e and wpad-wolfssl.
Snapshot will allow you to chose 2.4, 5 and 6 GHz. Official 22.03.5 has only 2.4 and 5GHz.
Master copy of mt76: last bumped March 2023. 22.03 branch: September 2022. 'Lately' is a bit of an understatement.
Keep in mind the point releases are maintenance releases, no new features or code. The September 2022 bump of 22.03 mt76 was a bugfix.
23.3.3: kmod-mt7921-common_ 5.10.161
Judging from versions of MT7921 packages, a lot has happened since...I could even see difference between 22.3.5 and latest snapshot. Once has 6GHz selectable, other has not.
The kernel suffix has no relation whatsoever to the codebase. It only indicates against which kernel (not even against which wireless stack) that module was built.