2015年8月1日星期六

在raspberry pi上安装小度wifi驱动

2016年9月1日更新:最新的raspbian(jessie)系统已经原生支持小度wifi
——————————————————————————————————

一、材料准备

1、raspberry pi 2代
2、小度wifi


二、操作步骤

1、在raspberry pi上安装raspbian系统。

官方镜像下载地址:https://www.raspberrypi.org/downloads/


2、安装gcc4.8

1)添加软件源:
sudo nano /etc/apt/sources.list
在sources.list中添加以下内容
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
deb http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
# Source repository to add
deb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
deb http://archive.raspbian.org/raspbian jessie main contrib non-free rpi
# Source repository to add
deb-src http://archive.raspbian.org/raspbian jessie main contrib non-free rpi


2)新建preferences文件
sudo nano /etc/apt/preferences
添加以下内容
Package: *
Pin: release n=wheezy
Pin-Priority: 900
Package: *
Pin: release n=jessie
Pin-Priority: 300
Package: *
Pin: release o=Raspbian
Pin-Priority: -10


3)更新软件包
sudo apt-get update
4)Install gcc/g++ 4.8 from jessie repositories
sudo apt-get install -t jessie gcc-4.8 g++-4.8


5)Install alternatives
sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50


3、用rpi-source软件准备内核编译环境

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
sudo rpi-source


4、编译小度wifi驱动

1)下载源码文件


2)修改源文件
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 */


打开 include/os/rt_linux.h,找到
int fsuid;
int fsgid;
并把它改为
kuid_t fsuid;
kgid_t fsgid;


3)编译安装
make
make install
modprobe mt7601Usta


5、修改配置文件

修改/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


修改/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
}


新建/etc/udev/rules.d/95-ralink.rules文件,将无线网卡ra0改为wlan0
nano /etc/udev/rules.d/95-ralink.rules
添加以下内容
ACTION=="add", SUBSYSTEM=="net", ATTR{type}=="1", KERNEL=="ra*", NAME="wlan0"


6、无线路由器模式