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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值