domingo, 27 de diciembre de 2009

zte mfe626 (modem comcel colombia) en linux

Feliz navidad a todos (yo que soy el único que me leo :p) recientemente me traslade a la capital colombiana y deje muchas cosas atrás (sniffff sniff) pero también muchas cosas nuevas dentro de ellas la forma de conectar mi debian a internet, joder lo primero que llego y me encuentro es que no hay linea telefónica y nada por el estilo solo un modem el cual viene preparado para trabajar bajo windows (incluye programita y todo el cuento), investigando por la inet hay muchos modulos de como montar modem 3g en otros países pero no en Colombia, entonces cacharreando (viendo las conf del windows) un poco encontré la solución, requisitos y herramientas utilizadas en este caso.

Requisitos (lo que tengo instalado en este momento)

kernel: Linux w-andrey 2.6.30-2-686 #1 SMP i686 GNU/Linux
programa wvdial (apt-get install wvdial)

En este caso el kernel ya esta en capacidad de detectar los modems 3G pero con el inconveniente que mi entorno kde4 me monta una unidad de cd (Si!! un dispositivo usb lo detecta como cd), en fin es cuestión de desmontarlo para que el kernel ejecute el modulo usbserial.

Entonces cuando se conecta el modem tenemos lo siguiente en el log /var/log/messages

Dec 27 10:22:00 De-andrey kernel: [ 61.164067] usb 1-3: new high speed USB device using ehci_hcd and address 4
Dec 27 10:22:00 De-andrey kernel: [ 61.308775] usb 1-3: New USB device found, idVendor=19d2, idProduct=2000
Dec 27 10:22:00 De-andrey kernel: [ 61.308780] usb 1-3: New USB device strings: Mfr=2, Product=1, SerialNumber=0
Dec 27 10:22:00 De-andrey kernel: [ 61.308783] usb 1-3: Product: ZTE CDMA Technologies MSM
Dec 27 10:22:00 De-andrey kernel: [ 61.308786] usb 1-3: Manufacturer: ZTE, Incorporated
Dec 27 10:22:00 De-andrey kernel: [ 61.308891] usb 1-3: configuration #1 chosen from 1 choice
Dec 27 10:22:00 De-andrey kernel: [ 61.313242] scsi3 : SCSI emulation for USB Mass Storage devices
Dec 27 10:22:00 De-andrey kernel: [ 61.515387] usbcore: registered new interface driver usbserial
Dec 27 10:22:00 De-andrey kernel: [ 61.515402] USB Serial support registered for generic
Dec 27 10:22:00 De-andrey kernel: [ 61.515422] usbcore: registered new interface driver usbserial_generic
Dec 27 10:22:00 De-andrey kernel: [ 61.515424] usbserial: USB Serial Driver core
Dec 27 10:22:00 De-andrey kernel: [ 61.598073] USB Serial support registered for GSM modem (1-port)
Dec 27 10:22:00 De-andrey kernel: [ 61.598115] usbcore: registered new interface driver option
Dec 27 10:22:00 De-andrey kernel: [ 61.598117] option: v0.7.2:USB Driver for GSM modems
Dec 27 10:22:05 De-andrey kernel: [ 66.315316] scsi 3:0:0:0: CD-ROM ZTE USB SCSI CD-ROM 2.31 PQ: 0 ANSI: 0

En este punto tenemos un dispositivo en /dev llamado sr1 entonces tenemos que desmontarlo.

eject /dev/sr1

Una ves echo esto el kernel detecta el modem:

Dec 27 10:24:20 De-andrey kernel: [ 201.420097] usb 1-3: new high speed USB device using ehci_hcd and address 5
Dec 27 10:24:20 De-andrey kernel: [ 201.556666] usb 1-3: New USB device found, idVendor=19d2, idProduct=0031
Dec 27 10:24:20 De-andrey kernel: [ 201.556670] usb 1-3: New USB device strings: Mfr=2, Product=1, SerialNumber=3
Dec 27 10:24:20 De-andrey kernel: [ 201.556673] usb 1-3: Product: ZTE CDMA Technologies MSM
Dec 27 10:24:20 De-andrey kernel: [ 201.556675] usb 1-3: Manufacturer: ZTE, Incorporated
Dec 27 10:24:20 De-andrey kernel: [ 201.556678] usb 1-3: SerialNumber: 1234567890ABCDEF
Dec 27 10:24:20 De-andrey kernel: [ 201.556779] usb 1-3: configuration #1 chosen from 1 choice
Dec 27 10:24:20 De-andrey kernel: [ 201.559925] option 1-3:1.0: GSM modem (1-port) converter detected
Dec 27 10:24:20 De-andrey kernel: [ 201.560039] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB0
Dec 27 10:24:20 De-andrey kernel: [ 201.560160] option 1-3:1.1: GSM modem (1-port) converter detected
Dec 27 10:24:20 De-andrey kernel: [ 201.560218] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB1
Dec 27 10:24:20 De-andrey kernel: [ 201.560713] scsi4 : SCSI emulation for USB Mass Storage devices
Dec 27 10:24:20 De-andrey kernel: [ 201.560968] option 1-3:1.3: GSM modem (1-port) converter detected
Dec 27 10:24:20 De-andrey kernel: [ 201.561079] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB2
Dec 27 10:24:25 De-andrey kernel: [ 206.561936] scsi 4:0:0:0: Direct-Access ZTE MMC Storage 2.31 PQ: 0 ANSI: 2
Dec 27 10:24:25 De-andrey kernel: [ 206.562435] sd 4:0:0:0: Attached scsi generic sg3 type 0
Dec 27 10:24:25 De-andrey kernel: [ 206.565442] sd 4:0:0:0: [sdc] Attached SCSI removable disk


Ahora tenemos tres nuevos dispositivos en /dev, como podemos ver en el log estos dispositivos son: ttyUSB0, ttyUSB1,ttyUSB2.

Muy bien el kernel ya detecta correctamente el modem ahora lo que tenemos que hacer es configurar el wvdial, editamos o creamos el fichero que se encuentra en /etc/wvdial.conf el cual queda de la siguiente forma:

[Dialer Defaults]
#Created by wvdialconf:
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init1 = ATZ
Modem = /dev/ttyUSB2
Phone = *99#
Idle Seconds = 300
Modem Type = USB Modem
Stupid Mode = 1
Compuserve = 0
Baud = 460800
Auto DNS = 1
Dial Command = ATDT
Ask Password = 0
ISDN = 0
Username = COMCELWEB
Password = COMCELWEB
New PPPD = yes

Como podemos ver el único dispositivo útil en este caso es el /dev/ttyUSB2.

Ahora solo nos queda ejecutar wvdial pelado y nos conectara a la red comcel:

De-andrey:/home/xxxxx# wvdial
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
--> Idle Seconds = 300, disabling automatic reconnect.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Sun Dec 27 10:24:33 2009
--> Pid of pppd: 3495
--> Using interface ppp0
--> pppd: �������[08][18]t�[08][01]
--> pppd: �������[08][18]t�[08][01]
--> pppd: �������[08][18]t�[08][01]
--> pppd: �������[08][18]t�[08][01]
--> pppd: �������[08][18]t�[08][01]
--> pppd: �������[08][18]t�[08][01]
--> local IP address 190.125.100.145
--> pppd: �������[08][18]t�[08][01]
--> remote IP address 10.64.64.64
--> pppd: �������[08][18]t�[08][01]
--> primary DNS address 10.11.12.13
--> pppd: �������[08][18]t�[08][01]
--> secondary DNS address 10.11.12.14
--> pppd: �������[08][18]t�[08][01]

Y listo.

tips:
Comcel tiene un defecto con la asignación dns, y es que me he dado cuenta que estos dns no funcionan muy bn:

--> primary DNS address 10.11.12.13
--> pppd: �������[08][18]t�[08][01]
--> secondary DNS address 10.11.12.14

Por lo cual coloco el siguiente dns primario en /etc/resolv.conf

nameserver 4.2.2.3

y con esto se resuelve.

Adicionalmente les dejo el archivo de configuración para conectarse a movistar (no recuerdo el modem)

[Dialer Defaults]
Phone = *99***1#
Username = movistar
Password = movistar
Stupid Mode = 1
Dial Command = ATDT

[Dialer reset]
Modem = /dev/ttyUSB0
Init1 = AT

[Dialer movistar]
Phone = *99#
Modem = /dev/ttyUSB0
Baud = 460800
Init2 = ATZ
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ISDN = 0
Modem Type = Analog Modem
Init5 =AT+CGDCONT=1,"IP","internet.movistar.com.co";

Espero que os sirva en algo o a alguien jeje..