基于2.6.35内核的无线网卡驱动的移植
一、 移植环境:
【移植环境】
1、主机:Ubuntu 10.10
2、目标机:FS210平台
3、交叉编译工具:arm-none-linux-gnueabi-4.4.1
4、wifi模块:RT5370STA或RTL8188
5、Linux文件系统:网络加载
6、内核:linux-2.6.35
7、时间:2013.09.04
二、 在linux下的移植
1. Linux 无线wifi网卡的移植。
Fs210开发板可以支持两种不同无线wifi网卡模块,即RT5370STA或RTL8188。这里网卡驱动的移植方法请参照,该光盘下的\fs210 wifi移植文件夹下的FS210无线网卡驱动移植.pdf
三、 wpa_supplicant的移植
需要用到的源码选择:
1、wpa_supplicant-0.7.2.tar.gz
2、openssl-0.9.8e.tar.gz
源码路径:fs210 wifi移植\wifi 加密源码\
1. openssl移植
为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议, 它是一个多用途的、跨平台的密码工具。
a、补丁安装
openssl源码编译需要打wpa_supplicant提供的补丁,我们选择的openssl版本为openssl-0.9.8e所以我们需要wpa_supplicant-0.7.2/patches/openssl-0.9.8e-tls-extensions.patch拷贝到openssl-0.9.8e源码下。
Patch :补丁的意思。
在openssl-0.9.8e下执行命令:
$ cd openssl-0.9.8e
$ patch -p1 < openssl-0.9.8e-tls-extensions.patch //这里是数字1
b、配置编译安装
创建要安装的路径:
$ mkdir /home/linux/workdir/wifi/openssl
$ ./Configure linux-elf-arm -DL_ENDIAN linux:'arm-none-linux-gnueabi-gcc' shared --prefix=/home/linux/workdir/wifi/openssl
//这里的路径是上面你新建的openssl文件夹的路径 配置Makefile选项,生成Makefile
make
make install
2. wpa_supplicant移植
wpa_supplicant本是开源项目源码,被谷歌修改后加入android移动平台,它主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,而用户可以通过socket发送命令给wpa_supplicant调动驱动来对WiFi芯片操作。 简单的说,wpa_supplicant就是WiFi驱动和用户的中转站外加对协议和加密认证的支持,WIFI安全接入客户端。
在/wpa_supplicant-0.7.2/wpa_supplicant目录下。
a、makefile修改
添加
CC=arm-none -linux-gnueabi-gcc //自己的交叉编译工具
//同时删除#ifndef CC 和 #endif 否则在make的时候会出错
在
CFLAGS += -I../src
CFLAGS += -I../src/utils
下添加:
CFLAGS += -I/home/linux/workdir/wifi/openssl/include
修改
LIBS += -lssl
为
LIBS += -lssl -L/home/linux/workdir/wifi/openssl/lib/
修改
LIBS_p += -lcrypto
为
LIBS_p += -lcrypto -L/home/linux/workdir/wifi/openssl/lib/
b、编译
$ cp deconfig .config
$ make
编译后将生产的wpa_supplicant和wpa_cli拷贝到根文件系统的bin目录下
四、 WIFI模块测试
修改路由器安全类型为:WPA-PSK/WPA2-PSK
加密方法:AES
1. 在根文件系统中添加/etc/resolv.conf, //域名解析
2. 内容为
3. 在根文件系统(/source/rootfs/)中添加/etc/wpa_supplicant.conf
//同时注意格式一定和上面的一致不然有可能会出错
AES-CCMP加密法则
在根文件系统下创建目录: /var/run/wpa_supplicant
4. 启动开发板测试
① 配置无线网卡
# ifconfig wlan0 192.168.0.200 这里的必须的路由一个网段
# ifconfig –a
② 配置默认网关
# route add default gw 192.168.0.1
③ 启动wpa_supplicant 连接无线网
# wpa_supplicant -B -iwlan0 -c /etc/wpa_supplicant.conf
④ 查看状态
# wpa_cli status
如果希望上电的时候就完成wifi匹配的话,直接将
ifconfig wlan0 192.168.0.200
route add default gw 192.168.0.1
wpa_supplicant -B -iwlan0 -c /etc/wpa_supplicant.conf
这几行命令写到启动脚本/etc/init.d/rcS中
# ping www.youku.com.cn
五、项目中腾达无线路由配置
注: 复位后的路由器的管理地址:192.168.0.1。
最终配置还要以个人路由器为准,但大体上是相同的。
第一、在“高级设置”下的“WAN口设置”配置如下:
第二,“无线设置”下的“无线基本设置”如下:
第三在“无线设置”的下“无线安全”设置如下: