Configuración de módem USB Huawei en GNU/Linux (Huawei Linux)

Debiannetworking

Si tienes una línea móvil de datos y un módem usb, tal vez te apetezca poder utilizarlo en tu GNU/Linux. Actualmente, los modems Huawei son los mas utilizados para éste tipo de propósitos. Aquí explico lo que hay que hacer para poder dar soporte al modelo Huawei E160, un módem que por lo que he podido probar, funciona pero que muy bien bajo GNU/Linux

Empezando

¿Cómo saber si tu modem es el soportado? (bueno, en principio cualquier módem Huawei debería funcionar sin problemas). Sencillo, después de pinchar el módem en tu puerto USB y tras ejecutar lsusb, lo verás:
javieralso@rigoberto:~$ Bus 001 Device 008: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E270 HSDPA/HSUPA Modem

Además, la salida de dmesg deberá mostrar algo como ésto:

javieralso@rigoberto:~$ dmesg
..............
[ 4180.956314] usb 1-4.3: new high speed USB device using ehci_hcd and address 7
[ 4181.067257] usb 1-4.3: New USB device found, idVendor=12d1, idProduct=1003
[ 4181.067260] usb 1-4.3: New USB device strings: Mfr=2, Product=1, SerialNumber=0
[ 4181.067262] usb 1-4.3: Product: HUAWEI Mobile
[ 4181.067264] usb 1-4.3: Manufacturer: HUAWEI Technology
[ 4181.067376] usb 1-4.3: configuration #1 chosen from 1 choice
[ 4181.072393] usb-storage: probe of 1-4.3:1.0 failed with error -1
[ 4181.179711] usb 1-4.3: USB disconnect, address 7

Este tipo de módems, además de su función principal (la de módem), también pueden utilizarse como lector de tarjetas microSD. El problema aquí, es que por lo que he visto, necesitan un driver muy específico para esto último y por eso, bajo GNU/Linux no lo he podido hacer funcionar. De todas formas, lectores de tarjetas microSD los hay a patadas, así que que no nos hace falta sobrecargar a nuestro pobre modem.
Lo que si que sucede, es que una vez que se conecta el módem al puerto USB, la configuración que se activa por defecto parece ser la del lector microSD, así que tendremos que cambiar esto para poder acceder al pincho como módem que es lo que nos interesa. Empecemos pues.

usb-modeswitch

usb-modeswitch permite realizar exactamente lo que comentaba antes, es decir, cambiar la configuración seleccionada del módem para que pueda actuar como tal. Parece ser que es paquete Debian, así que si utilizas éste Sistema Operativo, ya sabes:
javieralso@rigoberto:~$ apt-get install usb-modeswitch

Además de usb-modeswitch, también necesitaremos ivman para poder detectar cuando se conecta el módem a nuestro equipo y autoconfigurarlo llamando a usb-modeswitch...
javieralso@rigoberto:~$ apt-get install ivman

Configurandolo todo

Una vez que ya lo tienes todo instalado, solo falta escribir un poco de configuración para que el módem eche a andar. Una de las primeras cosas que debemos hacer, es configurar ivman para que arranque automáticamente al iniciar sesión. Éso se puede hacer fácilmente desde Sistema-->Preferencias-->Aplicaciones al inicio (Supongo que utilizarás gnome).
Después de ésto, abrimos el archivo $HOME/.ivman/IvmConfigActions.xml. Este archivo dice a ivman qué tiene que hacer según qué eventos detecte en la capa HAL. En nuestro caso, con añadir lo siguiente, debería ser mas que suficiente:

 <!-- Change Huawei E160 Mode -->
    <ivm:Match name="hal.storage.physical_device" value="/org/freedesktop/Hal/devices/usb_device_12d1_1003_noserial_if0">
            <ivm:Option name="exec" value="xterm -e $HOME/.e160.sh" />
    </ivm:Match>
</ivm:ActionsConfig>

Con ésto, lo que se le dice a ivman es que cuando detecte el módem insertado (se puede ver en la tercera línea como en el valor para la clave name se compone el nombre con el vendorID = 0x12d1 y el productID = 0x1003, que se obtuvieron al ejecutar lsusb) ejecute el script $HOME/.e160.sh. En éste script están los comando para activar usb-modeswitch y hacer que configure correctamente el módem.

Dicho script tiene el siguiente contenido:

#!/bin/bash
 
if [ -z "`/bin/ls /dev/ttyUSB0`" ]; then
        if [ "`/usr/sbin/lsusb | grep 12d1 | cut -d : -f3 | cut -b -4`" = "1003" ]; then
#                /usr/bin/usb_modeswitch -v 12d1 -p 1003 -d 1
                /usr/bin/usb_modeswitch -v 12d1 -p 1003 -H 1
        fi
fi

No olvides darle permisos de ejecución después de editarlo.

En principio con ésto, el módem quedaría perfectamente configurado. Sería aconsejable reiniciar gdm, pues ivman crea su propio usuario y puede que no funcione correctamente hasta que no salgas y vuelvas a entrar al sistema (no hace falta reiniciar, que ésto es GNU/Linux :-P)

Si todo ha ido bien, cuando insertes el módem, dmesg te debería devolver algo como ésto:
javieralso@rigoberto:~$ dmesg
..............
[16197.508056] usb 2-6: new high speed USB device using ehci_hcd and address 12
[16197.655583] usb 2-6: New USB device found, idVendor=12d1, idProduct=1003
[16197.655590] usb 2-6: New USB device strings: Mfr=2, Product=1, SerialNumber=0
[16197.655596] usb 2-6: Product: HUAWEI Mobile
[16197.655600] usb 2-6: Manufacturer: HUAWEI Technology
[16197.655756] usb 2-6: configuration #1 chosen from 1 choice
[16197.742661] Initializing USB Mass Storage driver...
[16197.743679] usb-storage: probe of 2-6:1.0 failed with error -1
[16197.743727] usbcore: registered new interface driver usb-storage
[16197.743732] USB Mass Storage support registered.
[16197.744153] usb 2-6: USB disconnect, address 12
[16205.112108] usb 2-6: new high speed USB device using ehci_hcd and address 13
[16205.255571] usb 2-6: New USB device found, idVendor=12d1, idProduct=1003
[16205.255578] usb 2-6: New USB device strings: Mfr=2, Product=1, SerialNumber=0
[16205.255584] usb 2-6: Product: HUAWEI Mobile
[16205.255588] usb 2-6: Manufacturer: HUAWEI Technology
[16205.255737] usb 2-6: configuration #1 chosen from 1 choice
[16205.262311] usb-storage: probe of 2-6:1.2 failed with error -1
[16205.263306] usb-storage: probe of 2-6:1.3 failed with error -1
[16205.343381] usbcore: registered new interface driver usbserial
[16205.343408] USB Serial support registered for generic
[16205.343497] usbcore: registered new interface driver usbserial_generic
[16205.343501] usbserial: USB Serial Driver core
[16205.354928] USB Serial support registered for GSM modem (1-port)
[16205.355014] option 2-6:1.0: GSM modem (1-port) converter detected
[16205.355174] usb 2-6: GSM modem (1-port) converter now attached to ttyUSB0
[16205.355192] option 2-6:1.1: GSM modem (1-port) converter detected
[16205.355278] usb 2-6: GSM modem (1-port) converter now attached to ttyUSB1
[16205.355311] usbcore: registered new interface driver option
[16205.355315] option: v0.7.2:USB Driver for GSM modems

Aquí se puede ver que el módem se detecta, se activa el soporte para almacenamiento masivo y después se cambia al modo módem.

Conectando a Internet

Bueno, pues ahora ya solo queda que te conectes a internet utilizando la compañia que mas te guste. Yo personalmente y llegados a éste punto, me leería un par de recetas pelín antiguas que explican como configurar las opciones de acceso a un operador concreto (en realidad es Simyo) utilizando wvidial o también gnome-ppp.

Ahí se pueden ver las opciones de configuración para el operador dado. Si utilizas otro operador, el número de marcado y demás serán distintos, así que tendrás que ponerte en contacto con ellos para que te lo faciliten. Coser y cantar ;-)

Referencias

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Hola tengo un huawei E156G

Hola tengo un huawei E156G que suministra ONO y me la estoy deseando para configurarlo en Ubuntu 9.04 y 9.10.
Solo me funciona la primera vez que lo conecto, luego, a veces, conecta y funciona la luz azul de 3G pero ni navega ni descarga ni nada...
Lo he probado todo y en este tutorial vuestro me quedo parado en el paso de abrir el archivo $HOME/.ivman/IvmConfigActions.xml.
¿Cómo lo abro? No encuentro $HOME solo home que es la carpeta de usuario... si le hago sudo gedit al archivo está en blanco. Con el siguiente paso tb soy incapaz. ¿Para darles permiso con nautilus no? ¿lectura y escritura?
Lo siento, soy un mar de dudas.

Gracias de antemano por echarme una mano...

PS: A veces si consigo una buena conexion si abro la consola y hago un lsusb. Es un misterio...

Imagen de david.villa

$HOME o "~" es tu

$HOME o “~” es tu directorio personal de usuario. Si por ejemplo, tu nick es «pedro» tu «home» será /home/pedro y el fichero del que habla la receta será /home/pedro/.ivman/IvmConfigActions.xml

No soy portavoz de ningún colectivo, grupo o facción. Mi opinión es personal e intransferible.

Gracias David. Pero... ¿y si

Gracias David. Pero... ¿y si no existe ese directorio? o si existe pero está en otra carpeta (el cual es mi caso en cuanto al primer paso, el segundo ni lo encuentro)...

Efectivamente

Si el directorio ~/.ivman no existe (cosa que es normal), el propio ivman lo creará con la configuración por defecto la primera vez que tu usario lo lance (ésto es aplicable prácticamente a cualquier aplicación que utilices). Así que lo único que tienes que hacer es lanzar ivman y después matarlo. Con ello tendrás tu archivo de configuración y después ya solo tendrás que modificarlo.

Un saludo.

The cause of the problem is:
The vendor put the bug there.
-- Meta amigo informático --

Muchas gracias!! En cuanto

Muchas gracias!! En cuanto pueda me pongo manos a la obra. Más gracias aún porque eres el único cordón umbilical que mantiene viva la esperanza de poder conectar linux con este modem...

Imagen de darkgnu

Jo! qué bonito! y a juego con

Jo! qué bonito! y a juego con tu poster!

----------------------------------------------------------
$ mv *.net /dev/null

si si, reiros reiros...

... pero cuando quien todos sabemos suba con una recortada y luego necesitemos células madre para los transplantes de órganos, yo tendré y vosotros no Sticking out tongue

The cause of the problem is:
The vendor put the bug there.
-- Meta amigo informático --

Imagen de david.villa

impresive

....y javi se lleva el premio al comentario más subrealista del mes...

No soy portavoz de ningún colectivo, grupo o facción. Mi opinión es personal e intransferible.

Espérate

que todavía estamos a cinco y falta mucho para que acabe el mes Eye-wink

The cause of the problem is:
The vendor put the bug there.
-- Meta amigo informático --