#说明 很多人发过类似文章 但都似乎有抄袭成分很多都未亲测!本文非全原创但都亲测 实践
1.下载官网驱动MT7601
https://www.mediatek.com/products/broadbandWifi/mt7601u
https://d86o2zu8ugzlg.cloudfront.net/mediatek-craft/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2
2.解压编译 添加MIWIFI支持
./common/rtusb_dev_id.c
36 /* module table */
37 USB_DEVICE_ID rtusb_dev_id[] = {
38 {USB_DEVICE(0x2717,0x4106)}, /* XiaoMi WIFI */ <----------------- 添加此行
39 #ifdef RT6570
./os/linux/rt_linux.c
1116 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29)
1117 pOSFSInfo->fsuid = current->fsuid;
1118 pOSFSInfo->fsgid = current->fsgid;
1119 current->fsuid = current->fsgid = 0;
1120 #else
1121 pOSFSInfo->fsuid = current_fsuid().val; <-----------------------修改此行
1122 pOSFSInfo->fsgid = current_fsgid().val; <-----------------------修改此行
1123 #endif
#1121,1122行的修改很多未实践的人都只是从编译通过的角度暂时解决问题,我实践发现运行时会产生kernel panic,上述的.val方法才是正解
make && make install
重启系统后或者 modprob mt7601Usta之后
lsmod|grep mt7601Usta可以查看到module是否成功加载
3.CentOS7遇到的kernel-devel版本过高问题
需要手动安装514把本的kernel-devel (kernel-devel-3.10.0-514.el7.x86_64.rpm)
下面的地址可以免费下载:
http://rpm.pbone.net/index.php3?stat=26&dist=94&size=13490796&name=kernel-devel-3.10.0-514.el7.x86_64.rpm安装该rpm后可以解决编译遇到的kernel-devel版本不匹配问题
4.wpa认证方式
yum install wpa_supplicant
配置连接密码等认证信息
wpa_passphrase "ESSID" "passwd" > /home/wpa_supplicant.conf
也可以手动配置 /home/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="essid"
# key_mgmt=WPA-PSK
psk="12345678"
}
5.启动wpa_supplicant,ra0无线网卡将自动配置(当然也可以手动修改)
wpa_supplicant -Dnl80211,wext -ira0 -c /home/wpa_supplicant.conf
#在我的centos7 32bit机器上nl80211模式硬件不支持,wext模式是可以正常启动的
下面是常用的手动配置
ifconfig ra0 up
ifconfig ra0 192.168.0.2 netmask 255.255.255.0
route add default gw 192.168.0.1
至此,MIWIFI网卡模式正常工作!enjoy yourself!!