2 votos

¿Cómo puedo conseguir que Reverse USB Tethering funcione en mi dispositivo KitKat? Ya lo tengo funcionando en mi dispositivo Jellybean

FWIW Reverse USB tethering funciona muy bien en mi dispositivo Jellybean, vamos a suponer que tiene el número de serie 0123456789ABCDEF, aquí están los comandos que utilizo para hacerlo funcionar:

adb -s 0123456789ABCDEF shell su -c 'service call connectivity 33 i32 1'
sleep 5
sudo ifconfig usb0 10.42.0.1 netmask 255.255.255.0
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
adb -s 0123456789ABCDEF shell su -c "ifconfig rndis0 10.42.0.2 netmask 255.255.255.0"
adb -s 0123456789ABCDEF shell su -c "route add default gw 10.42.0.1 dev rndis0"

Ejecuto estos comandos en mi máquina Linux a la que está conectado el teléfono, y en mi dispositivo jellybean el navegador cargará un sitio web usando datos sobre USB.

Ahora tengo un dispositivo KitKat, y tengo una secuencia de comandos similar, yo uso

"service call connectivity 34 i32 1"

en la primera línea ya que kitkat necesita un comando ligeramente diferente, así que incluso después de que todos mis comandos se ejecuten sin mensajes de error, cuando cargo el navegador en el teléfono simplemente obtengo 'página no encontrada'

¿Hay alguna forma de arreglar esto? He probado a hacer ping a Google desde el teléfono y los pings funcionan, así que asumo que es un problema de software.

¿Alguien ha conseguido hacer esto en KitKat? Gracias

EDIT: He hecho algunas pruebas más, y creo que es un problema de DNS. Ping direcciones IP funciona bien, pero ping nombres de host da 'ping: host desconocido' en el dispositivo kitkat. Hacer ping a los nombres de host funciona perfectamente en el dispositivo Jellybean, tengo ambos conectados a la misma máquina Linux en este momento por lo que la única diferencia aquí es la versión de Android.

Tengo la sensación de que hay algunos pasos o comandos adicionales que necesito añadir a mi script aquí, ya que ni siquiera puedo hacer ping al nombre de mi router desde el dispositivo Kitkat, mientras que puedo hacer ping a la dirección IP sin problemas.

1voto

HypnoToad Puntos 46

Después de algunas pruebas y errores parece que he conseguido que funcione, resulta que es un problema de DNS. Si alguien más tiene este problema entonces resulta que usted necesita algunos comandos adicionales con el fin de obtener KitKat para trabajar.

He añadido esto al final de mi script publicado anteriormente y ahora puedo hacer ping a google y obtener pings devueltos:

adb shell su -c 'ndc resolver setifdns rndis0 "" 192.168.1.1 192.168.1.1'
adb shell su -c 'ndc resolver setdefaultif rndis0'

Sustituye 192.168.1.1 por la dirección IP de tu router, que utiliza esta dirección para el DNS.

Ahora voy a probar con el DNS de google (8.8.8.8) a ver si sigue funcionando, y también a ver si consigo que funcione bien con mi dispositivo Jellybean que está conectado a la misma caja de linux.

0voto

salutepc Puntos 1

He escrito una guía para Android 4+ (Sin Root, Sin ADB) y Debian Linux: http://salutepc.altervista.org/usb-reverse-tethering-no-Root-no-adb-Android-all-versions-linux-quick-mode.html

-1voto

chmeee Puntos 288

¿Has probado esto? http://forum.xda-developers.com/showthread.php?t=1371345 Dice que es compatible con versiones de Android inferiores a la 5.0.

0 votos

No puedo usar ese software temeroso ya que la máquina que estoy usando para dar acceso a la red de mi teléfono está corriendo Debian Linux. Me temo que Windows no es una opción aquí. Voy a leer la sección de solución de problemas, ya que puede tener un poco de información que ayudará, es de esperar que puede tener un poco de información sobre la configuración del servidor DNS.

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