… 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
b. Luego presiono la opcion de ‘nueva cuenta’
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’
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)
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’
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).
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.
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







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