使用IW工具配置和连接WIFI
实验版本
IW工具版本:iw-5.0.1
IW依赖库:libnl-3.2.25
安装包下载地址
iw :https://mirrors.edge.kernel.org/pub/software/network/iw/
libnl :http://www.infradead.org/~tgr/libnl/
安装libnl依赖库
解压下载好的libnl-3.2.25.tar.gz,cd libnl-3.2.25/
进入文件夹
配置./configure --host=arm-linux --prefix=$PWD/tmp
,表示在arm主机上运行,生成的编译文件保存在当前文件夹下的tmp目录
然后依次运行make
和make install
。
可以看到tmp目录下生成了这几个目录
如果不想在编译的时候加上- i
和 - l
来指定链接库,我们需要把include目录下的所有文件放到自己交叉编译工具链下的include目录,lib目录也同理。
~/work/project/wifi/libnl-3.2.25/tmp/include/libnl3$ sudo cp netlink/ -rf /usr/local/arm/4.4.3/arm-none-linux-gnueabi/sys-root/usr/include/
~/work/project/wifi/libnl-3.2.25/tmp/lib$ sudo cp * -rf -d /usr/local/arm/4.4.3/arm-none-linux-gnueabi/sys-root/lib/
这边给出我的复制路径,大家根据自己的工具链调整。同时注意复制include目录的时候要到他的下一级目录,也就是netlink。
最后把lib下所有的 * so *文件复制到开发板的 /lib目录下
安装IW工具
解压下载好的iw-5.0.1.tar.gz
cd iw-5.0.1/
export PKG_CONFIG_PATH=/home/zyl/work/project/wifi/libnl3.2.25/tmp/lib/pkgconfig/:$PKG_CONFIG_PATH(就是libnl的安装路径下的 lib/)
make CC=arm-linux-gcc
make install
把生成的iw文件复制到开发板的/usr/bin/目录下。
测试IW工具
启动开发板接上WIFI模块。
- iw list // 列出WIFI网卡的性能
- ifconfig wlan0 up //启用wifi模块
- iw dev wlan0 scan // 扫描可连接WIFI AP
- iw wlan0 connect dswei // 连接到不加密的WIFI,WIFI名字为dswei
- iw wlan0 connect dswei keys d:0:baiwenwang123 // 连接到WEP加密的WIFI,WIFI名为dswei,d: default, 0: 第0个密码
连接成功以后可以在手机上看到有设备连接