在树莓派上使用基于MT7601的无线网卡(如360/百度/腾讯Wifi) | 少将全栈
  • 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

在树莓派上使用基于MT7601的无线网卡(如360/百度/腾讯Wifi)

点滴 admin 10年前 (2015-01-24) 9276次浏览 已收录 扫描二维码

首先到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等测试无线网卡能否正常工作。

在树莓派上使用基于MT7601的无线网卡(如360/百度/腾讯Wifi)

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

 

喜欢 (1)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。