Ecclair

Tethering en Android

De todas las aplicaciones que he encontrado en el Market para hacer tethering (esto es, utilizar el móvil para proporcionar conectividad 3G a un ordenador), me quedo con Proxoid por dos motivos: Su facilidad de uso y la posibilidad de hacer tethering vía USB. Por bluetooth me parece poco seguro, y por wifi, según tengo entendido, no se puede usar WPA2, así que el escenario no es muy distinto.

La seguridad en el tethering es un punto crucial porque, de no hacerlo con cuidado, la operadora, ejerciendo sus derechos contractuales, puede subirnos la tarifa y quitarnos las ganas de usar el móvil como punto de acceso para los restos. Al menos, esto era así hasta ahora, porque según nos contaba @gsiibert, Vodafone permitirá tethering y VoIP en sus nuevas tarifas de datos. Ignoro el estado del resto de operadoras, pero espero que con el tiempo vayan cambiando su parecer al respecto.

Vayamos al grano. En este hilo [inglés] encontraremos (casi) todas las instrucciones necesarias para hacer tethering, pero yo he preferido reestructurar algunos pasos. Antes de empezar, quiero remarcar que este procedimiento está descrito únicamente para equipos que tengan instalada alguna distribución de Linux.

Configura el móvil

  1. Instala Proxoid desde el Market.
  2. Abre la aplicación y configura el puerto que desees usar (recomiendo dejarlo en 8080 a no ser que estés usando Tomcat en el ordenador). En la opción User-Agent, selecciona Don't change (no cambiar).
  3. Inicia el servicio (Start/Stop Proxoid).
  4. Activa la depuración USB: Menú > Ajustes > Aplicaciones > Desarrollo > Depuración USB.
  5. Conecta el móvil al ordenador mediante un cable USB.

Configura el equipo

  1. Desde una terminal, crea o edita el siguiente fichero con privilegios de root:
    vim /etc/udev/rules.d/90-android.rules
  2. Inserta la siguiente línea, guárdalo y ciérralo:
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
  3. Descarga y descomprime la última versión del Android SDK y accede, desde consola, al subdirectorio tools.
  4. Ejecuta el siguiente comando (no es necesario ser root):
    ./adb forward tcp:8080 tcp:8080

Configura el navegador

  1. Habilita una conexión proxy para que las peticiones pasen por localhost:8080 (o el puerto que hayas configurado en Proxoid).
    • Firefox: Editar > Preferencias > Avanzado > Red > Configuración > Configuración manual de proxy. Escribe localhost en el cuadro de texto Proxy HTTP y el puerto que hayas configurado en el cuadro de texto Puerto; marca la casilla Usar el mismo proxy para todo, y elimina el contenido del cuadro de texto No usar proxy para.
    • Chrome: Herramientas > Opciones > Cambiar la configuración del proxy > Configuración manual del proxy. Debes marcar la casilla Usar el mismo proxy para todos los protocolos, rellenar los cuadros de texto Proxy para HTTP y Puerto, y pulsar el botón Aplica a todo el sistema.
    • Opera: Herramientas > Opciones > Avanzado > Redes > Servidores proxy. Escribe localhost en los cuadros de texto de la primera columna (HTTP, HTTPS, FTP, Gopher, WAIS), y el puerto de tu elección en los cuadros de texto Puerto.
  2. Configura el navegador para que envíe el User-Agent del móvil. Que yo sepa, esto sólo se consigue instalando complementos en el navegador.
    • Firefox: Instala el complemento User Agent Switcher. Configura el User-Agent correspondiente a tu terminal.
    • Chrome: Instala el complemento User-Agent Switcher. Configura el User-Agent correspondiente a tu terminal.
    • Opera: Navega hasta about:config. En el cuadro de texto de búsqueda, escribe Spoof UserAgent ID. En el cuadro de texto que tiene valor 1, escribe el User-Agent correspondiente a tu terminal.

Aunque parezca un procedimiento muy complejo, se simplifica considerablemente tras ejecutarlo por primera vez. Además, podemos reservar un navegador para la conectividad móvil, evitando tener que reconfigurar el proxy cada vez. Yo uso Chrome para estos menesteres, dejando Firefox libre para la navegación ordinaria.

En Android 2.1 (Ecclair) existe la posibilidad de hacer tethering nativo, al menos con la ROM de Cyanogen que he instalado recientemente en mi HTC Magic. No obstante, he sido incapaz de echarlo a andar por USB. Si alguien sabe cómo hacerlo, le agradeceré algún enlace o comentario ilustrativo.

Nota importante: Habida cuenta de la incertidumbre existente sobre el tethering en España, es importante recordar que cada cual es responsable de las consecuencias que ello acarree.