介绍
Wi-Fi(WirelessFidelity),即无线保真,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。该技术使用的使2.4GHz附近的频段,该频段目前尚属没用许可的无线频段。其目前可使用的标准有两个,分别是IEEE802.11a和IEEE802.11b。Wi-Fi技术突出的优势在于: 其一,无线电波的覆盖范围广,基于蓝牙技术的电波覆盖范围非常小,半径大约只有50英尺左右约合15米,而Wi-Fi的半径则可达300英尺左右约合100米。 其二,传输速度非常快,可以达到11mbps,符合个人和社会信息化的需求。根据无线网卡使用的标准不同,WIFI的速度也有所不同。其中IEEE802.11b最高为11Mbps(部分厂商在设备配套的情况下可以达到22Mbps),IEEE802.11a为54Mbps、IEEE802.11g也是54Mbps。WIFI无线网络由AP(Access Point)和无线网卡组成。AP一般称为网络桥接器或接入点,AP每100ms将SSID(Service Set Identifier)经由beacons(信号台)封包广播一次,beacons封包的传输速率是1 Mbit/s,并且长度相当的短,所以这个广播动作对网络效能的影响不大。因为Wi-Fi规定的最低传输速率是1 Mbit/s ,所以确保所有的Wi-Fi client端都能收到这个SSID广播封包,client 可以借此决定是否要和这一个SSID的AP连线。使用者可以设定要连线到哪一个SSID。Wi-Fi系统总是对用户端开放其连接标准,并支援漫游,这就是Wi-Fi的好处。但亦意味着,一个无线适配器有可能在性能上优于其他的适配器。由于Wi-Fi通过空气传送信号,所以和非交换以太网有相同的特点。 Wifi加密方式主要有以下三种:WEP(有线等效加密)——采用WEP 64位或者128位数据加密 WPA-PSK [TKIP]——采用预共享密钥的Wi-Fi保护访问,采用WPA-PSK标准加密技术,加密类型为TKIP WPA2-PSK [AES]——采用预共享密钥的Wi-Fi保护访问(版本2),采用WPA2-PSK标准加密技术,加密类型为AES
相关工具安装
在加载wifi驱动之前,我们需要安装应用层的工具,即wireless tools与wpa_supplicant。
2.1 wireless-tools安装
wireless-tools是一组无线网络扫描器及监控工具,可以用于监控、分析、以及测试WiFi网络,支持几乎所有的无线网卡和驱动,它可以支持WEP的AP,但它不能连接到那些只支持WPA的AP。连接AP需要使用它所编译出来的工具。
1、资源下载
下载wireless_tools.
2、解压
# tar zxvf wireless_tools.
#cd wireless_tools.29
3、修改Makefile
## Compiler to use (modify this for cross compile).
CC = mipsel-linux-gcc
4、编译
#make
5、拷贝
将生成的工具:iwlist、iwconfig、iwpriv等拷贝到目标板上,路径为:/root/app/bin/wifitools/
2.3 wpa-supplicant安装
由于wireless tools只能支持连接WEP的AP,所以要支持WPA的AP就需要移植wpa_supplicant。
Rt73的原始驱动中采用的wpa_supplicant的版本比较旧,是0.5.8,我们采用版本。
1、下载资源
本文使用的是:
/releases/wpa_supplicant-0.5.
最新 wpa-supplicant
/releases/wpa_supplicant-0.6.
2、文件修改
对照2009_0206_RT73_Linux_STA_Drv.bz2中WPA_Supplicant-0.5.8的文件,修改0.5.11中的对应文件,
3、解压
# tar zxvf wpa_supplicant-0.5.
# cd wpa_supplicant-0.5.11
4、编译
#cp defconfig .config #使用默认的config
#export CC=mipsel-linux-gcc
#make
5、安装
将生成的wpa_supplicant 拷贝到目标板上, 路径为:/root/app/bin/wifitools/下
6、编写wpa网络的配置文件wpa_supplicant.conf
在目标板上目录为/root/appb/conf/wifi/下,创建一个wpa_supplicant.conf,键入以下内容:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
ap_scan=1
network={
ss #essid
psk="111" #密码
}
3. WIFI驱动安装
1、驱动下载
/data/drivers/2009_0206_RT73_Linux_STA_Drv1.1.0..bz2
2、解压
# tar jxvf 2009_0206_RT73_Linux_STA_Drv1.1.0..bz2
# cd 2009_2006_RT73_Linux_STA_Drv_1.1.0.2/Module
3、修改Makefile
5 #PLATFORM=PC
6 PLATFORM=CMPC
40 ifeq ($(PLATFORM),CMPC)
41 LINUX_SRC = /opt/smp86xx_kernel_source_2.8.4.1/linux-2.6.15
42 endif
4、编译
# cp Makefile.6 ./Makefile
# make
5、安装
在目标板上,先将生成的以及文件 与 拷贝到目标板上。
# cp /root/app/lib/ modules/2.6.15/
# mkdir –p /etc/Wireless/RT73STA
# cp /etc/Wireless/RT73STA
# cp /etc/Wireless/RT73STA
# insmod
# lsmod
另:ifrename 的使用
touch /etc/iftab
ifrename -i ra0 -n wlan0
ifrename -i rausb0 -n wlan0
/etc/iftab wlan1 mac
/man/8/ifrename
---------------------------------------------------------------------------
移植wireless tools for liunx
CC = gcc
AR = ar
RANLIB = ranlib
改为
CC = arm-linux-gcc
AR = arm-linux-ar
RANLIB = arm-linux-ranlib
Cell 01 - Address: 00:19:C6:53:B9:CE
ESSID:"rat-linux"
Mode:Master
Channel:2
Frequency:2.417 GHz (Channel 2)
Quality=11/100 Signal level:66/100
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Extra:tsf=000000056306469f
Extra: Last beacon: 1065ms ago
其中可以看到我的无线接入点是需要密码的。假设密码是123456。使用如下的命令设置密码。
iwconfig wlan0 key 123456
iwconfig wlan0 ap auto
Mode:Managed Frequency:2.417 GHz Access Point: 00:19:C6:53:B9:CE
Bit Rate=1 Mb/s Tx-Power=27 dBm
Retry min limit:7 RTS thr:off Fragment thr=2352 B
Encryption key:1234-56 Security mode:open
Power Management:off
Link Quality=100/100 Signal level:66/100
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
至此,无线网卡安装全部完成。
#! /bin/sh
iwconfig wlan0 key 123456
iwconfig wlan0 essid "rat-linux"
iwconfig wlan0 ap auto
ifconfig wlan0 192.168.1.30 netmask 255.255.255.0