briconsejo: cómo conectarse a internet haciendo tethering con un móvil android

Aunque Forat se ha currado un manual espectacular en el que explica cómo conectar ubuntu y android, que funciona perfectamente y que me ha servido para iniciarme en este lío y dabo ha hecho lo propio con su iPhone, hay una manera más sencilla, mucho más sencilla, de acceder a internet a través del sistema operativo de Google con linux. El único requisito es que la versión de android sea igual o superior a la 2.1 (Eclair). Al menos, en la versión 1.5 de mi HTC Hero no había ninguna opción de tethering.

El primer paso se hace en el teléfono. Con esta versión de android, la 2.1, cuando se conecta el móvil a un ordenador, aparecen en los avisos del deslizador superior varias opciones: sólo cargar la batería; conectarse mediante HTC Sync (Windows only, me temo :) ); utilizar como una unidad de disco; y, finalmente, aparece el tethering con otro nombre, conexión compartida. Debemos seleccinar esta opción y activarla en el botón Listo.

El segundo paso tiene que hacerse en el ordenador. Yo lo he hecho con Debian GNU/Linux pero imagino que se podrá hacer en cualquier sistema operativo moderno, ya que son necesarias herramientas comunes a la mayoría, sino todos. A modo de resumen, hay que averiguar cuál es el dispositivo que se ha creado para la conexión y solicitar una dirección IP a través de dicho dispositivo. Para lo primero, basta con ejecutar lo siguiente:

$ sudo ifconfig -a
(...)
usb0 Link encap:Ethernet HWaddr fa:66:01:3f:b9:68
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000

He abreviado la salida del comando por claridad pero se puede ver como el último dispositivo de red se llama, curiosamente usb0. Ahora sólo hay que solicitar una dirección IP válida:

$ sudo dhclient -v usb0
Internet Systems Consortium DHCP Client 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/usb0/fa:66:01:3f:b9:68
Sending on LPF/usb0/fa:66:01:3f:b9:68
Sending on Socket/fallback
DHCPREQUEST on usb0 to 255.255.255.255 port 67
DHCPACK from 192.168.100.254
bound to 192.168.100.100 -- renewal in 328550 seconds.

Tras esto, basta con abrir el navegador y empezar a navegar a través de la conexión de datos del teléfono. Eso sí, todo pasa lentamente, aunque suficiente para la elaboración de este artículo. :P

Actualización (dom nov 7 19:46:31 CET 2010): una vez efectuado el proceso completo, para establecer la conexión las siguientes ocasiones, sólo hay que activar en el teléfono la compartición de datos. Al instante, NetworkManager reconoce el dispositivo usb0 y efectúa la petición de dirección IP por su cuenta, facilitándonos el trabajo.

Mi MacBook en Internet desde Debian Sid vía iPhone + Tethering (vale para Ubuntu, etc)

Los antecedentes;

Bueno, voy primero a poneros en antecendentes de cómo he llegado hasta aquí, quizás vienes desde Google y lo que buscas es cómo conectarte desde un sistema GNU/Linux a Internet por un iPhone (Android salió 6 meses después de lo que me hubiera gustado), más abajo te explico cómo.

En este caso hablo de lo que yo uso, Debian Sid, pero es válido para otras distros “Debian Based”, como Ubuntu. Para que no caigas en el error que caí yo, mantén como gestor de red a Gnome Network Manager.

Yo, gran adicto de Wicd (otro gestor de redes), cometí el fallo de después de instalar Blueman (luego hablamos de ello) como gestor de conexiones Bluetooth, de no probar su funcionamiento sin Wicd, hasta ayer…

“Gracias” a unos problemas después de la suspensión de mi portátil que no pillaba la red al levantar la tapa, problemas que me llevaron a dejar de usar Wicd en favor de Gnome Network Manager, puedo conectarme con la conexión y tarifa 3G de Movistar desde mi iPhone.

También fue @vivoras en su Twitter quien me hizo pensar en el tema de Blueman y mis problemas con el Tethering para navegar desde el teléfono. Estaba cerca de conseguirlo con Wicd y dejé un Twitt para preguntar por esto mismo, pero en un Asus eee PC que me va a dejar mi colega David de ennegativo, hasta que me haga con uno  que está pendiente de llegar por otros motivos en un par de meses aproximadamente.

Yo pensando en hacer un tunel vía SSH mediante un iPhone con Jaikbreak y era mucho más fácil…

La solución;

Como digo es muy fácil, teniendo instalado Gnome Network Manager (quizás con Knetwork de KDE funciona igual, lo probaré), hay que instalar “Blueman”, para que se haga cargo de la conexión vía Bluetooth.

Sobre Blueman en Debian; http://packages.debian.org/sid/blueman

A Graphical bluetooth manager

Blueman is a GTK+ bluetooth management utility for GNOME using bluez D-Bus backend.

Con un simple;

# aptitude install blueman

Tendremos la solución, apt se encargará de resolver las dependencias y os aparecerá en la bandeja del sistema el “systray icon” o icono como el que se ve debajo del texto (tercero por la izquierda, se ve como “conectado”).

…Luego sólo queda emparejar el iPhone, (botón derecho en el icono y “configurar un dispositivo nuevo”) meter el password para el Bluetooth y activar los servicios necesarios.

Después, no olvides desconectarte de tu wi-fi o red cableada para poder activar la red desde el iPhone (y en en las preferencias del teléfono, general – conexiones dale a “Compartir Internet“).

Luego botón derecho sobre el icono de Blueman y veréis este menú de debajo;

Si todo sale bien, veréis como Blueman envía y recibe datos y a disfrutar, sin instalar iTunes, más rápido de configurar que en Windows o Mac OS X y sobre todo, serás libre de decidir desde dónde quieres conectar -;)

Espero que lo disfrutes tanto como yo -;). Hace mucho tiempo que GNU/Linux ha dejado de ser “el patito feo” del software. Podemos hacer frente a cualquier situación informáticamente hablando en todo tipo de escenarios por hostiles que a priori parezcan.