Como no podía ser de otra forma, después de probar con Windows he probado a hacer funcionar el módem en Ubuntu 8.04 para ver si la cosa iba bien, y el resultado ha sido fantástico. El proceso es bastante sencillo y ya está trillado (es lo bueno de llegar a este tipo de cosas algo tarde: los usuarios ya han resuelto las pegas), así que os voy a explicar cómo lograr conectaros a Internet mediante el módem Huawei E220 de Simyo con una tarjeta SIM de esta operadora en Ubuntu 8.04.

La guía ha quedado un poco larga, así que para no mostrar posts interminables, si estáis interesados, ya sabéis, pinchad en “Te falta lo mejor de esta entrada…”

El proceso es análogo para cualquier otro operador, así que si tenéis Vodafone, Movistar, Orange o cualquier otra operadora, podéis seguir los pasos igualmente… mientras que el módem sea este. No estoy muy seguro de si el proceso funcionará con otros tipos de módems USB, aunque supongo que es probable porque el paquete libusb-dev debe ser compatible con unos cuantos. Por cierto, aunque como luego veremos no es estrictamente necesario quitar el PIN de la tarjeta SIM (para que no lo pregunte cada vez que encendamos el teléfono, y tampoco pida esa autenticación en el módem) sí que es un buen consejo para ahorrarnos problemas.

Las instrucciones están calcadas del hilo de UbuntuForums específicamente creado para este módem, así que no voy a descubrir nada nuevo… salvo mi pildorita final, que mola bastante :)

1. Abrir una terminal e instalar los paquetes que nos harán falta antes de conectar el módem:

sudo apt-get install libusb-dev wget build-essential

2. Obtener el código fuente del pequeño programa huaweiAtkBbo:

wget http://www.kanoistika.sk/bobovsky/archiv/umts/huaweiAktBbo.c

3. Compilarlo

cc huaweiAktBbo.c -lusb -o huaweiAktBbo

4. Copiar ese binario en uno de los directorios con ejecutables de nuestro PATH, por ejemplo, /sbin:

sudo cp huaweiAktBbo /sbin/

5. Crear una regla udev para hacer que una vez conectado el módem, se ejecute el programa recién compilado e instalado. Para ello crear un nuevo fichero de texto:

sudo gedit /etc/udev/rules.d/50-huawei-e220.rules

Y luego copiar en él la siguiente sentencia

SUBSYSTEM=="usb", SYSFS{idProduct}=="1003", SYSFS{idVendor}=="12d1", RUN+="/sbin/huaweiAktBbo"

6. Ahora conectar el módem USB de Huawei, y en unos segundos (si queréis podéis hacer un grep | tail -f para ver si lo ha cogido bien) comprobar que lo ha detectado con el siguiente comando:

ls /dev/ttyUSB*

que teóricamente mostrará un número variable de ttyUSBs. A mí me han salido entre 4 y 6 según el caso, pero lo importante es que salgan tres, por ejemplo,

/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2

7. Ahora tenemos que configurar la conexión, y para ello podemos optar por el método fácil (Paso 8) o el difícil (Paso 9), aunque ambos son sencillitos.

8. Con el módem conectado, tan sólo tendremos que ir a Sistema/Administración/Red y luego ir configurando los diferentes apartados de la “Conexión punto a punto” pinchando dos veces en ella:

8.1 General: Hacer clic en “Activar esta conexión“, elegir GPRS/UMTS como Tipo de conexión, y en el APN escribir “gprs-service.com” (sin comillas). Precisamente aquí es donde otros usuarios de otras operadoras tendrán que meter sus correspondientes APNs. Si además son necesarios usuario y contraseña, pues también habrá que introducirlos. En el caso de Simyo no hay que introducir ni usuario ni password.

8.2 Módem: en “Puerto del módem” habrá que indicarle el puerto /dev/ttyUSB0

8.3 Configuración: aquí yo activaría todas las casillas si no tenéis otro tipo de acceso de red al alcance, para que sea la forma de conectar por defecto y al navegar o descargar y subir contenidos el módem funcione de forma automática.

Con esto ya podríais navegar tranquilamente, puesto que al introducir una dirección automáticamente se activará la conexión del módem tal y como le habéis indicado.

9. El método difícil es, como indica el autor, un poco de prueba y error, y enlaza a otro hilo de UbuntuForums que parece que da muchas pistas al respecto. Mucha gente lo ha hecho con el cliente wvdial, pero yo eso no he llegado a probarlo, y me parece mucho más natural hacerlo como en el Paso

Y aquí viene mi pildorita: la conexión funciona perfecta, pero no sabes cuánto llevas descargado en ningún momento, de modo que a saber cuándo llegas al límite de tráfico pactado con tu operadora. Mucho más chulo es instalar las utilidades llamadas umtsmon, que son una especie de cliente gráfico de conexiones 3G para Linux. De hecho, sus funciones son muy similares al Mobile Partner para Windows del que hablaba en el post anterior. Para instalar dicho cliente tendréis que compilarlo (en Ubuntu no hay paquetes disponibles en repositorio), pero el resultado vale la pena.

1. Instalar los paquetes de desarrollo de qt3 necesarios para umtsmon (no es compatible con qt4). No sé si hacen falta cabeceras (libqt3-headers) pero tenedlo en cuenta por si el proceso falla. Yo no las tenía instaladas, y luego las he acabado instalando de todos modos.

sudo apt-get install qt3lib-dev

2. Descargar de SourceForge la última versión disponible (en el caso de mis pruebas, la 0.8)

3. Descomprimir el fichero en el directorio que queramos para luego poder trabajar a gusto

tar xzvf umtsmon-0.8.src.tar.gz

4. Llamar a qmake para realizar la pre-compilación

qmake

5. Compilar

make

6. Eso dejará un ejecutable llamado umtsmon que también es conveniente copiar a nuestro PATH, por ejemplo a /sbin

sudo cp ./umtsmon /sbin/

7. Ya podemos ejecutarlo, lo que nos permitirá crear un perfil nuevo en Connection/Manage Profiles, editarlo, e introducir los datos necesarios, y en el caso de Simyo, el APN.No hay mucho más que hacer, aunque podéis cacharrear por alguna de sus opciones, que dejan ver claramente que este programita es un pequeño prodigio para controlar el tema del límite de las descargas.

Como veis, el resultado es genial, con una pequeña herramienta que funciona a las mil maravillas y que da las prestaciones necesarias para controlar el tráfico. No creo que en openSUSE la cosa se muy distinta, ya probaré y os lo cuento ;)