树莓派2安装使用小米WIfi(360 小度 腾讯wifi)

时间:2024-02-21 10:11:50

更新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)

Technorati 标记: 树莓派2,Raspberry pi 2,mt7601u