Configurar Modem USB 3G de Vodafone bajo Linux
Para todos aquellos afortunados que dispongan de un portatil, con un corazón Linux (a ser posible Debian,ja,ja), y estén en disposición de un módem USB 3G Vodafone, quizás el siguiente post les pueda resultar de interés.
Después de leer varias cosillas por Internet os comento los pasos que he realizado para configurar nuestra llave 3G.
.
Con el dispositivo desconectado :
tail -f /var/log/messages
Ahora lo conectamos, y en nuestro caso vemos que en pantalla nos aparece lo siguiente:
Aug 29 15:10:05 PedLap kernel: [ 2637.725016] usb 3-3: new high speed USB device using ehci_hcd and address 7
Aug 29 15:10:05 PedLap kernel: [ 2637.868577] usb 3-3: New USB device found, idVendor=12d1, idProduct=1001
Aug 29 15:10:05 PedLap kernel: [ 2637.868580] usb 3-3: New USB device strings: Mfr=2, Product=1, SerialNumber=0
Aug 29 15:10:05 PedLap kernel: [ 2637.868582] usb 3-3: Product: HUAWEI Mobile
Aug 29 15:10:05 PedLap kernel: [ 2637.868584] usb 3-3: Manufacturer: HUAWEI Technology
Aug 29 15:10:05 PedLap kernel: [ 2637.868661] usb 3-3: configuration #1 chosen from 1 choice
Aug 29 15:10:05 PedLap kernel: [ 2637.870272] usb-storage: probe of 3-3:1.0 failed with error -1
Aug 29 15:10:05 PedLap kernel: [ 2637.871782] usb 3-3: USB disconnect, address 7
Lo cual nos indica que algo si que encuentra.
Si ejecutamos :
lsusb (-v obtenemos mas información)
Bus 003 Device 008: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
Vemos que nuestro sistema si nos reconoce el Módem. Tenemos ya la mayor parte de la batalla ganada. ¿ Y por que lo reconoce ?.
uname -a
Linux PedLap 2.6.30-1-686 #1 SMP Sun Jul 26 06:48:27 UTC 2009 i686 GNU/Linux
Porque en la versión de Kernel ya trae soporte para la Huawei E620.
Si ejecutamos :
find /dev -name ttyUSB*
Y nos aparece :
/dev/ttyUSB2
/dev/ttyUSB1
/dev/ttyUSB0
Estamos en el buen camino. En caso contrario, puede que tengamos que crear los dispositivos a mano :
sudo mknod /dev/ttyUSB0 c 188 0
sudo mknod /dev/ttyUSB1 c 188 1
sudo mknod /dev/ttyUSB2 c 188 2
Para cargar el modulo y ver que funciona ejecutamos:
modprobe usbserial vendor=0x12d1 product=0x1001
Pero para no tener que hacerlo cada vez que arrancamos la maquina, generamos el siguiente fichero :
vi /etc/modprobe.d/huawei620
#Huawei E620
alias huawei usbserial
options huawei vendor=0x12d1 product=0x1001
Podemos desconectar y volver a conectar el dispositivo 3G
Ejecutar :
dmesg | grep usb
y deberíamos ver algo que nos indique que vamos por el buen camino.
[ 5526.700925] usb 2-2: USB disconnect, address 21
[ 5533.288025] usb 2-2: new high speed USB device using ehci_hcd and address 22
[ 5533.435156] usb 2-2: New USB device found, idVendor=12d1, idProduct=1001
[ 5533.435160] usb 2-2: New USB device strings: Mfr=2, Product=1, SerialNumber=0
[ 5533.435162] usb 2-2: Product: HUAWEI Mobile
[ 5533.435164] usb 2-2: Manufacturer: HUAWEI Technology
[ 5533.435243] usb 2-2: configuration #1 chosen from 1 choice
[ 5538.072673] usb 2-2: GSM modem (1-port) converter now attached to ttyUSB0
[ 5538.072867] usb 2-2: GSM modem (1-port) converter now attached to ttyUSB1
[ 5538.073011] usb 2-2: GSM modem (1-port) converter now attached to ttyUSB2
Ahora vamos a ver que verdaderamente el dispositivo 3G esta funcionando correctamente. Para ello podemos hacer uso de aplicaciones gráficas o aprovecharnos de la consola.
A los que les gusten la aplicaciones gráficas, pueden hacer uso de gnome-ppp o kppp, y los mas frikis pueden tirar de la consola con aplicaciones al uso como minicom o screen.
Para hacerlo mas entretenido nos ponemos con la consola.
apt-get install screen (para instalarnos la aplicación)
Ejecutamos:
screen /dev/ttyUSB0
Si escribimos ahora :
ATI
Nos debería devolver algo como:
Manufacturer: huawei
Model: K3715
Revision: 11.104.18.00.00
IMEI: 353435024582505
+GCAP: +CGSM,+DS,+ES
OK
Vemos que va cogiendo forma el asunto. Ahora deberemos instalar el wvdiag para empezar a ver resultados.
apt-get install wvdiag
Esta aplicación genera un fichero de configuración en el directorio etc
Adjunto el mio que funciona perfectamente con Vodafone
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,»IP»,»ac.vodafone.es»;
Modem = /dev/ttyUSB0
Phone = *99***1#
Username = vodafone
Password = vodafone
Stupid Mode = 1
# Carrier Check = no
#Dial Command = ATDT
#Baud = 9600
Baud = 460800
ISDN = 0
Modem Type = Analog Modem
En caso de utilizar pin en vuestra tarjeta debéis reemplazar el Init1 por Init1 = ATZ+CPIN=XXXX. Recomiendo que primero lo probéis sin el PIN que os dará menos problemas.
Para desactivar el PIN:
screen /dev/ttyUSB0
at+clck=»sc»,0,»vuestro_pin”
OK
Y si necesitáis volver a activarlo
at+clck=»sc»,1,»vuestro_pin”
Si queremos comprobar que el Pin que tenemos es correcto, podemos ejecutar:
at+cpin=xxxx
Y nos deveria devolver un OK.
Otros comandos que nos pueden resultar útiles serian :
AT+COPS? – Informacion sobre la red en la que nos encontramos.
AT+CSQ – Información sobre la cobertura.
Como hemos introducido toda la configuración en default, con ejecutar :
wvdiag
–> WvDial: Internet dialer version 1.60
–> Cannot get information for serial port.
–> Initializing modem.
–> Sending: ATZ
OK
–> Sending: ATZ
ATZ
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»,»ac.vodafone.es»;
AT+CGDCONT=1,»IP»,»ac.vodafone.es»;
OK
–> Modem initialized.
–> Sending: ATDT*99***1#
–> Waiting for carrier.
ATDT*99***1#
CONNECT
–> Carrier detected. Starting PPP immediately.
–> Starting pppd at Fri Aug 28 14:48:54 2009
–> Pid of pppd: 6448
–> Using interface ppp0
–> pppd: �!����S[08]�S[08]
–> pppd: �!����S[08]�S[08]
–> pppd: �!����S[08]�S[08]
–> pppd: �!����S[08]�S[08]
Deberíamos de estar conectados. Sino compañero me temo que os va a tocar revisar un poquillo todo lo que hemos comentado.
Como siempre mirar todos los Logs que podáis y preguntarle al que todo lo sabe Google que seguro no sois los primeros en encontraros con el maldito problema.
Y sobre todo, no os agobiéis y tomaros los problemas con calma, que seguro que tarde o temprano se terminan por solucionar.
Vamos terminando compañeros.
Ahora si ejecutamos:
ifconfig
Deberíamos encontrarnos con una interfaz nueva tal que :
ppp0 Link encap:Point-to-Point Protocol
inet addr:XX.XXX.133.34 P-t-P:XX.XX.XX.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:2380 (2.3 KiB) TX bytes:1568 (1.5 KiB)
Añadimos la ruta para que todo el trafico salga por esa interfaz:
route add default dev ppp0
Comprobamos las rutas :
route
default * 0.0.0.0 U 0 0 0 ppp0
Y probamos que todo funciona :
ping www.google.es
PING www.l.google.com (209.85.229.104) 56(84) bytes of data.
64 bytes from ww-in-f104.google.com (209.85.229.104): icmp_seq=1 ttl=53 time=114 ms
64 bytes from ww-in-f104.google.com (209.85.229.104): icmp_seq=2 ttl=53 time=113 ms
64 bytes from ww-in-f104.google.com (209.85.229.104): icmp_seq=3 ttl=53 time=111 ms
Si la lucecita que te aparece en el dispositivo es verde tenemos cobertura GPRS, si tenemos suerte y es azul, a volar con el 3G.
Poco mas nos queda que disfrutar surfeando por la web a ver que nos encontramos esta vez.
Saludos compañeros.