USB WiFi Dongle

A fresh night’s sleep and a search of duckduckgo instead of google provided a lead that solved the problem.

MediaTek provide a Linux Driver on this page https://www.mediatek.com/products/broadband-wifi/mt7601u

I downloaded and extracted the files

$ wget https://d86o2zu8ugzlg.cloudfront.net/mediatek-craft/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2

Searched through and found this

$ find ~/Downloads/wifi/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913 -name “*7601*” -print

/home/user/Downloads/wifi/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913
/home/user/Downloads/wifi/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/include/chip/mt7601.h
/home/user/Downloads/wifi/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/include/mcu/MT7601_firmware.h
/home/user/Downloads/wifi/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/ate/chips/mt7601_ate.c
/home/user/Downloads/wifi/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/chips/mt7601.c
/home/user/Downloads/wifi/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/chips/mt7601.c.bak
/home/user/Downloads/wifi/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/mcu/bin/MT7601_formal_1.7.bin
/home/user/Downloads/wifi/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/mcu/bin/MT7601.bin
/home/user/Downloads/wifi/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/mcu/bin/MT7601_formal_1.7_Debug.bin

Had a look

$ ls -l MT7601.bin
-rwxrwxr-x 1 user user 45412 Sep 12 2013 MT7601.bin

I wonder if this is the same size as the one on my Ubuntu 22.04 installation

$ ls -l /lib/firmware/mt7601u.bin
-rw-r–r-- 1 root root 45412 Aug 4 14:01 /lib/firmware/mt7601u.bin

It is, let’s double check they’re the same

$ md5sum /lib/firmware/mt7601u.bin
696cedb8e76ecc0cda9f9b0d3972c64d /lib/firmware/mt7601u.bin

$ md5sum MT7601.bin
696cedb8e76ecc0cda9f9b0d3972c64d MT7601.bin

What happens if I copy it over to where the missing firmware file should be and then power down / up? In this case I copied over my Ubuntu one, not as though there should be any difference.

It worked! Two wlan0 entries but we can soon sort that out.

Add this to bottom of /boot/config.txt (newer syntax):

dtoverlay=disable-wifi

Blacklist in /etc/modprobe.d/raspi-blacklist.conf

blacklist brcmfmac
blacklist brcmutil

Add the Power Management off option (and reference) to the bottom of rc.local so it now looks like this

root@raspberryshake:~# cat /etc/rc.local


# Ref https://community.raspberryshake.org/t/wifi-dongle/261/7 - turn off Power Management
/sbin/iwconfig wlan0 power off

exit 0

Power down / power up and hey presto only one wlan0 from iwconfig. Run ifconfig to check MAC address and yep that’s not the internal one.

Job done, time for breakfast.

1 Like