您的位置:首页 > 其它

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;

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行删除就可以了,其它的内容最好别动,否则虽然某种加密方式可以连通,但是其它的加密方式会连不通;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: