RT3070驱动移植及测试

一 驱动移植:
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 ( ( P L A T F O R M ) , M B 4775 ) L I N U X S R C = / h o m e / s m i l e / k e r n e l C R O S S C O M P I L E = m i p s e l − l i n u x − E n d i f 修 改 完 毕 后 保 存 退 出 ; ( 2 ) o s / l i n u x / c o n f i g . m k 修 改 v i o s / l i n u x / c o n f i g . m k H A S W P A S U P P L I C A N T = y H A S N A T I V E W P A S U P P L I C A N T S U P P O R T = y / / 新 增 M B 4775 C F L A G S 选 项 i f e q ( (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)LINUXSRC=/home/smile/kernelCROSSCOMPILE=mipsellinuxEndif退2os/linux/config.mkvios/linux/config.mkHASWPASUPPLICANT=yHASNATIVEWPASUPPLICANTSUPPORT=y//MB4775CFLAGSifeq((PLATFORM),MB4775)
EXTRA_CFLAGS := -v ( W F L A G S ) − I (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行删除就可以了,其它的内容最好别动,否则虽然某种加密方式可以连通,但是其它的加密方式会连不通;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值