Raspberry Pi,  Redes

Huawei E220. Configuración en Raspberry Pi

Huawei E220
Huawei E220

motivación

La idea es utilizar este módem 3G junto a una Raspberry Pi para proporcionar conectividad a una pequeña red doméstica o empresarial. La ventaja de utilizar este dispositivo es que el kernel de linux lo reconoce correctamente. Además, no genera problemas con la dualidad propia (también es un almacenamiento usb) que tienen otros dispositivos similares.

comprobaciones iniciales para el Huawei E220

Como he dicho anteriormente, este dispositivo está soportado por el kernel y además está documentado por Debian, así que tenemos documentación oficial acerca de él. Concretamente en https://wiki.debian.org/Huawei/E220, se puede consultar el proceso de instalación. Primero es necesario comprobar que cuando se inserta el USB deben aparecer varios dispositivos nuevos.

# ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 nov  4 16:21 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 nov  4 16:21 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2 nov  4 16:21 /dev/ttyUSB2
crw-rw---- 1 root dialout 188, 3 nov  4 16:21 /dev/ttyUSB3

 

instalación de software necesario

Puesto que las conexiones vía 3G son conexiones ppp necesitamos un dialer que realice las acciones necesarias. En este caso voy a utilizar wvdial con la configuración apropiada de mi operador móvil.

# apt-get install wvdial

Una vez instalado wvdial y sus dependencias toca configurar. En /etc/wvdial.conf tendremos que poner:

[Dialer Defaults]
New PPPD = yes
Stupid Mode = 1
Modem Type = 3G Modem
Baud = 460800
Modem = /dev/ttyUSB0
ISDN = 0

[Dialer poweron]
Init1 = AT+CFUN=1

[Dialer poweroff]
Init1 = AT+CFUN=0

[Dialer movistar]
Init2 = AT
Init3 = AT&F&D2&C1E0V1S0=0
Init4 = AT+IFC=2,2
Init5 = ATS0=0
Init6 = AT
Init7 = AT&F&D2&C1E0V1S0=0
Init8 = AT+IFC=2,2
Phone = *99***1#
Password = MOVISTAR
Username = MOVISTAR

En mi caso he quitado el pin de la tarjeta SIM. Si la tarjeta tuviera el pin establecido, tocaría descomentar la tercera línea del apartado movistar, para que wvdial se lo pase al módem.

Para realizar la llamada se lanza el comando:

# wvdial movistar

wvdial inicializa el módem pasando además los parámetros de conexión indicados en wvdial.conf realizando finalmente la conexión a través de ppp. En caso de que la conexión sea correcta se nos proporciona una dirección IP, un GATEWAY y un par de DNS. Podemos comprobarlo con un ifconfig.

ppp0      Link encap:Point-to-Point Protocol  
          inet addr: ip_publica  P-t-P: gw Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:990 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:80742 (78.8 KiB)  TX bytes:341 (341.0 B)

 

Iniciando ppp0 al inicio

Ya hemos visto como realizar la conexión como un cliente 3G convencional, pero para sacar provecho real en un dispositivo que actúa como servidor, es necesario que la conexión esté disponible desde el arranque.

Inicialmente tenemos que modificar el archivo /etc/network/interfaces con:

iface ppp0 inet wvdial
	provider movistar

En provider hay que declarar el nombre que hemos usado en /etc/wvdial.conf

Ahora bien, como estamos tratando de un dispositivo USB y que además tenemos que tener en cuenta que se tiene que registrar en la red 3G del proveedor, podemos encontrarnos con que cuando el sistema intente realizar la llamada ppp el dispositivo no esté disponible para ello.

Yo he optado por una solución efectiva pero que seguro se podría mejorar. En concreto, si añadimos un sleep 20 y lanzamos ifup ppp0 en el /etc/rc.local le damos tiempo al pincho 3G a que se inicie correctamente antes de realizar la llamada.

También hay que tener la precaución de quitar la línea auto ppp0 en caso de haberla configurado en /etc/network/interfaces.

2 Comments

  • Martin Garmendia

    ¡Gracias! no te imaginas que alegría saber que puedo usar un modem que tenía por ahí guardado con la pi.
    He probado la configuración de movistar y sin problemas. Por si a alguien le interesa dejo aquí la configuración para Masmovil que es la misma que para FreedomPop:

    [Dialer masmovil]
    Init1 = ATZ
    Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
    Init3 =
    Init4 = AT+CGDCONT=1,”IP”,”internetmas”,””,0,0
    Baud = 3600000
    Username = off
    Password = off
    New PPPD = yes
    Phone = *99*#
    Dial Command = ATDT
    Stupid Mode = 1
    Compuserve = 0
    Force Address =
    Idle Seconds = 0
    Carrier Check = no
    ISDN = 0
    Auto DNS = 1
    Remote Name = “*”

Deja una respuesta