iw命令 linux 没有_linux上移植iw工具(最终无法使用)

今天接到一个新任务,要求在已经配置好操作系统、硬件和驱动的主板上,用其wifi连接公司网络。这个主板的功能是为一个嵌入式应用提供底层支持,而这个嵌入式应用是用QT开发的,因此最终目的是通过这个应用搜索无线网络并连接。

于是我想,要再应用层中实现功能,首先还是要在操作系统上先把功能实现了,但因为对linux不是很熟只能上网寻找答案。于是发现有两个工具可以让wifi实现STA(相当于从机)模式,1、iw工具 2、wpa_supplicant。而我选择移植iw。

首先先测试一下wifi是否正常。

未插wifi前

接上wifi后

激活网卡

查看网卡激活状态

查看可用无线网卡,发现没有相关命令,要移植iw工具

(参考:https://blog.csdn.net/x_nazgul/article/details/20153151

https://blog.csdn.net/Lidroid/article/details/46725675

https://blog.csdn.net/o0Avalon0o/article/details/52449757)

移植iw工具需要libnl库的支持,所以先下载libnl库

1、下载libnl压缩包,这里下载的版本为libnl-3.2.25.tar.gz

http://www.infradead.org/~tgr/libnl/

2、把压缩包移到linux中解压: tar xzf libnl-3.2.25.tar.gz

3、解压后进入目录:cd libnl-3.2.25/

4、进行编译:

执行 ./configure --host=arm-linux --prefix=$PWD/tmp

此时出现错误:

configure: WARNING: bison not found. Please install before continuing.

configure: WARNING: flex not found. Please install before continuing.

configure: error: Required packages are missing. Please install them and rerun ./configure

解决方法为安装bison和flex

apt-get install bison

apt-get install flex

之后再执行 ./configure --host=arm-linux --prefix=$PWD/tmp配置成功

5、make

6、make install

7、在tmp目录下就生成了相关的文件,把相应的lib和include 复制到交叉编译工具链中。

(暂时不明白何为交叉编译工具链,先不复制)

下载iw

1、下载源码,这里下载的版本为iw-4.14.tar.gz

https://git.sipsolutions.net/iw.git

2、进入目录后解压,生成目录iw-4.14,进入目录执行make出现以下提示

经查找后得知pkg-config工具的作用是能根据软件安装时软件的.pc配置文件路径找到相应的头文件路径和库文件路径

执行apt-get install pkg-config

下载失败后执行apt-get install update,再次执行上述命令后成功

MakefILE:78提示没有找到libnl的相关依赖文件

根据网上的教程,和查看README文档对libnl的库添加了PKG_CONFIG路径,文档如下:

输入命令如下:

export PKG_CONFIG_PATH=[libnl安装路径]lib/pkgconfig:$PKG_CONFIG_PATH

执行make后成功编译生成iw

3、把iw赋值到根目录的/bin/下执行iw命令

提示是没有找到对应的库

把libnl安装路径中的/lib/下(这样命令可在任何目录下执行)对应的libnl-genl-3.so.200和libnl-3.so.200复制到/lib/arm-linux-gnueabihf/目录中(这个目录的作用还不清楚)

再次执行命令

原因不明,查后发现可能是因为

(转自https://blog.csdn.net/zerer110/article/details/82782518)

(1)wifi驱动没有加载或者是wifi设备没有接入

(2)wifi驱动有加载,并且网络接口都有起来,这种可能是内核驱动不支持nl80211;也有可能是驱动和内核不匹配,建议重新烧录系统,然后重新编译驱动

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值