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



blog comments powered by Disqus