在树莓派上使用360WIFI(也适用于小米、百度、腾讯WIFI)

20141207225314257-0

在树莓派上使用360WIFI完整步骤如下(也适用于小米、百度、腾讯WIFI)

tar xjvf DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2
cd DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/
nano common/rtusb_dev_id.c

在 {USB_DEVICE(0x148f,0x7601)}, /* MT 6370 */ 下面加入以下内容

{USB_DEVICE(0x148f,0x760b)}, /* 360 Wifi */
{USB_DEVICE(0x2955,0x1001)}, /* baidu Wifi */
{USB_DEVICE(0x2a5f,0x1000)}, /* Tencent WIFI */
{USB_DEVICE(0×2955,0×0001)}, /* XiaoDu Wifi */
{USB_DEVICE(0x2717,0x4106)}, /* Xiaomi Wifi */

更新内核后再编译

sudo su
rpi-update
reboot
uname -r
3.12.28+

下载

wget https://github.com/raspberrypi/linux/archive/rpi-3.12.y.tar.gz

解压

tar xvfz rpi-3.12.y.tar.gz

取得root权限

sudo su

将源码移至/usr/src目录

mv linux-rpi-3.12.y /usr/src

建立内核模块库目录的链接

ln -s /usr/src/linux-rpi-3.12.y /lib/modules/3.12.28+/build
cd /lib/modules/3.12.28+/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_)

sudo make
sudo make install
sudo modprobe mt7601Usta

设置使用无线网卡

vi /etc/network/interfacing
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto ra0
allow-hotplug ra0
iface ra0 inet dhcp
wpa-ssid 无线SSID
wpa-psk 无线密码

这样总算完成了(这样只有360wifi2 的无线网卡功能,只能连接无线网,不能使用AP功能);

重启 reboot。



14 评论

  1. DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2 可以去Ralink 官网上下载,找mt7601u。
    还有就是我的uname -r 是3.12.33+ 的,
    编译好了是能用,但是换个无线网 还得重新修改 /etc/network/interfaces 文件,将你新的wpa_ssid和wpa_psk 更新下。

  2. 我的uname -r 已经是3.12.36+
    顺便提一句,我重烧TF卡以后忘记sudo raspi-config进行TF卡设置了
    以至于解压linux-rpi-3.12.y.tar.gz的时候出现了设备空间不足 一一川
    解压过程本身就漫长 我还等待了不止一次…

  3. (以下均直接在树莓派上进行操作) uname -r 显示的是3.12.35+ , 下载的DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2。 修改rtusb_dev_id.c 中添加 {USB_DEVICE(0x2955,0x1001)}, /*baidu wifi*/. 直接sudo make, sudo make install 没有问题。然后modprobe mt7601Usta 的时候显示 ERROR: could not insert mt7601Usta: Exec format error. 请问真么解决呢? 是要改Makefile么? PLATFORM,LINUX_SRC,COMPILE怎么改?

  4. 提醒一下,那一段
    {USB_DEVICE(0x148f,0x760b)}, /* 360 Wifi */
    {USB_DEVICE(0x2955,0x1001)}, /* baidu Wifi */
    {USB_DEVICE(0x2a5f,0x1000)}, /* Tencent WIFI */
    {USB_DEVICE(0×2955,0×0001)}, /* XiaoDu Wifi */
    {USB_DEVICE(0x2717,0x4106)}, /* Xiaomi Wifi */
    第四行不是 x 是乘号,直接粘贴会有问题的,建议管理员看到了改一下吧,也方便大家了。

  5. 建立内核模块库目录的链接
    ln -s /usr/src/linux-rpi-3.12.y /lib/modules/3.12.28+/build
    cd /lib/modules/3.12.28+/build

    使用cd /lib/modules/3.12.28+/build 的时候说未找到文件或目录。。

  6. to DCPAE
    我在链接linux-3.18.12+目录时也遇到类似的问题,后来发现是因为解压缩Linux-rpi-3.18.y.tar.gz文件时会自动生成build目录。要解决此问题,在解压缩源代码文件后,到/lib/moudules/3.18.12+目录中,删除build目录,然后再运行 ln -s /usr/src/linux-rpi-3.18.y /lib/modules/3.12.28+/build命令,这样试试看。

  7. make mrproper
    出现如下错误:

    scripts/Makefile.clean:17: drivers/media/usb/hdpvr/Makefile: 没有那个文件或目录
    make[4]: *** No rule to make target ‘drivers/media/usb/hdpvr/Makefile’。 停止。
    scripts/Makefile.clean:92: recipe for target ‘drivers/media/usb/hdpvr’ failed
    make[3]: *** [drivers/media/usb/hdpvr] Error 2
    scripts/Makefile.clean:92: recipe for target ‘drivers/media/usb’ failed
    make[2]: *** [drivers/media/usb] Error 2
    scripts/Makefile.clean:92: recipe for target ‘drivers/media’ failed
    make[1]: *** [drivers/media] Error 2
    Makefile:1188: recipe for target ‘_clean_drivers’ failed
    make: *** [_clean_drivers] Error 2
    root@raspberrypi:/lib/modules/3.18.10v7-aufs/build# gzip -dc /proc/config.gz > .config

  8. 生成了.config后,编译时,make modules_prepare仍然需要重新配置各种选项,bbalalba一大堆事什么原因?

1 Trackback / Pingback

  1. 在树莓派上使用基于MT7601的无线网卡(如360/百度/腾讯Wifi) » 7f - 柒风博客

发表评论

你的邮件地址不会公开


*