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!

21 comentarios :

Willipaticas dijo...

Hola que tal, necesito tu ayuda, resulta que tengo e mismo modem de tigo, pero aqui el win xp no me encuentra los drivers y no lo puedo utilizar, en windows vista sirve sin problema, de donde puedo descargarme los drives de este dispositivo?

andres dijo...

Que más hombre.
Mis admiraciones hacia usted. Esta configuración tan técnica me ha sido de mucha ayuda con el modem que nos suministra tigo. Por eso es que es bueno tratar con colegas ingenieros jajajaja
Gracias

Cristian dijo...

lo probé y funconó a la perfección.Aunque tuve que hacer unas modificaciones ya que soy de Chile y acá claro es bam.clarochile.cl
Quería darte las gracias por haberte dado el tiempo de escribir esas instrucciones. Pero aún tengo un problema con el modem y quisiera saber si me puedes ayudar.
El problema es cuando desconecto el modem, al intentar conectarlo otra vez, me dice que no ha encontrado modem. Al reiniciar el equipo, me pasa lo mismo, tengo que repetir todos los pasos para que lo reconozca como modem y volver a configurarlo. ¿Es normal que pase en linux con este modem? Mi modem es un ZTE MF626
Agradecería si pudieras orientarme al respecto, ya que soy nuevo en linux y me interesa mantenerlo. A propósito tengo instalado el Linux mint 6.

Cristian dijo...

lo probé y funconó a la perfección.Aunque tuve que hacer unas modificaciones ya que soy de Chile y acá claro es bam.clarochile.cl.
Quería darte las gracias por haberte dado el tiempo de escribir esas instrucciones. Pero aún tengo un problema con el modem y quisiera saber si me puedes ayudar.
El problema es cuando desconecto el modem, al intentar conectarlo otra vez, me dice que no ha encontrado modem. Al reiniciar el equipo, me pasa lo mismo, tengo que repetir todos los pasos para que lo reconozca como modem y volver a configurarlo. ¿Es normal que pase en linux con este modem? Mi modem es un ZTE MF626
Agradecería si pudieras orientarme al respecto, ya que soy nuevo en linux y me interesa mantenerlo. A propósito tengo instalado el Linux mint 6.

Juan Javier dijo...

hola amigo, necesito de tu ayuda, acabo de instalar ubuntu 9.04 y estoy intentando lo que propones pero me aparese que no reconose el comando
$ sudo usb_modeswitch -W -v 0x19d2 -p 0x2000 -V 0x19d2 -P 0x0031 -m 0x01 -M
que podria ser, o lo estoy ingresando mal....

Nota: mi ubuntu no tiene istalado nada, solo lo que trae por defecto y en el no tengo manera de conectarme mas que por el modem ZTE.

Juan Carlos dijo...

Felicitaciones, excelente ayuda, una pregunta como haria esto para comcel, que parametros tendria que colocar?, gracias.

ALEJANDRO ARIAS dijo...
Este comentario ha sido eliminado por el autor.
ALEJANDRO ARIAS dijo...

Hola, tengo problema con el de comcel, lo desistale pensando que reinstalando lo solucionaba, pero ahora no se puedey lo ve como una unidad de memoria pero no me deja verla. Necesito su ayuda para reistalarlo muchas gracias.

alalarme@gmail.com

Andrés dijo...

Muy buen tutorial ...

Tengo un modem zte mf626 con COMCEL, lo trate de instalar siguiendo el tutorial de usb_modeswitch, cambiando el ID y tratando de hacer que no lo reconociera como memoria USB sino como modem, para que NetworkManager hiciera la coneccion (Ubuntu 8.10), no hubo problema ya que la coneccion se establecio, pero al actualizar el NetworkManager desde repositorios, dejo de reconocer el modem, y no se pudo coenctar, hice un pequeño cambio al tutorial y me aventure con wvdial y la coneccion volvio, aunque NetworkManager ni se mosquea.

La cuestión es que el PC es de mi novia y ella no se mete con la consola ... alguna alternativa para automatizar el proceso con wvial, o hacer que networkManager vuelva a reconocerlo como modem?

POr cierto, es un Ubuntu 8.10 AMD64, al realizar lo mismo en mi pc (Xubuntu 8.04.2 i386) solo basta con una vez y despues repetir algunos pasos para que NetworkManager lo reconozca y se encargue de las conecciones ....

Andres Calderon dijo...

Gracias, me resultó muy útil esta guía. Probé en una BeagleBoard (procesador ARM Cortex-A8) con distribución OpenEmbedded.

juan agreda dijo...

Para un modem sony ericsson MD300 se siguen los mismos pasos en una distro Ubuntu 8.10

Carlos dijo...

Pana, que puedo hacer en mi caso que tengo instalado Kubuntu 8.04 y el comando: $ sudo usb_modeswitch -W -v 0x19d2 -p 0x2000 -V 0x19.....00000000
No funciona, es decir no da el mensaje "OK, message successfully sent"
Que debo hacer en este caso ya que por lo visto en ubuntu funciona bien. Agradesco cualquier ayuda que sea de utilidad
PD: No tengo pensado cambiarme a Ubuntu

rafael ernesto medina dijo...

algo que no me gusta de este modem que no soporta mas de 2gb microSD quise ponerle una de 8gb y no lo soporta. O ay algun truco para que los pueda soportar,si alguien lo sabe por favor comuniquemelo.gracias

gabriel dijo...

buenos dias quiero instalar el moden zte en mi acer aspire one, tengo linpus linux y no he podido agradesco me ayuden, no conosco nada de linux por favor indicarme desde el primer paso muchas gracias

Reptilian dijo...

hola excelente entrada, pero tengo un problema:

al intentar el comando del usb_modeswitch
me sale el siguiente error:
Looking for active driver ...
OK, driver found ("usbfs")
OK, driver "usbfs" detached
Setting up communication with interface 0 ...
Trying to send the message to endpoint 0x01 ...
Sending the message returned error -2. Trying to continue
Device is gone, skipping further steps ...
(bueno, eso al final)

tengo el modem de comcel pero ps la misma referencia así que supongo q el único cambio que hay que hacer es al wvdial no a la línea de comando del usb_modeswitch... de todos modos parece q es por el 0x01 lo he intentado con 0x05 0x06 tambn y nada.... que estoy haciendo mal? muchas gracias, espero tu respuesta

Reptilian dijo...

mm ya se resolvió solo... tocaba ejecutar el usb_switch antes de q el led del modem se prendiera y funciono de una vez...

ahora tengo otro problema..

al hacer el wvdial no encuentra el modem

parece q no reconoce el tty

--> Cannot open /dev/ttyUSB2: No such file or directory
--> Cannot open /dev/ttyUSB2: No such file or directory
--> Cannot open /dev/ttyUSB2: No such file or directory

abrí la carpeta /dev/ y los q hay son solo tty, no ttyUSB pero aún así no conecta con el tty ni tty 0 ni tty2-.... T.T

Reptilian dijo...

sry por el spam... ya funciona! pero va leeento como él solo... me hubiera hecho a uno de tigo y no de comcel.... en fin, muchas gracias por el tuto!!!1

estoy corriendo en Debian, aparentemente si a alguien le pasa lo que mencioné arriba lo que debe hacer es desconectar el modem, y realizar los pasos ANTES de que el led del modem se encienda... son como unos 15 segs... ya haciendo un script q lo haga solo no hay problema, lo hace de una...

ARTURO ALMANZA dijo...

Gracias por tu aporte a la sociedad, agradeceria si alguien me ayuda con una pista para Windosws PC xp server Pack 2 / porque el mio, compu de escritorio de ram 1.5g - reconoce el modem zte mf616 como una unidad de dvd o cd pero no me deja entrar, dice no hay disco en la unidad!. Todos los usb funcionan bien (usb y usb2)- he logrado instalar el software pero nada que conecta, y este dispositivo brindado por Movistar colombia me trabaja en otro computador portátil. Estoy desesperado llevo 2 días en esto.

andres dijo...

Parce: muchas gracias; esta de locos, FUNCIONA A LAS MIL MARAVILLAS.
solo hay que seguir los pasos y listo.

kevin dijo...

hola espero que esten pasando un buen dia.

bueno lo que me gustaria y se pegaria un 100 con todos nosotros es que hiciera un video tutorial de estos pasos ya que yo uso un zte MF626 de claro nicaragua y tengo dias tratando de que trabaje.

muchas gracias por todo este tutorial y tratare de nuevo haber si lo logro.

kevin dijo...

hola espero que esten pasando un buen dia.

bueno lo que me gustaria y se pegaria un 100 con todos nosotros es que hiciera un video tutorial de estos pasos ya que yo uso un zte MF626 de claro nicaragua y tengo dias tratando de que trabaje.

muchas gracias por todo este tutorial y tratare de nuevo haber si lo logro.