RT3070驱动移植及测试
2016-03-31 22:09
239 查看
一 驱动移植:
1 配置内核wireless选项
进入内核目录,make menuconfig ,
[*] Networking support —>
[*] Wireless —>
— Wireless
-*- Wireless extensions
[*] Wireless extensions sysfs files
-*- Common routines for IEEE802.11 drivers
Device Drivers —>
[*] Network device support —>
Wireless LAN —>
[*] Wireless LAN (IEEE 802.11)
<*> IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)
2 rt3070驱动编译
(1)进入rt3070驱动源码目录,vi Makefile;
//指定内核源码树以及交叉编译工具链
ifeq ((PLATFORM),MB4775)LINUXSRC=/home/smile/kernelCROSSCOMPILE=mipsel−linux−Endif修改完毕后保存退出;(2)os/linux/config.mk修改vios/linux/config.mkHASWPASUPPLICANT=yHASNATIVEWPASUPPLICANTSUPPORT=y//新增MB4775CFLAGS选项ifeq((PLATFORM),MB4775)
LINUX_SRC = /home/smile/kernel
CROSS_COMPILE = mipsel-linux-
Endif
修改完毕后保存退出;
(2)os/linux/config.mk修改
vi os/linux/config.mk
HAS_WPA_SUPPLICANT=y
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
//新增MB4775 CFLAGS选项
ifeq ((PLATFORM),MB4775)
EXTRA_CFLAGS := -v (WFLAGS)−I(WFLAGS) -I(RT28xx_DIR)/include
Endif
修改完毕后保存,make ;将os/linux/rt3070sta.ko拷贝到开发板;
二 无线工具移植和环境准备
在开发板文件系统中,新建以下文件夹
mkdir /etc/Wireless/RT2870STA/
mkdir /var/run/wpa_supplicant
进到rt3070驱动源码目录,将RT2870STA.dat 拷贝到开发板 /etc/Wireless/RT2870STA/目录下 ;
拷贝附件中 tools目录下 libiw.so.29 到开发板 /lib/下;
拷贝附件中 tools目录下default.script到开发板 /usr/share/udhcpc/下;
拷贝其他测试程序到 开发板/bin/目录下。
三 usb wifi 测试
测试的路由器网关设为192.168.1.1
1.测试WPA-PSK/TKIP, WPA-PSK/AES WPA2-PSK/TKIP WPA2-PSK/AES 加密认证方式
无线路由器常见加密方式有WPA-PSK、WPA2-PSK,wpa加密需要用wpa_supplicant工具连接,连接又可以用wpa_cli和wpa_supplicnat.conf两种方式,这里选择wpa_supplicant.conf的方式。
wpa_supplicnat.conf的编写(该脚本适用于WPA-PSK/TKIP, WPA-PSK/AES WPA2-PSK/TKIP WPA2-PSK/AES 加密认证方式):
ctrl_interface=DIR=/var/run/wpa_supplicant
ctrl_interface_group=wheel
ap_scan=1
network={
ssid=”smile”
proto=WPA2 WPA
key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
eap=PEAP TTLS TLS
psk=”12345678”
priority=2
}
将以上内容保存为/etc/wpa_supplicant.conf
insmod rt3070sta.ko// 加载驱动
ifconfig ra0 up //启用网卡
wpa_supplicnat -ira0 –B –Dwext -c/etc/wpa_supplicant.conf(-i 指定网络节点 –B 后台运行 –c指定配置文件路径)
udhcpc –i ra0 //自动获取ip
ping 192.168.1.1
显示结果:64 bytes from 192.168.1.1: seq=55 ttl=64 time=1.176 ms说明ping通网关
2.测试WEP-SHARED加密:
iwlist ra0 scan
iwpriv ra0 set NetworkType=Infra
iwpriv ra0 set AuthMode=SHARED
iwpriv ra0 set EncrypType=WEP
iwpriv ra0 set DefaultKeyID=1
iwpriv ra0 set Key1=”12345”
iwpriv ra0 set SSID=”smile”
iwconfig ra0
udhcpc –i ra0
ping 192.168.1.1
3.测试WEP-OPEN加密认证方式:
该方式比较简单,很容易连接。
(1)用iwpriv工具
iwlist ra0 scan
iwpriv ra0 set NetworkType=Infra
iwpriv ra0 set AuthMode=OPEN
iwpriv ra0 set EncrypType=NONE
iwpriv ra0 set SSID=”smile”
iwconfig ra0
udhcpc –i ra0
ping 192.168.1.1
(2)用iwconfig工具
iwlist ra0 scan
iwconfig ra0 essid smile
udhcpc –I ra0
ping 192.168.1.1
4.测试WEP-AUTO加密认证方式:
iwlist ra0 scan
iwpriv ra0 set NetworkType=Infra
iwpriv ra0 set AuthMode=WEPAUTO
iwpriv ra0 set EncrypType=WEP
iwpriv ra0 set DefaultKeyID=1
iwpriv ra0 set Key1=12345//路由器有密码则写没有则空着就行了
iwpriv ra0 set SSID=”smile”
iwconfig ra0
这样常见的加密方式都测试到了。
四注意的问题:
1. 使用过的最新的驱动用同样的测试方法,但是好像有些问题,最后用这个版本的驱动测试,一切正常,所以需要注意下驱动版本,最新的不定是最好的,当觉得方法没有错而总是调不通的时候,可以换个驱动版本试试。
2. RT2870STA.dat将default行删除就可以了,其它的内容最好别动,否则虽然某种加密方式可以连通,但是其它的加密方式会连不通;
1 配置内核wireless选项
进入内核目录,make menuconfig ,
[*] Networking support —>
[*] Wireless —>
— Wireless
-*- Wireless extensions
[*] Wireless extensions sysfs files
-*- Common routines for IEEE802.11 drivers
Device Drivers —>
[*] Network device support —>
Wireless LAN —>
[*] Wireless LAN (IEEE 802.11)
<*> IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)
2 rt3070驱动编译
(1)进入rt3070驱动源码目录,vi Makefile;
PLATFORM 5VT //注释掉以前的平台
PLATFORM MB4775 //新增平台MB4775
//指定内核源码树以及交叉编译工具链
ifeq ((PLATFORM),MB4775)LINUXSRC=/home/smile/kernelCROSSCOMPILE=mipsel−linux−Endif修改完毕后保存退出;(2)os/linux/config.mk修改vios/linux/config.mkHASWPASUPPLICANT=yHASNATIVEWPASUPPLICANTSUPPORT=y//新增MB4775CFLAGS选项ifeq((PLATFORM),MB4775)
LINUX_SRC = /home/smile/kernel
CROSS_COMPILE = mipsel-linux-
Endif
修改完毕后保存退出;
(2)os/linux/config.mk修改
vi os/linux/config.mk
HAS_WPA_SUPPLICANT=y
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
//新增MB4775 CFLAGS选项
ifeq ((PLATFORM),MB4775)
EXTRA_CFLAGS := -v (WFLAGS)−I(WFLAGS) -I(RT28xx_DIR)/include
Endif
修改完毕后保存,make ;将os/linux/rt3070sta.ko拷贝到开发板;
二 无线工具移植和环境准备
在开发板文件系统中,新建以下文件夹
mkdir /etc/Wireless/RT2870STA/
mkdir /var/run/wpa_supplicant
进到rt3070驱动源码目录,将RT2870STA.dat 拷贝到开发板 /etc/Wireless/RT2870STA/目录下 ;
拷贝附件中 tools目录下 libiw.so.29 到开发板 /lib/下;
拷贝附件中 tools目录下default.script到开发板 /usr/share/udhcpc/下;
拷贝其他测试程序到 开发板/bin/目录下。
三 usb wifi 测试
测试的路由器网关设为192.168.1.1
1.测试WPA-PSK/TKIP, WPA-PSK/AES WPA2-PSK/TKIP WPA2-PSK/AES 加密认证方式
无线路由器常见加密方式有WPA-PSK、WPA2-PSK,wpa加密需要用wpa_supplicant工具连接,连接又可以用wpa_cli和wpa_supplicnat.conf两种方式,这里选择wpa_supplicant.conf的方式。
wpa_supplicnat.conf的编写(该脚本适用于WPA-PSK/TKIP, WPA-PSK/AES WPA2-PSK/TKIP WPA2-PSK/AES 加密认证方式):
ctrl_interface=DIR=/var/run/wpa_supplicant
ctrl_interface_group=wheel
ap_scan=1
network={
ssid=”smile”
proto=WPA2 WPA
key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
eap=PEAP TTLS TLS
psk=”12345678”
priority=2
}
将以上内容保存为/etc/wpa_supplicant.conf
insmod rt3070sta.ko// 加载驱动
ifconfig ra0 up //启用网卡
wpa_supplicnat -ira0 –B –Dwext -c/etc/wpa_supplicant.conf(-i 指定网络节点 –B 后台运行 –c指定配置文件路径)
udhcpc –i ra0 //自动获取ip
ping 192.168.1.1
显示结果:64 bytes from 192.168.1.1: seq=55 ttl=64 time=1.176 ms说明ping通网关
2.测试WEP-SHARED加密:
iwlist ra0 scan
iwpriv ra0 set NetworkType=Infra
iwpriv ra0 set AuthMode=SHARED
iwpriv ra0 set EncrypType=WEP
iwpriv ra0 set DefaultKeyID=1
iwpriv ra0 set Key1=”12345”
iwpriv ra0 set SSID=”smile”
iwconfig ra0
udhcpc –i ra0
ping 192.168.1.1
3.测试WEP-OPEN加密认证方式:
该方式比较简单,很容易连接。
(1)用iwpriv工具
iwlist ra0 scan
iwpriv ra0 set NetworkType=Infra
iwpriv ra0 set AuthMode=OPEN
iwpriv ra0 set EncrypType=NONE
iwpriv ra0 set SSID=”smile”
iwconfig ra0
udhcpc –i ra0
ping 192.168.1.1
(2)用iwconfig工具
iwlist ra0 scan
iwconfig ra0 essid smile
udhcpc –I ra0
ping 192.168.1.1
4.测试WEP-AUTO加密认证方式:
iwlist ra0 scan
iwpriv ra0 set NetworkType=Infra
iwpriv ra0 set AuthMode=WEPAUTO
iwpriv ra0 set EncrypType=WEP
iwpriv ra0 set DefaultKeyID=1
iwpriv ra0 set Key1=12345//路由器有密码则写没有则空着就行了
iwpriv ra0 set SSID=”smile”
iwconfig ra0
这样常见的加密方式都测试到了。
四注意的问题:
1. 使用过的最新的驱动用同样的测试方法,但是好像有些问题,最后用这个版本的驱动测试,一切正常,所以需要注意下驱动版本,最新的不定是最好的,当觉得方法没有错而总是调不通的时候,可以换个驱动版本试试。
2. RT2870STA.dat将default行删除就可以了,其它的内容最好别动,否则虽然某种加密方式可以连通,但是其它的加密方式会连不通;
相关文章推荐
- eclipse validating 很慢
- UVa 1586 Molar mass --- 水题
- CSS hack技术
- [android] 代码注册广播接收者&利用广播调用服务的方法
- 引用知识总结
- java集合(一)
- POJ 2513 Colored Sticks
- 错误与断言
- java虚拟机 内存模型
- U3D 中关于相同的怪物不发生碰撞 或者是想让一些物体发生碰撞 又不想让一些物体发生碰撞
- continue break 区别
- 朴素贝叶斯分类
- Intent 全面理解
- bzoj 2049: [Sdoi2008]Cave 洞穴勘测(LCT模板)
- 置位比特位置查找
- shell 之 bash 与sh 区别
- Java多线程Runnable接口与Thread类,以及synchronied关键字
- POJ 2029 Get Many Persimmon Trees(二维树状数组)
- 几种语言的计算速度问题
- 梯度下降实用技巧I之特征缩放 Gradient Descent in practice I - feature scaling