Conectarse Utilizando un Modem GSM USB

… Hoy mientras estaba en el trabajo, asistiendo a alguien del personal técnico de LiveU en la configuración de un equipo, tuvimos algunas complicaciones al conectarnos con los modems GSM que proveen algunas compañias.

Luego de un rato, y para intentar depurar la raíz del error, me dispuse a probar los modems en mi PC, ya que la otra forma de probarlo era en Windows, esperando a que (no recuerdo quien) viniera a traer los drivers de cada modem, en un CD.

Como no pretendía perder mi tiempo con Windows, instalando ridiculeces, esto fue lo que hice:

1. Conecté el modem USB a mi PC

Evidentemente, y como les he explicado antes, si HAL reconoce el hardware que he conectado (y estoy casi seguro de que así será), le dirá al Kernel de que se trata.

El Kernel por su parte, si tiene drivers para manejar este dispositivo, le dira a udev que cree un nodo en /dev.

Haciendo un:
# dmesg

El Kernel muestra lo siguiente:

usb 2-1: new high speed USB device using ehci_hcd and address 2
 usb 2-1: New USB device found, idVendor=12d1, idProduct=1001
 usb 2-1: New USB device strings: Mfr=2, Product=1, SerialNumber=3
 usb 2-1: Product: HUAWEI Mobile
 usb 2-1: Manufacturer: HUAWEI Technology
 usb 2-1: SerialNumber: 1234567890ABCDEF
 usb 2-1: configuration #1 chosen from 1 choice
 usb-storage: probe of 2-1:1.0 failed with error -5
 usb-storage: probe of 2-1:1.1 failed with error -5
 usb-storage: probe of 2-1:1.2 failed with error -5
 usb_storage: module is already loaded
 usb_storage: module is already loaded
 usb_storage: module is already loaded
 usbcore: registered new interface driver usbserial
 USB Serial support registered for generic
 usbcore: registered new interface driver usbserial_generic
 usbserial: USB Serial Driver core
 USB Serial support registered for GSM modem (1-port)
 option 2-1:1.0: GSM modem (1-port) converter detected
 usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0
 option 2-1:1.1: GSM modem (1-port) converter detected
 usb 2-1: GSM modem (1-port) converter now attached to ttyUSB1
 option 2-1:1.2: GSM modem (1-port) converter detected
 usb 2-1: GSM modem (1-port) converter now attached to ttyUSB2
 usbcore: registered new interface driver option
 option: v0.7.2:USB Driver for GSM modems

Básicamente lo más importante a notar aquí  (lo puse en negrita) es que el Kernel si reconoció correctamente el dispositivo, y tiene drivers para manejarlo. También es importante notar el nombre del nodo, en /dev , el cual sera ttyUSB0, ttyUSB1 y ttyUSB2.

En nuestro caso, con saber que contamos con /dev/ttyUSB0 es suficiente ya que es posible que los otros nodos se utilicen para otras funciones. (Como envio de SMS, si seteamos un gateway GSM para SMS).

2. Configurar un marcador
Ya que se el nombre nodo en /dev y que tambien Linux tiene los drivers cargados, procedo a configurar un marcador. En mi caso abri (por experiencia previa, lo utilizaba con dial up) Kppp, quien es sencillamente una herramienta ideal para esto.

a. Ejecuto kppp y voy a la opcion de configurar

Dialogo de kppp

Dialogo de kppp

b. Luego presiono la opcion de ‘nueva cuenta’

Kppp Config

Kppp Config

NOTA: En un dialogo que sale despues, elijo ‘manual setup’.

c. Pongo un nombre a la conexion. Presiono Add, para agregar un nuevo numero al cual marcar.
OJO: En la opcion Authentication, elijan ‘PAP/CHAP’ o ‘CHAP’ si usaran autenticacion (username/password). Si no, pueden elegir la opcion ‘Script Based’

Nueva Conexion KPPP

Nueva Conexion KPPP

d. Marco ‘*99***1#’, o ‘*99#’ (Ese numero tiene que ver con los comandos internos de los modems, y significa -creo-, que elija la primera cuenta configurada en el chip GSM)

KPPP numero telefonico

KPPP numero telefonico

Luego de presionar ‘Ok’, tambien presionan ‘OK’, en la ventana correspondiente a la configuracion de nueva cuenta.
Con eso ya esta lista la cuenta.

Ahora agrego el modem:

1. Voy a la opcion ‘Modems’, y presiono ‘New’

kppp nuevo modem

kppp nuevo modem

2. Le pongo un nombre al modem, y elijo el nodo que me indico el Kernel (/dev/ttyUSB0), y presiona ‘OK’ para guardar los cambios.
NOTA: En la pesta~na modem, esta la opcion ‘Query Modem‘, entre otras.

Estas opciones solo estaran disponibles si (luego de configurar el modem correcto) presionas ‘OK’, y vuelves a este formulario, para editar algun dato. (Si presionas ‘Query Modem’, antes de darle a ‘OK’ por primera vez, no funcionara).

Kppp nombre de modem

Kppp nombre de modem

3. Algunas opciones utiles pueden ser elegidas en la pesta~na ‘Misc’, como es la de hacer que el marcador (Kppp) se vaya a la barra de tareas, luego de conectarse.

kppp opciones adicionales

kppp opciones adicionales

Por ultimo, en el fichero ‘/etc/ppp/options‘ , veran que la opcion ‘noauth‘ esta comentada, pues se procede a quitarle el ‘#’ para poder utilizarla.
La razon de esto, es que si la dejamos como viene por default, cuando el modem se intente conectar, le pedira al proveedor que se autentique (es decir, que muestre de alguna forma que realmente es quien dice ser).
Eso suena bonito pero no he visto un proveedor que hasta ahora haga eso. De modo que le quitamos el comentario a ‘noauth’, para evitar esa ‘funcionalidad’.

Listo!, Ya hemos finalizado.
Si seguiste las instrucciones al pie de la letra, no deberias tener ningun problema al conectarte.

Errores comunes (o por lo menos que yo haya visto):

1. Error de authenticacion de parte del sistema remoto.

Apr 15 23:54:01 slackbox pppd[4959]: By default the remote system is required to authenticate itself
Apr 15 23:54:01 slackbox pppd[4959]: (because this system has a default route to the internet)
Apr 15 23:54:01 slackbox pppd[4959]: but I couldn’t find any suitable secret (password) for it to use to do so.

Solucion: Te hable de la opcion ‘noauth’, en /etc/ppp/options , cierto?

2. Te conectas sin problemas… pero no puedes navegar.

Es posible que la enrutacion de paquetes de parte del Kernel este haciendose por tu tarjeta ethernet, todavia. En ese caso se veria algo como lo siguiente: (Al ejecutar ‘route -n’, como root)

root@slackbox:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.64.64.64     *               255.255.255.255 UH    0      0        0 ppp0
192.168.7.0     *               255.255.255.0   U     0      0        0 vmnet8
192.168.5.0     *               255.255.255.0   U     0      0        0 eth0
localnet        *               255.255.255.0   U     0      0        0 eth0
192.168.214.0   *               255.255.255.0   U     0      0        0 vmnet1
loopback        *               255.0.0.0       U     0      0        0 lo
default         10.0.0.1        0.0.0.0         UG    1      0        0 eth0

Se supone que si quiero enrutar los paquetes por el modem, la ruta por default debe ser la interfaz ppp0, no eth0 (tarjeta de red)
Asi que cambiemos eso: (Ejecuta esto como root)

# route del default
# route add default dev ppp0

Ahora si… listo!, en este momento ya deberias estar navegando internet utilizando tu modem GSM USB :)

This entry was posted in Administración, Configuración, Networking.

One Response to Conectarse Utilizando un Modem GSM USB

  1. Pingback: Curso de Redes: 6. que es un modem | Wireless Mobile Wimax Technology

Leave a Reply