3 votos

Android Wifi : Cómo cambiar la interfaz de red utilizada por Android

Cuando arranco mi dispositivo Android y voy a la configuración de Wifi, el estado del wifi permanece "Turning Wi-Fi on" Siempre. Busqué en los registros de logcat, abajo está el error que veo.

E/wpa_supplicant( 1713): nl80211: Could not set interface 'wlan0' UP
E/wpa_supplicant( 1713): wlan0: Failed to initialize driver interface
E/wpa_supplicant( 1713): Could not read interface wlan0 flags: No such device

A continuación encontrará información útil.

root@android:/ # netcfg
netcfg    
lo       UP     127.0.0.1/8   0x00000049 00:00:00:00:00:00
gannet0  DOWN     0.0.0.0/0   0x00001082 1e:e9:6e:bf:45:f7
dummy0   DOWN     0.0.0.0/0   0x00000082 ba:ad:f6:ae:6a:09
rmnet0   DOWN     0.0.0.0/0   0x00000000 00:00:00:00:00:00
rmnet1   DOWN     0.0.0.0/0   0x00000000 00:00:00:00:00:00
rmnet2   DOWN     0.0.0.0/0   0x00000000 00:00:00:00:00:00
rmnet3   DOWN     0.0.0.0/0   0x00000000 00:00:00:00:00:00
rmnet4   DOWN     0.0.0.0/0   0x00000000 00:00:00:00:00:00
rmnet5   DOWN     0.0.0.0/0   0x00000000 00:00:00:00:00:00
rmnet6   DOWN     0.0.0.0/0   0x00000000 00:00:00:00:00:00
rmnet7   DOWN     0.0.0.0/0   0x00000001 00:00:00:00:00:00
sit0     DOWN     0.0.0.0/0   0x00000080 00:00:00:00:00:00
ip6tnl0  DOWN     0.0.0.0/0   0x00000080 00:00:00:00:00:00

Contenido de /system/etc/wifi/wpa_supplicant.conf :

update_config=1
ctrl_interface=wlan0
eapol_version=1
ap_scan=1
fast_reauth=1

Pregunta : Cómo puedo habilitar Android para utilizar alguna otra interfaz que no sea wlan0 ?

Cosas probadas:

1)He intentado editar ctrl_interface parámetro en /system/etc/wifi/wpa_supplicant.conf usiny adb pull y push a otras interfaces mostradas por netcfg pero Android sigue intentando utilizar wlan0 .

2)También intenté iniciar el demonio wpa_supplicant usando el siguiente comando.

/system/bin/wpa_supplicant -Dnl80211 -idummy0 -c/system/etc/wifi/wpa_supplicant.conf

pero esto da error.

E/wpa_supplicant( 5390): dummy0: Failed to initialize driver interface

1 votos

También es necesario cambiar el archivo init.{hardware}.rc con el nombre correcto del socket (wpa_dummy0)

0voto

koocky Puntos 99

¿Estás seguro de que dummy es una interfaz wifi? El nombre típico de la interfaz wifi es wlan0.

Si estás 100% seguro de que es la interfaz wifi correcta, puede que también tengas que cambiar la wlan0 dentro del archivo wpa_supplicant.conf.

Si eso sigue fallando, ejecuta el comando wpa_supplicant en strace e intenta obtener más información desde allí.

0voto

kevin Puntos 61

Ejecutar en un shell ADB:

    wpa_cli

Se abrirá un nuevo tipo de shell en el que:

Comando ayuda le dará todos los comandos posibles.

Comando interfaz le mostrará todas sus interfaces activadas.

Comando interfaz_add añadirá una nueva interfaz a utilizar, con los siguientes parámetros

    interface_add <ifname> <confname> <driver> <ctrl_interface> <driver_param> <bridge_name>

ifname es el único parámetro opcional.

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