iw工具安装和使用 (修正版)
iw 是一種新的基于 nl80211 的用于無線設備的CLI配置實用程序。它支持最近已添加到內核所有新的驅動程序。采用無線擴展接口的舊工具iwconfig已被廢棄,強烈建議切換到 iw 和 nl80211。
iw發布壓縮包可以從這里獲取:http://git.sipsolutions.net/?p=iw.git
本文用到的源碼有:
iw-3.11.tar.bz2,下載地址點擊這里!
libnl-3.2.23.tar.gz,下載地址點擊這里!
tar xzf libnl-3.2.23.tar.gz ? ? ? ? ? ? ? ? ? ? ? ? /* 編譯iw需要用到的庫文件 */
cd libnl-3.2.23/
./configure --host=arm-linux --prefix=$PWD/tmp
編譯會出現錯誤,說確實一些宏,修改 lib/addr.c 添加宏,宏來自內核源碼源碼linux-3.4.2\include\linux\Socket.h文件里面,添加相應的宏。
make
make install
把編譯出來的庫文件應該放入NFS文件系統的lib目錄:cp -r lib ?到文件系統lib
tar xjf iw-3.11.tar.bz2
cd iw-3.11/
修改Makefile:
CC ?= "gcc"修改成CC = "arm-linux-gcc"
NL3xFOUND := $(shell $(PKG_CONFIG) --atleast-version=3.2 libnl-3.0 && echo Y)修改成NL3xFOUND := Y
修改下面兩行為自己安裝的nl庫文件路徑
LIBS += -L/libnl-3.2.25/install/lib
CFLAGS += -I/libnl-3.2.25/install/include/libnl3
另外還有個關鍵:LIBS += -lnl-genl-3后邊一定要加一個-lnl-3,否則會提示找不到定義的問題。
編譯出現沒有定義這個函數,我們自己百度然后添加上去就行。
在info.c的代碼前面添加(下載的文件已經添加過)
#define htole16(X) ?(((((uint16_t)(X)) << 8) | ((uint16_t)(X) >> 8)) & 0xffff)
編譯即可獲得iw工具了。
總結
以上是生活随笔為你收集整理的iw工具安装和使用 (修正版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 开发板4G转WiFi热点 手
- 下一篇: rndis ethernet gadge