首先到MTK的官网下载驱动并传到树莓派上:http://www.mediatek.com/zh-CN/downloads/mt7601u-usb/
解压:
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(0x2955,0x1001)}, /* baidu Wifi */ {USB_DEVICE(0x2a5f,0x1000)}, /* Tencent WIFI */ {USB_DEVICE(0x2955,0x0001)}, /* XiaoDu Wifi */ {USB_DEVICE(0x2717,0x4106)}, /* Xiaomi Wifi */
查看当前内核的版本:
uname -r
显示我的版本是3.12.35+ ,如果你的不是这个版本,请更新内核后再编译
sudo su rpi-update reboot uname -r 3.12.35+
下载对应的3.12的linux源码,然后解压:
wget https://github.com/raspberrypi/linux/archive/rpi-3.12.y.tar.gz tar xvfz rpi-3.12.y.tar.gz
取得root权限,将源码移至/usr/src目录:
sudo su mv linux-rpi-3.12.y /usr/src
建立内核模块库目录的链接:
ln -s /usr/src/linux-rpi-3.12.y /lib/modules/3.12.35+/build cd /lib/modules/3.12.35+/build
make mrproper 可以看作更加强劲的 make clean 命令,用来清除环境变量,即清除配置文件,一般编译内核前都要运行:
make mrproper
将当前正在使用的系统的内核配置生成内核配置信息:
gzip -dc /proc/config.gz > .config
生成编译内核所需要的东西:
make modules_prepare
获取内核编译时生成的内核模块导出符号文件。因为不是从头编译内核,所以没有,但是编译内核模块需要这个:
wget https://github.com/raspberrypi/firmware/raw/master/extra/Module.symvers
再到网卡驱动目录中编译驱动(进入到DPO_MT7601U_LinuxSTA_3.0.0.4_20130913):
make make install modprobe mt7601Usta
如无报错,驱动就安装完成了。
之后是修改/etc/network/interfaces文件,我改成这样:
auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp allow-hotplug ra0 iface ra0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
其中添加的ra0是对应MT7601的,wlan0没有改,插其他无线网卡应该也能正常用。
然后修改/etc/wpa_supplicant/wpa_supplicant.conf,填入要连接的无线网络的配置。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="yourssid" psk="yourpassword" proto=RSN key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP auth_alg=OPEN priority=3 }
最后的priority是该配置的优先级,数字越大越先连接。添加几个就能在不同的地方自动连接了。
重启机器,用ifconfig、iwconfig等测试无线网卡能否正常工作。
rdp远程登录进去,打开Wifi设置后的截图
说一下我遇到的问题。编译的过程中我遇到了
/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../common/rtusb_dev_id.c:48:2: error: stray ‘303’ in program
的错误,经过搜索发现与http://tieba.baidu.com/p/2834547500的问题一致。后来发现是添加 {USB_DEVICE(0x148f,0x760b)}, /* 360 Wifi */ 等信息时的问题,看上去的代码是正常的,但是可能混入了看不到的字符导致编译错误。最终手打了那几行再编译就通过了。
相关参考:
1.在树莓派上使用360WIFI(也适用于小米、百度、腾讯WIFI):http://shumeipai.nxez.com/2014/12/07/raspberry-pi-use-360wifi.html