Wifi移植浅析一
时间:2016-12-14作者:华清远见
大家都知道在做wifi的移植过程中主要是涉及到移植三个东西,一个openssl的移植,一个wpa_suplicant的移植。还有一个就是添加咱们的wifi驱动了,咱们这里使用的rt8192cu.ko。这三个家伙搞定了,咱们的wifi就可以使用了哦。 一 、openssl的移植 我们先来搞清楚openssl是干什么的,为甚么要移植它?带着这些问题咱们往下看吧! Openssl是为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。SSL是Secure Socket Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。源码下载网站 //www.openssl.org/source/,咱们用的源码是openssl-0.9.8e.tar.gz 1.1 解压源码 tar xvf openssl-0.9.8e.tar.gz 1.2 给源码打补丁 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源码下。 (在wifi目录下新建一个openssl目录) patch –p1 < openssl-0.9.8e-tls-extensions.patch 1.3配置编译安装 ./Configure linux-elf-arm -DL_ENDIAN linux:'arm-none-linux-gnueabi-gcc' shared --prefix=/home/linux/workdir/wifi/openssl //要视具体路径而定 这些都是咱们移植手册上提供的,那么咱们来看看这些参数的含义和这么运用他们的根据。 Linux-elf-arm 表示咱们的平台是arm,下见图中INSTALL -DL_ENDIAN 调试 Linux:‘arm-none-linux-gnueabi-gcc’咱们编译使用的交叉工具链 Shared:生成共享库 --prefix:就是咱们的安装路径, 当然以上的这些参数都是可以调整的,其实这些东西都可以在Makefile INSTALL README中寻找到的,官方文档为咱们的配置移植,都提供了详细的解释说明的,所以移植不要怕,查看官方文档就ok的了 二、wpa_suplicant 移植 上面咱们说了openssl就是一个加密的东东,那么wpa_suplicant简单的说,就是WiFi驱动和用户的中转站外加对协议和加密认证的支持。 wpa_suplicant 的源码下载//hostap.epitest.fi/wpa_supplicant/ 具体的移植步骤如下: 进入~/workdir/wifi/wpa_supplicant-0.7.2/wpa_supplicant目录下 makefile修改 下列路径要视具体情况而定 添加 对于makefile的修改的就不用多说了吗,如果你有写的不对的地方,你编译的时候,它直接就会给出错误的提示,根据错误提示,锁定错误的源头,改正即可。 编译 cp defconfig .config 编译后将产生的wpa_supplicant和wpa_cli拷贝到根文件系统的bin目录下(/source/rootfs/bin) 三、加载insmod rt8192cu.ko的驱动到开发板上去。 在这里咱们就不详细说了,因为内核中有都有相应的源码,编译后即可有相应的驱动模块了。 四、wifi的测试 前面三步搞定,咱们的wifi移植,基本上搞定了,剩下的就是怎么了进行测试了。 第一个就是配置咱们的/etc/resolv.conf文件中的nameserver了 1、 在根文件中添加/etc/resolv.conf(/source/rootfs/etc/resolv.conf) 内容为: # Generated by NetworkManager 2、 在根文件系统/etc(/source/rootfs/etc)下添加wpa_supplicant配置文件wpa-psk-tkip.conf 内容为: # WPA-PSK/TKIP 3、 创建目录/var/run/wpa_supplicant mkdir /var/run/wpa_supplicant -p 4、 启动开发板完成如下操作 配置无线网卡ip ifconfig wlan0 192.168.0.200 配置默认网关 route add default gw 192.168.0.1 启动wpa_supplicant连接无线网络 wpa_supplicant -B -iwlan0 -c /etc/wpa-psk-tkip.conf 查看连接状态 wpa_cli status 后面的启动wifi,查看工作状态呀,这些信息都是从哪里来的,你上网搜索发现,每个人写的参数各不相同。那么我们还是来看看官方的配置。
发表评论
|