4 votos

Habilitación de herramientas inalámbricas en Android

Necesito usar comandos como iwconfig en Android, sé que tengo que instalar las herramientas inalámbricas porque no están en Android por defecto, El problema es que acabo de ver 3 tutoriales en chino que no tienen sentido cuando los traduzco, y un enlace que descarga un directorio con las herramientas inalámbricas de Android, pero no sé qué hacer para meterlas en mi dispositivo y usarlas.

Cualquier ayuda será apreciada.

5voto

Ivan Puntos 4970
  1. Descargar wireless_tools.30.pre9.tar.gz . Esta versión admite caracteres no ASCII en el ESSID.

  2. Desembálelo en mydroid/external/wireless-tools directorio.

  3. Crear Android.mk con el siguiente contenido:

    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)
  4. Modifícalo como sigue:

    • Cambiar wireless.22.h para ser wireless.h ;
    • Modificar ifrename.c , añadir getline() función. Puede obtener el código de externo/genext2fs/genext2fs.c ; Observe que este archivo utiliza la macro para pasar otra función a getline() .
    • Modificar iwlib.h , cambie #include por #include . [Es posible que tenga que revisar el archivo original para saber a qué se refiere el autor]
  5. Compilar

    ~/eclair-21/external/wireless-tools$ . ../../build/envsetup.sh
    ~/eclair-21/external/wireless-tools/wireless-tools$ mm
  6. Copiar archivos en el sistema

    ~/eclair-21/external/wireless-tools$ croot
    ~/eclair-21$ cp out/target/product/generic/system/xbin/iwconfig /nfs/rootfs/system/xbin/iwconfig
    ~/eclair-21$ cp out/target/product/generic/system/xbin/iwlist /nfs/rootfs/system/xbin/
  7. Prueba Después de iniciar Android:

    # 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
  8. Hecho.

Ref: http://anemospring.blogspot.com.es/2011/03/Android-wireless-tools.html

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X