创建Android.mk,内容如下
java代码:
- LOCAL_PATH:= $(call my-dir)
- ################## build iwlib ###################
- include $(CLEAR_VARS)
- LOCAL_SRC_FILES := iwlib.c
- LOCAL_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Winline -MMD -fPIC
- LOCAL_MODULE:= libiw
- LOCAL_STATIC_LIBRARIES := libcutils libc libm
- include $(BUILD_STATIC_LIBRARY)
- ################## build iwconfig ###################
- include $(CLEAR_VARS)
- LOCAL_SRC_FILES := iwconfig.c
- LOCAL_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Winline -MMD -fPIC
- LOCAL_MODULE:= iwconfig
- LOCAL_STATIC_LIBRARIES := libcutils libc libm libiw
- #LOCAL_FORCE_STATIC_EXECUTABLE := true
- LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) # install to system/xbin
- #LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)
- #LOCAL_MODULE_TAGS := eng user
- include $(BUILD_EXECUTABLE)
- ################## build iwlist ###################
- include $(CLEAR_VARS)
- LOCAL_SRC_FILES := iwlist.c iwlib.h
- LOCAL_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Winline -MMD -fPIC
- LOCAL_MODULE:= iwlist
- LOCAL_STATIC_LIBRARIES := libcutils libc libm libiw
- #LOCAL_FORCE_STATIC_EXECUTABLE := true
- LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) # install to system/xbin
- #LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)
- #LOCAL_MODULE_TAGS := eng user
- include $(BUILD_EXECUTABLE)
修改
将wireless.22.h 更名为wireless.h
修改ifrename.c 增加getline的函数,代码可以从external/genext2fs/genext2fs.c中获得,注意里边是用宏把另一个函数传给getline
修改iwlib.h,将#include
编译
java代码:
- qiu@qiubutu:~/eclair-21/external/wireless-tools$ . ../../build/envsetup.sh
- qiu@qiubutu:~/eclair-21/external/wireless-tools$ mm
- PLATFORM_VERSION_CODENAME=REL
- PLATFORM_VERSION=2.1-update1
- TARGET_PRODUCT=generic
- TARGET_BUILD_VARIANT=eng
- TARGET_SIMULATOR=
- TARGET_BUILD_TYPE=release
- TARGET_ARCH=arm
- HOST_ARCH=x86
- HOST_OS=linux
- HOST_BUILD_TYPE=release
- BUILD_ID=ECLAIR
make:进入目录'/home/qiu/eclair-21'
java代码:
- target thumb C: iwconfig <= external/wireless-tools/iwconfig.c
- In file included from external/wireless-tools/iwlib.h:25,
- from external/wireless-tools/iwlib-private.h:19,
- from external/wireless-tools/iwconfig.c:14:
- bionic/libc/include/stdlib.h:84: warning: declaration of 'abs' shadows a built-in function
- bionic/libc/include/stdlib.h:88: warning: declaration of 'labs' shadows a built-in function
- bionic/libc/include/stdlib.h:92: warning: declaration of 'llabs' shadows a built-in function
- target thumb C: libiw <= external/wireless-tools/iwlib.c
- In file included from external/wireless-tools/iwlib.h:25,
- from external/wireless-tools/iwlib-private.h:19,
- from external/wireless-tools/iwlib.c:14:
- bionic/libc/include/stdlib.h:84: warning: declaration of 'abs' shadows a built-in function
- bionic/libc/include/stdlib.h:88: warning: declaration of 'labs' shadows a built-in function
- bionic/libc/include/stdlib.h:92: warning: declaration of 'llabs' shadows a built-in function
- target StaticLib: libiw (out/target/product/generic/obj/STATIC_LIBRARIES/libiw_intermediates/libiw.a)
- target Executable: iwconfig (out/target/product/generic/obj/EXECUTABLES/iwconfig_intermediates/LINKED/iwconfig)
- target Non-prelinked: iwconfig (out/target/product/generic/symbols/system/bin/iwconfig)
- target Strip: iwconfig (out/target/product/generic/obj/EXECUTABLES/iwconfig_intermediates/iwconfig)
- Install: out/target/product/generic/system/xbin/iwconfig
- target thumb C: iwlist <= external/wireless-tools/iwlist.c
- In file included from external/wireless-tools/iwlib.h:25,
- from external/wireless-tools/iwlib-private.h:19,
- from external/wireless-tools/iwlist.c:14:
- bionic/libc/include/stdlib.h:84: warning: declaration of 'abs' shadows a built-in function
- bionic/libc/include/stdlib.h:88: warning: declaration of 'labs' shadows a built-in function
- bionic/libc/include/stdlib.h:92: warning: declaration of 'llabs' shadows a built-in function
- target Executable: iwlist (out/target/product/generic/obj/EXECUTABLES/iwlist_intermediates/LINKED/iwlist)
- target Non-prelinked: iwlist (out/target/product/generic/symbols/system/bin/iwlist)
- target Strip: iwlist (out/target/product/generic/obj/EXECUTABLES/iwlist_intermediates/iwlist)
- Install: out/target/product/generic/system/xbin/iwlist
- make:离开目录“/home/qiu/eclair-21”
拷贝到文件系统
java代码:
- qiu@qiubutu:~/eclair-21/external/wireless-tools$ croot
- qiu@qiubutu:~/eclair-21$ cp out/target/product/generic/system/xbin/iwconfig /nfs/rootfs/system/xbin/iwconfig
- qiu@qiubutu:~/eclair-21$ cp out/target/product/generic/system/xbin/iwlist /nfs/rootfs/system/xbin/
测试
启动android后
java代码:
- # modprobe libertas
- # modprobe libertas_sdio
- libertas_sdio: Libertas SDIO driver
- libertas_sdio: Copyright Pierre Ossman
- model=0xb
- sd8686_helper.bin sd8686.bin
- init: untracked pid 853 exited
- init: untracked pid 856 exited
- libertas: eth1: Marvell WLAN 802.11 adapter
- # iwconfig eth1
- eth1 IEEE 802.11b/g ESSID:"Antrose-11g"
- Mode:Managed Frequency:2.437 GHz Access Point: 00:15:E9:0C:87:7C
- Bit Rate:1 Mb/s Tx-Power=13 dBm
- Retry limit:8 RTS thr=2347 B Fragment thr=2346 B
- Encryption key:off
- Power Management:off
- Link Quality=83/100 Signal level=-60 dBm Noise level=-93 dBm
- Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:1441
- Tx excessive retries:44 Invalid misc:11220 Missed beacon:0
- # iwlist scan
- eth1 Scan completed :
- Cell 01 - Address: 00:22:6B:8C:5D:3A
- ESSID:"Antrose-11g"
- Mode:Managed
- Frequency:2.412 GHz (Channel 1)
- Quality=65/100 Signal level=-78 dBm Noise level=-96 dBm
- Encryption key:off
- Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
- 24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s
- 12 Mb/s; 48 Mb/s
- # iwconfig eth1 essid Antrose-11g
- # iwconfig eth1
- eth1 IEEE 802.11b/g ESSID:"Antrose-11g"
- Mode:Managed Frequency:2.437 GHz Access Point: 00:15:E9:0C:87:7C
- Bit Rate:1 Mb/s Tx-Power=13 dBm
- Retry limit:8 RTS thr=2347 B Fragment thr=2346 B
- Encryption key:off
- Power Management:off
- Link Quality=83/100 Signal level=-60 dBm Noise level=-93 dBm
- Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:1441
- Tx excessive retries:44 Invalid misc:11220 Missed beacon:0