viernes, 13 de marzo de 2009

Instalar y configurar modem ZTE MF616 HSDPA/UMTS/EDGE 3G de Colombia Móvil "Tigo" bajo GNU/Linux (Ubuntu)

Desde la semana pasada me conseguí este nuevo "gadgedcito" para poder tener un amigo al cual recurrir para cuando se necesite tener un acceso breve y eficiente a la red en teoría desde cualquier punto de la ciudad y en cualquier otra ciudad del país. Como era de esperarse el proceso a seguir en windows era sencillo, sólo habia ke imaginar al menos si había alguna posibilidad de subirlo a linux (ubuntu) y la tarea ya estaba servida, un nuevo reto nacía. El googleo me llevo a varios sitios interesantes, entre esos el sitio principal del aplicativo ke permite switchear la función inicial de CD-ROM ke viene grabada en el hacia modem y/o almacenamiento. Era un poco dispendioso ya que no reunía la info importante en las pruebas para poder aclarar al menos el paso inicial que era poder verificar que el bus usb me desplegaba las pistas necesarias.
Un problema en ese momento era que aún no podría identificar cual era el modelo de ZTE que me podía servir para este y asi poder inyectar satisfactoriamente los parámetros efectivos que me permitieran lograr el switcheo. Leyendo y leyendo en la red encontré que el modelo MF626 era el modelo que fisicamente encontraba mucha equivalencia con el que tenía en mis manos. Buena señal eh!, resulta que la etiqueta trasera del modem basicamente me muestra:

ZTE Model: MF616
HSDPA USB MODEM
IMEI: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
S/N: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
EAN: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

FCC ID: Q78-ZTEMF626
Z T E C O R P O R A T I O N

Con esa indicación del FCC finalmente entendí que Tigo le coloca ese numero de modelo MF616 como por alguna variación o no se con que intención pero realmente el core de ese dispositivo es un MF626. Ya con esa identificación, procedí a googlear con el MF626 en Linux y afortunadamente encontre información relacionada con Ubuntu, la pagina principal del proyecto usb_modeswitch, posteriormente actualizar Ubuntu a la ultima stable release 8.10 amd64. Estos fueron los pasos basicos:

En 1era instancia al insertar el modem, verificamos los codigos iniciales:
$ lsusb
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 19d2:2000
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Podemos ver en negrita que el dispositivo fue identificado con el 19d2 (DefaultVendor) y el 2000 (DefaultProduct) que nos indica que el dispositivo arranca en modo de CD-ROM para la instalación del driver (tal como sucede en Win32). En el siguiente paso el comando mágico usb_modeswitch permitirá cambiar el modo de operación del dispositivo y lograrlo pasar a modo usb storage y modem común y corriente.

$ sudo usb_modeswitch -W -v 0x19d2 -p 0x2000 -V 0x19d2 -P 0x0031 -m 0x01 -M 55534243123456782000000080000c85010101180101010101000000000000

.....
.....
Setting up communication with device
Trying to send the message
OK, message successfully sent.
-> See /proc/bus/usb/devices (or call lsusb) for changes. Bye

"OK, message successfully sent", nos indica que fue exitoso el switcheo.

Solo unos segundos despues de inyectado los parametros y si el dispositivo 3G tiene memoria microSD insertada se crea el dispositivo de almacenamiento desplegando su información de inmediato. En ese momento verificamos que ya este switcheado con lsusb:

$ lsusb
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 007: ID 19d2:0031
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

El DefaultProduct 0031 es el que debe aparecer antes de continuar.
Además de esto, se crearán 3 dispositivos en disco como:
/dev/ttyUSB0.../dev/ttyUSB1 y /dev/ttyUSB2 los cuales al no identificar el puerto correcto del modem, podemos entonces ir a prueba/error hasta lograr enviar todos los parametros con wvdial y activar el daemon ppp que nos permitirá finalmente conectarnos al proveedor Tigo.

Seguimos con la activación del modulo usbserial en el kernel:

$ sudo /sbin/modprobe usbserial vendor=0x19d2 product=0x0031
Este paso No debe arrojar ningun error.

La primera vez debemos configurar nuestro fichero con los parámetros de reconocimiento del dispositivo:
$ sudo wvdialconf

El cual nos generara un archivo inicial de configuración para utilizarlo con wvdial ubicado en /etc/wvdial.conf. Luego de aplicar los parámetros esenciales que debo tener presente para una correcta conectividad con el ISP (3.5G Tigo) el archivo de configuración queda de la siguiente manera:

[Dialer Defaults]
Init1 = ATZ
Init2 = AT+CFUN=1
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init5 = AT+CGDCONT=1,"IP","web.colombiamovil.com.co"
Stupid Mode = 1
; Remote Name = *
; Baud = 9600
Modem Type = Analog Modem
Stupid Mode = 1
Baud = 460800
New PPPD = yes
Modem = /dev/ttyUSB2
ISDN = 0
Phone = *99#
Password = off
Username = off
Dial Command = ATDT
Remote Name = *


Modificamos los parámetros PPP en /etc/ppp/options activando esencialmente:
+pap
-chap

Finalmente conectamos al ISP 3.5G con wvdial:

$ sudo wvdial
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: AT+CFUN=1
AT+CFUN=1
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","web.colombiamovil.com.co"
AT+CGDCONT=1,"IP","web.colombiamovil.com.co"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Fri Mar 13 10:31:01 2009
--> Pid of pppd: 9651
--> Using interface ppp0
--> pppd: �[7f]
--> pppd: �[7f]
--> pppd: �[7f]
--> pppd: �[7f]
--> pppd: �[7f]
--> local IP address 190.102.202.36
--> pppd: �[7f]
--> remote IP address 10.64.64.64
--> pppd: �[7f]
--> primary DNS address 200.13.249.101
--> pppd: �[7f]
--> secondary DNS address 200.75.51.133
--> pppd: �[7f]

Hakuna Matata!, Conectado!

domingo, 8 de marzo de 2009

Un poco mas de movilidad

Bueno llego la hora de tener un poco mas de movilidad pero a su vez de libertad en poder acceder a internet de manera sencilla (sin tener en cuenta tnato las velocidades) a traves de la red GSM con el proveedor Colombia Movil S.A. - Tigo. Bueno hasta ahora la cosa pues es aceptable, digamos que tiene ratos eficiente y otros ratitos bajan las ratas U/D pero dentro de su comportamiento normal. He realizado tests de velocidad (http://www.speedtest.net) con distintos puntos en internet y aqui tenemos algunos resultados a distintas horas del dia con distinto trafico:



El mejor registro: Mar-15-09_01:30

Marzo 28 09: Ahora con la politica de "Uso justo" que encontre en una pagina no oficial de Tigo. No vi que despues de 20GB se aplica un "Uso Justo" de la red y me bajan el ancho de banda a 256Kbps... ke mal! y andamos por aca sin banda ancha!.

Abril 18 09: De vuelta con ADSL de Telefonica - Telecom (Ahora con Banda Ancha 2.0, devasta cualquier otro test previo realizado con Tigo y su 3.5G)


Nuevamente sin el baneo de Tigo internet movil con acceso a todo el ancho de banda disponible para el servicio: