This guide is based on Debian Bullseye and the test is done on the ZimaBoard N3450 (x86) via the PCIe x4 to m.2/ngff adapter. However, it should work for other Debian releases. You are welcome to try and share the feedback.
1. Update the Sources List
You are going to install some packages that are belong to the non-free & testing repository. Before proceed with the installation, it is advised to check and update the /etc/apt/sources.list file:
sudo nano /etc/apt/sources.list
Make sure the non-free & testing repository is added to the file. If you are not sure how to modify it, you can use my example below:
#Stable deb http://deb.debian.org/debian bullseye main contrib non-free deb-src http://deb.debian.org/debian bullseye main contrib non-free deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free deb http://deb.debian.org/debian bullseye-updates main contrib non-free deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free # Testing deb http://ftp.us.debian.org/debian/ testing main contrib non-free deb-src http://ftp.us.debian.org/debian/ testing main contrib non-free
2. Driver for MT7921k
The dirver & firmware for the Mediatek MT7921 series (MT7921 & MT7921K) are available in the firmware-misc-nonfree package. You just need to install it with apt
sudo apt install firmware-misc-nonfree
After the package is installed, you should see the driver for the mt7921k available in /lib/firmware/mediatek directory. Use this command to check
If you can’t find these 3 files, there is something wrong with the installation, please try again. Else, it is good to proceed.
BT_RAM_CODE_MT7961_1_2_hdr.bin WIFI_MT7961_patch_mcu_1_2_hdr.bin WIFI_RAM_CODE_MT7961_1.bin
Debian Bullseye stable is having linux kernel 5.10.140-1. However, this kernel version is not compatible with the mt7921k driver. In order for it to work, you will need the linux-kernel 5.19.0-2-amd64. It is available in the testing repo which we already added in the beginning.
You can install it with the below commands:
apt-cache search linux-image
A list of available linux kernel will show up. Continue to install the 5.19.0-2-amd64 kernel by:
sudo apt install linux-image-5.19.0-2-amd64
After that, reboot the PC
Run the lspci -v command and you should see the adapter up and running with kernel modules mt7921e
01:00.0 Network controller: MEDIATEK Corp. Device 0608 Subsystem: MEDIATEK Corp. Device 0608 Flags: bus master, fast devsel, latency 0, IRQ 128 Memory at 91400000 (64-bit, prefetchable) [size=1M] Memory at 91500000 (64-bit, prefetchable) [size=16K] Memory at 91504000 (64-bit, prefetchable) [size=4K] Capabilities: <access denied> Kernel driver in use: mt7921e Kernel modules: mt7921e
This means everything is working as expected. Now, you can establish the wireless connection with the network manager package that you are using. For this part, I won’t go too deep into it.
Let’s have a final check before finish the post:
nmcli device wifi list
Here, I use the nmcli command to scan the available WiFi networks nearby. The mt7921k adapter is working great!