Linux integration of SparkLan devices using Mediatek MT7612U chipset
Question
How do we integrate SparkLan devices using Mediatek MT7612U chipset in Linux systems?
Solution
The Mediatek MT7612U chipset can be supported by the Linux in-kernels wireless drivers starting from kernel version 4.19.
https://wireless.wiki.kernel.org/en/users/drivers/mediatek
(For older kernels please relate to driver source downloadable package "Sparklan Linux Drivers 3.0.0.1 v4" linked in the FAQ attached files section)
Usage of in-kernel driver in Linux kernel 4.19 and later:
Plug in the device and check if the correct Linux driver module is loaded correctly for the wifi module by command lsusb and lsusb -t as bellow:
lsusb
Bus 002 Device 005: ID 0e8d:7612 MediaTek Inc.
lsusb -t
|__ Port 3: Dev 5, If 0, Class=Vendor Specific Class, Driver=mt76x2u, 5000M
If the "Driver=mt76x2u" is not shown the driver module fails to load correctly for the wifi module, please check with command dmesg if the device has been detected at all and if the firmware file have failed to load:
dmesg
...
usb 2-3: USB disconnect, device number 2
usb 1-3: new high-speed USB device number 2 using xhci_hcd
usb 2-3: new SuperSpeed Gen 1 USB device number 3 using xhci_hcd
usb 2-3: New USB device found, idVendor=0e8d, idProduct=7612, bcdDevice= 1.00
usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-3: Product: 802.11ac WLAN
usb 2-3: Manufacturer: MediaTek Inc.
usb 2-3: SerialNumber: 000000000
usb 2-3: reset SuperSpeed Gen 1 USB device number 3 using xhci_hcd
mt76x2u 2-3:1.0: ASIC revision: 76120044
mt76x2u 2-3:1.0: Direct firmware load for mediatek/mt7662u_rom_patch.bin failed with error -2
mt76x2u: probe of 2-3:1.0 failed with error -2
...
If that is the case, make sure to download the latest firmware files bellow from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/mediatek and place the firmware files in the directory:
/lib/firmware/mediatek/
Firmware files:
mt7662u.bin
mt7662u_rom_patch.bin
Once in place, reboot the system or replug the USB device and the the correct driver should be loaded for the module.