Linux-交叉编译 libnl库和iw工具

iw 简介:

iw
是一种新的基于的用于无线设备的CLI配置实用程序。它支持最近已添加到内核所有新的驱动程序。采用无线扩展接口的旧工具iwconfig已被废弃,强烈建议切换到iw
和 nl80211。但是很多SDK还没有带这个命令 so 记录一下

平台和环境:

	君正 T20 
	交叉编译工具:mips-linux-uclibc-gnu-gcc
	依赖:libnl-3.0
	iw: 3.11

steps:

  • 1.libnl-3.0
export PATH=/usr/lib/mips-gcc472-glibc216-64bit/bin:$PATH

./configure --host=mips --prefix=/home/ky/iw_3_0/libnl-3.0/out CC=mips-linux-uclibc-gnu-gcc

make

make install
  • 2.编译 iw
export PKG_CONFIG_PATH=/home/ky/iw_3_0/libnl-3.0/out/lib/pkgconfig:$PKG_CONFIG_PATH

make CC=mips-linux-uclibc-gnu-gcc

大功告成啦! mips-linux-uclibc-gnu-readelf -d iw 查看依赖的库文件,将这些和iw copy到 板子就可以执行了!

编译过程容易出现的问题记录:

	编译依赖的库:
apt-get install flex
apt-get install bison

出现

libnl-3.2.21/install/lib/libnl-3.a(socket.o): In function `nl_write_lock’:
libnl-3.2.21/lib/…/include/netlink-private/netlink.h:237: undefined reference to pthread_rwlock_wrlock’

及如下错误

install/lib/libnl-3.a(utils.o): In function nl_prob2int':
`` libnl-3.2.21/lib/utils.c:392: undefined reference to `rint’
collect2: ld returned 1 exit status

解决方法:
修改iw-3.7/Makefile
增加LDFLAGS += -lpthread -lm

iw命令扩展

iw help         #查看帮助

iw dev wlan0 scan            #扫描

iw dev wlan0 link              #查看连接信息

iw wlan0 connect foo             #连接到未加密的ap

iw wlan0 connect foo keys 0:abcde d:1:0011223344      #连接到wep加密的ap
(连接wpa加密的ap需要wpa_supplicant)

iw list  # 查看本机支持的无线特性,such as band information (2.4 GHz, and 5 GHz), and 802.11n information

iw dev wlan0 scan # 扫描无线网络,列表的内容都是实时更新的

iw dev wlan0 link # 获取设备连接状态信息(实测不包含IP地址)

iw wlan0 info # 获取设备工作状态信息

iw event # 获取所有网络设备的工作日志信息

编译的资源 po在这里

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值