基于RT73(RT2571WF)的S3C2440+linux2.6.30.4驱动移植
注释:有个学生最近在做基于ARMS,3C2440的无线WIFI对讲机,使用RT2571WF芯片的USB无线wifi,学生做不出来有点烦,我就干脆帮他做下,教程如下:
1、首先从linux2.6.29之后linux-kernel就支持对Rt2x00、Rtl818系列的网卡支持了,下面就是编译移植对应的驱动即可。
rt2x00的目录在linux-2.6.30.4/drivers/net/wireless;
2、在进行编译之前我们要配置一下内核步骤
make menuconfig 打开配置单首先保证IEEE 802.11被选上
选中下列------->
------->
3、下面看下RT73是否被选上(1)----------->(2)
-------->(3)
---------->(4)
如果想直接编译到内核的话这里面的第(3)个选项选择*
4、如果你在第三步的第(3)选项选择M的话那么在linux-2.6.30.4根目录下使用make SUBDIR=drivers/net/wireless modules 他会在drivers/net/wireless/rt2x00下生成rt2x00lib.ko、rt2x00usb.ko、rt73usb.ko三个文件。
5、将第四步的三个ko 文件拷贝到arm的开发板上使用,按照顺序加载模块到开发板上,insmod rt2x00lib.ko
insmod rt2x00usb.ko insmod rt73usb.ko他会增加一个wlan0的网卡设备使用cat /proc/net/wireless查看
6、使用ifconfig wlan0 up 开启wlan0设备,关闭自带的ifconfig eth0 down
代表驱动移植成功!
7、下面将要连接的路由器设置成wep模式的加密方式。这里面注意一点就是加密格式用16进制,使用密钥1 采用64位,我试过采用128位的不成功!
8、安装wireless_tools.29,可以百度下载http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.29.tar.gz,
下载后,将源代码解压。再修改其中的makefile文件,将其中的
CC = gcc
AR = ar
RANLIB = ranlib
改为
CC = arm-linux-gcc
AR = arm-linux-ar
RANLIB = arm-linux-ranlib
再执行make,编译完成后,将生成的iwconfig,iwlist文件拷贝到rat-linux for mini2440的根文件系统中的/bin目录下,将
libiw.so.29拷贝到/lib目录下。
启动mini2440开发板,进入linux命令行后,执行ifconfig wlan0 up,启动无线网卡。再执行iwlist scanning,此命令可以搜索到
可用的无线网络接入点。我的无线接入点是一台无线路由器,ESSID是"rat-linux",执行此命令后就会下列输出
wlan0 Scan completed :
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。使用如下的命令设置密码
下面来连接你创建的wifi热点步骤
iwlist scanning | grep ESSID
iwconfig wlan0 essid "WIFI"
essid 和key 都要使用字符串;
配置网卡信息,可以使用静态也可以使用动态下图是静态的,动态的使用udhcpc -i wlan0
ping 你的路由器 ping 192.168.19.1
然后就没有了。这里面也能使用wlan0网卡设置为AP发射热点,方法先要ifconfig wlan0 down 下面步骤 和上面连接热点一样。然后再开启,然后就over了希望能帮助大家。