wifi RT3070驱动移植 网络转载

来源:互联网 发布:淘宝卖家怎么发快递 编辑:程序博客网 时间:2024/06/07 02:27

本文转载自:RT3070wifi模块的移植  关于无线网络加密的一些概念   本人糅合了两篇文章的内容。

平台:TI dm6441, ,linux2.6.18,

wifi:RT3070

我看wifi模块上没有写是镭凌公司的,因为公司同事是在另一个公司买的,但是当我看模块的驱动手册时,看到了驱动模块是rt3070sta.ko,狗狗一下后知道了一切。于是:下载了wifi驱动。

wifi驱动是DPO_RT3070_LinuxSTA_V2[1].3.0.4_20100604.tar.bz2在镭凌的官网上可以下载到最新驱程源码。

一:配置内核

       Make menuconfig:

              Device Drivers  --->     

                 Network device support  --->

Wireless LAN (non-hamradio)  ---> 

  [*] Wireless LAN drivers (non-hamradio) & Wireless Extensions                    

      [*]   Wireless Extension API over RtNetlink                                       

          ---   Obsolete Wireless cards support (pre-802.11)                                  

< >   STRIP (Metricom starmode radio IP)                                          

< >   USB ZD1201 based Wireless device support                                    

< >   IEEE 802.11 for H

不然你即使编译好了这个模块也不能用

二、当然是编译模块咯,看驱动里面的readme,根据它来改驱动:

1、改Makefile:  里面没有dm6441平台的,我看到有dm6446的,所以就在这里改了

       ifeq ($(PLATFORM),DM6446)

LINUX_SRC = /root/work/linux-2.6.18_pro500

CROSS_COMPILE=/opt/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-

Endif

这两个路径一定要正确。后来我想了一下这个Makefile里面的平台只是指定了内核和编译工具链,应该随便改哪个平台都是一样的吧。

2、改os/linux/config.mk

       设置CC,LD :
    CC := $(CROSS_COMPILE)gcc
    LD := $(CROSS_COMPILE)ld

       不用修改。

3.复制.dat文件到/etc/目录:
    README上说是把RT2870STA.dat 复制到 /etc/Wireless/RT2870STA/RT2870STA.dat,

  这里的目录要自己建。

三、用到的测试工具和库文件。

       后来我从厂家那里拿到了他们驱动和工具。

我把厂家驱动光盘里WF8000-U_091225/linux/usr下的bin文件cp到/usr/bin 下。注意要改权限  chmod a+x /usr/bin/* 用于测试的工具就算装好了。

但是我把 libiw.so.29拷到/lib目录下但是和没拷错误一样,结果拷到根目录下成功,但是库不能放在这里啊,我估计要放到/usr/lib下,还没有试。

四、测试:

查看模块驱动里面的iwpriv_usage.txt可知道各个命令的参数,我由于当初没有看这里面的东西在进入有密码的路由器时吃了大亏,原来这里写的很清楚。

 

insmod   rt3070sta.ko

ifconfig ra0 up     启用无线网卡,至于为什么是ra0,因为我的使用手册上是这样做的

       此时cat /proc/wireless   可以看到多了一个ra0

iwlist scanning 可以搜索到可用的网络  iwlist ra0 scanning  (只搜索ra0的无线网络)

iwpriv ra0 set SSID="name"无线网络配置  name是搜到的一个网络的名字。假如不要密码这样就行了。

iwpriv ra0 set WPAPSK="A3DDD"  输入登陆密码

iwconfig ra0 key open       打开密码   输入密码后 一定要加这条命令哦,不然连接不上

ifconfig ra0 192.168.1.109 netmask 255.255.255.0为无线网卡指定IP地址

设置网关   route add default gw 192.168.1.1

之后我在ubantu上ping 192.168.1.109 成功。这些命令就是所谓的工具。

在超级终端ping 外网成功。

 

各种密码的命令参数,这在iwpriv_usage.txt里面可以查到。

无密码:

iwpriv ra0 set SSID="Vodafone D100"

注意:在切换到无密码的用户时,若之前是有密码用户,则要iwconfig ra0 key off。

关于无线网络加密的一些概念

   消费者在采购无线网路设备时,一定有看过或听过WEP加密机制,产品的彩盒上也都会注明支持64128bitWEP加密(目前是面上每款产品最少都支持64位元WEP)。WEP安全协定的英文全名为wired equivalent privacy protocol,是由Wi-Fi联盟制定。

   两个802.11g无线网卡,对等网方式连接,用XP无线网络来管理,设置网络验证方式可选:开放式、共享式、WPA-None三种。其中开放式、共享式只能选WEP加密;而WPA-None加密方式可选TKIPAES两类。

无线局域网概念介绍

无线局域网的英文简称是WLANWirel Local Area Network),国内目前使用最多是802.11a/b/g

频道(Channel)
802.11g
可兼容802.11b,二者都使用了2.4G微波频段,最多可以使用14个频道(Channel)。各国的规定的2.4G频率范围略有不 同,在中国802.11b/g可以使用1-11频道,在同一区域可以有3个互不干扰的频道。家用微波炉也在这一频率范围会对信号有影响。蓝牙也在2.4G内,但蓝牙功率很小因此不会有大的影响。802.11a使用了5G无线频段,在同一区域可以有12个频道,一些高端的迅驰网卡支持802.11a

带宽(bandwith)

802.11n支持在标准带宽(20MHz)上的速率包括有(单位Mbit/s):7.2, 14.4, 21.7, 28.9, 43.3, 57.8, 65, 72.2(短保护间隔,单数据流)。使用4xMIMO时速度最高为300Mbit/s。

802.11n也支持双倍带宽(40MHz),当使用40MHz带宽和4*MIMO时,速度最高可达600Mbit/s。

802.11b: 11M,5.5M,2M,1M
802.11g: 54M,48M,36M,24M,18M,12M,9M,6M
802.11a: 54M,20M,6M

AP(Acess Point)
无线接入点,是一种网络设备,无线网卡与AP相连,通过AP其它网卡交换信号,AP通常还有RJ-45以太网口用以与有线网相连。简单地说AP就象一个Hub

Infrastructure
基础架构通讯方式,无线网卡通过AP进行无线通讯。

Ad-Hoc
一种无线网络通讯方式,各个网卡不经过AP直接进行点对点的通讯,当使用人比较少又没有AP但仍然想通过无线方式交互信息时可以用Ad-hoc方式应急。

SSID(System Set ID)
SSID
用来区分不同的网络,最多可以有32个字符,如我们用的wep.net.sjtu。网卡设置了不同的SSID就可以进入不同网络,SSID通常由AP广播出来,通过XP自带的扫描功能可以相看当前区域内的SSID。出于安全考虑可以不广播SSID,此时用户就要手工设置SSID才能进入相应的网 络。

WEP(Wired Equivalent Privacy)有线等效保密
为了保证数据能通过无线网络安全传输而制定的一个加密标准,使用了共享秘钥RC4加密算法,密钥长度最初为40(5个字符),后来增加到128(13个字符),有些设备可以支持152位加密。使用静态(Static)WEP加密可以设置4WEP Key,使用动态(DynamicWEP加密时,WEP Key会随时间变化而变化。

开放式与共享式验证(open or shared Authentication)
无线设备之间认证的模式,通常使用静态WEP加密时使用共享方式,使用802.1x动态WEP加密时使用开放认证方式。

WPA(Wi-Fi Protected Access)
Wi-Fi
联盟制定的过渡性无线网络安全标准,相当于802.11i的精简版,使用了TKIP(Temporal Key Integrity Protocal)数据加密技术,虽然仍使用RC4加密算法,但使用了动态会话密钥。TKIP引入了4个新算法:48位初始化向量(IV)IV顺序规则(IV Sequencing Rules)、每包密钥构建(Per-Packet Key Construction)Michael消息完整性代码(Message Integrity Code,MIC)以及密钥重获/分发。WPA极大提高了无线网络数据传输的安全性。

802.1x认证
静态WEP秘钥难于管理,改变秘钥时要通知所有人,如果有一个地方泄漏了秘钥就无安全性可言,而且静态WEP加密有严重的安全漏洞,通过无线侦听在收到一 定数量的数据后就可以破解得到WEP秘钥。802.1x最初用于有线以态网的认证接入,防止非法用户使用网络,后来人们发现802.1x用以无线网可以较 好地解决无线网络的安全接入。802.1xEAP-TLS通过数字证书实现了用户与网络之间的双向认证,即可以防止非法用户使用网络,也可以防止用户连入非法的AP802.1x使用动态WEP加密防止WEP Key被破解。为解决数字证书的发放难题人们对TLS认证进行了改进产生了TTLSPEAP,可以用传统的用户名口令方式认证入网。我校无线网络的802.1x可以同时支持EAP-TLSTTLSPEAP

WAPI(WLAN Authentication and Privacy Infrastructure)无线局域网认证与保密基础架构
中国提出的一个无线网络通讯的安全标准,国标代号GB15629.11

Wi-Fi
Wi-Fi联盟(Wi-Fi Alliance)的标记,参看[url]http://www.wi-fi.org[/url]Wi-Fi联盟是1999年成立的非盈利性的国际组织,致力于基于802.11的无线网络产品的互通性认证。目前拥有200家会员单位。

?WPA-PSK—Enables WPA Pre-shared key (WPA-PSK), which enables your client adapter to associate to access points using WPA-PSK.

?WPA-None—Enables WPA for your client adapter when the client is set for ad hoc mode.

wpa-none用于对等网(ad-hoc),wpa-psk用于接入点连接。

区别:
WPA supports two mutually exclusive key management types: WPA and WPA-Pre-shared key (WPA-PSK). Using WPA key management, clients and the authentication server authenticate to each other using an EAP authentication method, and the client and server generate a pairwise master key (PMK). Using WPA, the server generates the PMK dynamically and passes it to the access point. Using WPA-PSK, however, you configure a pre-shared key on both the client and the access point, and that pre-shared key is used as the PMK.

加密强度:
WPA-AES using a radius server is better security since you then don't use a pre shared key.
But for most home users, setting up a radius server is not an option.
WPA-PSK with a pre shared key more than ~20 characters should be more secure than WEP.
preferebly using AES.
With WPA in infrastructure mode, the AP will provide you the key to encrypt/decrypt data, you can also on most AP set the timout interval when to renew the key.
With WPA-None, there is no 802.1x authenction, the key used to encrypt /decrypt is just a hash of the SSID and the password.
To me using WPA-None / TKIP isn't much better than WEP. (since both encrypt/decrypt using RC4 and the key is static)
Using WPA-None and AES should increase the security but still the key is static.

wpa是包含802.1x认证的,wpa-none则取消了这个功能。


WPA型密码:

 网上说若路由器的加密方式是wpa的话要移植wpa_supplicant工具,我没有这样做,还是可以。

iwpriv ra0 set NetworkType=Infra       网络类型有Infra,Adhoc两种,前者是基于AP的,后者是p2p

iwpriv ra0 set AuthMode=WPAPSK                OPEN,SHARED,WEPAUTO,WPAPSK,WPA2PSK,WPANONE

iwpriv ra0 set EncrypType=TKIP                NONE,WEP,TKIP,AES

iwpriv ra0 set SSID="Vodafone D100"

iwpriv ra0 set WPAPSK="1234567890"

 

WEP型密码:

iwpriv ra0 set NetworkType=Infra

iwpriv ra0 set AuthMode=OPEN 

iwpriv ra0 set EncrypType=WEP  

iwpriv ra0 set DefaultKeyID=1

iwpriv ra0 set Key1="1234567890"

iwpriv ra0 set SSID="Vodafone D100"

Adhoc 示例:

iwpriv ra0 set NetworkType=Adhoc

iwpriv ra0 set AuthMode=OPEN  //或者 SHARED

iwpriv ra0 set EncrypType=WEP  

iwpriv ra0 set DefaultKeyID=1

iwpriv ra0 set Key1="1234567890"

iwpriv ra0 set SSID="Vodafone D100"


切换用户登陆:

       直接重新输入登陆名字和输入密码的命令,值得注意的是在切换有密码和没有密码的用户时要相应的iwconfig ra0 key open和iwconfig ra0 key off。

 

网上说若路由器的加密方式是wpa的话要移植wpa_supplicant工具,我没有作过,看别人的http://blog.csdn.net/jimmy_1986/archive/2010/09/09/5872536.aspx

错误信息

PING 192.168.1.1 (192.168.1.1): 56 data bytes

ping: sendto: Network is unreachable

此原因是没有设置ip   ifconfig ra0 192.168.1.109 up    解决。 

ping 219.134.65.113   外网

ping: sendto: Network is unreachable

此原因是没有设置网关   route add default gw 192.168.1.1   解决。

0 0