更新2015年11月16日,jessie內核版本號4.1.13(uname -a 可以查看)直接可以驅動MT7601U,無需手動編譯。
截止2015-4-6,本文基於樹莓派2,raspbian,內核版本3.18.10-v7+。支持AP和STA模式
以上免費wifi基於mt7601u芯片,360wifi 1代的是rt5370直接免驅。
天貓魔盤是d-link訂做的,rtl芯片。
參考了諸多文章,大多數內核較老,而且由於pi2基於arm7平台,大多編譯出來的無法使用。
最后在李凡希老師的博客幫助下編譯成功。
針對:
1.驅動程序編譯失敗
2.編譯成功加載模塊時Exec format error(內核頭文件與實際運行的內核不匹配)
一、更新樹莓派系統(如更新內核后請重啟):
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade sudo rpi-update
二、編譯前准備編譯模塊需要的內核樹(適用於Pi 1 Pi 2 Raspbian):
1.下載安裝rpi-source腳本
sudo wget https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source -O /usr/bin/rpi-source sudo chmod +x /usr/bin/rpi-source /usr/bin/rpi-source -q --tag-update
2.運行rpi-source
rpi-source
運行前請保證gcc和g++版本為4.8.3+,否則會報錯。安裝方法參考wiki(https://github.com/notro/rpi-source/wiki)
rpi-source有人接手維護,現在支持pi 2。不需要下載李凡希老師的修改版本了。
三、編譯驅動程序
a.STA驅動(普通無線網卡功能)
下載官方STA驅動並傳到樹莓派上,方法請參考之前的文章:
http://yunpan.cn/cVVSuSSCtvscw (提取碼:fba0)
解壓:
tar xjvf DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2 cd DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/
修改common/rtusb_dev_id.c,
在 {USB_DEVICE(0x148f,0×7601)}, /* MT 6370 */ 下面加入以下內容(其他自己添加):
{USB_DEVICE(0x148f,0x760b)}, /* 360 Wifi */
{USB_DEVICE(0x2717,0x4106)}, /* Xiaomi Wifi */
更新gcc和g++版本后無需修改include/os/rt_linux.h,否則會報錯。
make
不出錯的話就可以安裝了
sudo make install
加載驅動模塊
sudo modprobe mt7601Usta
查看是否識別無線網卡(ra0)
ifconfig
查看是否正常加載驅動
lsmod
查看ra0是否工作正常
sudo iwlist ra0 scan
更新(2015-4-10):
1.編譯時可以選擇別的顯示名稱而不是ra0
2.通過ra0連接無線網絡,似乎最新版只支持wpa_supplicant.
更新(2015-4-19):
另一種方法,不用更新高版本gcc和g++,來自愛板網http://www.eeboard.com/bbs/thread-41207-1-1.html
編輯文件/etc/network/interfaces,添加
auto ra0
allow-hotplug ra0
iface ra0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
編輯文件/etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="無線網名字"
key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
pairwise=TKIP CCMP
group=CCMP TKIP WEP104 WEP40
psk="WIFI密碼"
}
重啟。參考http://bbs.xiaomi.cn/thread-11203622-1-1.html
英文雙引號。
更新(2015-5-10):樹莓派實驗室設置無線的配置如下
auto ra0
allow-hotplug ra0
iface ra0 inet dhcp
wpa-ssid 無線SSID
wpa-psk 無線密碼
b.AP驅動(AP功能)
此模式下不支持無線網卡功能,無法連接無線網。且和STA驅動不能同時使用(未測試)。
"MT7601的Linux驅動中似乎沒有實現nl80211的接口,所以hostapd沒法直接用。"
但是感謝這位作者的努力,mt7601支持AP模式了。
http://blog.csdn.net/sumang_87/article/details/38168877
使用方法參考其博客,我只編譯加載了驅動(本身有一個usb網卡工作在AP模式),工作正常。
四、驅動程序沖突
兩個驅動無法同時使用,還好兩者都提供make uninstall命令。
我的設想是移除ko文件然后depmod命令。可以參考樹莓派論壇的一個帖子。
參考:
http://www.freemindworld.com/blog/2013/131010_360_wifi_in_linux.shtml
http://www.freemindworld.com/blog/2015/150312_complie_kernel_module_for_raspberry_pi_2.shtml
http://www.pppei.net/blog/post/690
http://www.7forz.com/2470/
http://shumeipai.nxez.com/2014/12/07/raspberry-pi-use-360wifi.html
http://www.raspberrypi.org/forums/viewtopic.php?f=28&t=98913
http://www.raspberrypi.org/forums/viewtopic.php?f=28&t=49864&p=690479
更新另一個AP驅動
http://yunpan.cn/cVFHgZ5xLQKvS (提取碼:ab07)
參考http://www.unpluggedcoder.me/%E5%9C%A8linuxcentos%E4%B8%8A%E5%BC%80%E5%90%AF%E5%B0%8F%E5%BA%A6wifi%E6%97%A0%E7%BA%BFap%E6%A8%A1%E5%BC%8F/
(未測試)
更新(2015-5-10):
其他信息可參考我在貼吧的帖子 http://tieba.baidu.com/p/3683815783?pid=66624512774&cid=0#66624512774
更新了編譯好的STA驅動,mt7601Usta_3.18.13-v7+:http://yunpan.cn/cj2EjRJRegppZ (提取碼:09e7)