Ver Mensaje Individual
  #1  
Viejo 12/06/10, 18:53:42
Array

[xs_avatar]
soynor soynor no está en línea
Miembro del foro
 
Fecha de registro: abr 2010
Localización: Madrid
Mensajes: 75
Tu operador: Simyo

Como hacer reverse tethering via usb

Configuracion previa en HTC:
A parte de tenerla rooteada
No hace falta hacer nada, pero mejor desactivar conexiones red movil y wifi para asegurarnos que no va por estas.

Comandos a ejecutar en el HTC:
Los siguientes comandos hay que ejecutarlos en el telefono, para ello hay 2 opciones:
1) conectarse al telefono mediante http://developer.android.com/guide/d...tools/adb.html
2) instalar un programa de terminal en el telefono, tipo "Terminal emulator" o "Better terminal emulator"
Una vez estemos conectados al telefono ejecutaremos los siguiente comandos.

su #si procede
ifconfig usb0 192.168.0.2 netmask 255.255.255.0
ip route del default
iptables -F
iptables -F -t nat
ip route add default via 192.168.0.1
setprop net.dns1
192.168.0.1
setprop "net.gprs.http-proxy" ""
echo 4 > /sys/devices/platform/msm_hsusb/usb_function_switch


Con esto le diremos al HTC que envie todo el trafico de internet por nuesto PC y que ponga el usb en modo ethernet.

Notas:
1)
He detectado que las dns no van muy finas, de donde saque la info ponia que hay que hacer "setprop net.dns1 8.8.8.8", pero a mi no siempre me funciona, pero cambiandolo por "setprop net.dns1 192.168.0.1" si funciona, esto realmente dependera del driver que tengamos instalado en el ordenador, si os da problemas probar con los dos.

2)
Si queremos usar proxy tendremos que sustituir
setprop "net.gprs.http-proxy" ""
por
setprop "net.gprs.http-proxy" "http://proxy:puerto"
La salida por proxy no esta excesivamente integrada en android, por lo que el market,gmail y derivados que yo sepa de momento no funciona, solamente es valido para aplicaciones que usan la configuracion del proxy como el navegador

Nota2:
En el momento que hagamos
echo 4 > /sys/devices/platform/msm_hsusb/usb_function_switch
perderemos la conexion adb, ya que pondremos el usb del HTC en modo ethernet


Para PC Linux:
Comprobar que detecta el dispositivo usb0 (o el usbn que corresponda) cuando seleccionamos la opcion compartir conexion de internet con el pc (como si fueramos a configurar tethering directo). O lo que es lo mismo al ejecutar echo 4 > /sys/devices/platform/msm_hsusb/usb_function_switch en el telefono.

Para ello el kernel debe tener la siguiente configuracion por lo menos: (creo quela mayoria de las distros lo traen por defecto)
-> Device Drivers
-> Network device support (NETDEVICES [=y])
-> USB Network Adapters
<M> Multi-purpose USB Networking Framework
-M- CDC Ethernet support (smart devices such as cable modems)
<M> CDC EEM support
<M> Host for RNDIS and ActiveSync devices (EXPERIMENTAL)
<M> Simple USB Network Links (CDC Ethernet subset) (NEW)

-> Device Drivers
-> Network device support (NETDEVICES [=y])
-> Wireless LAN (WLAN [=y])
-> Wireless LAN (IEEE 802.11) (WLAN_80211 [=y])
<M> Wireless RNDIS USB support

Configurar nuestro ordenador para que haga nat:
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
ifconfig usb0 192.168.0.1 netmask 255.255.255.0 up

Para PC Windows:
1.Installar el driver HTC Remote NDIS based Device driver(http://forum.xda-developers.com/atta...2&d=1265356413)
2.Configurar el adaptador que se crea en el Pc con: IP:192.168.0.1, Mask:255.255.255.0
3.Establecer la conexión compartida en el adaptador

Y ya deberiamos poder navegar desde nuestro HTC usando la conexion de nuestro pc


Agradeceria a quien lo probara que dijera si le funciona o no.

Última edición por soynor Día 28/07/10 a las 11:15:33.
Responder Con Cita
Los siguientes 4 usuarios han agradecido a soynor su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]