/
Conexión permanente a Internet con módem 3G/4G
Search
Try Notion
Conexión permanente a Internet con módem 3G/4G
Fecha publicación
2022/01/21
#
30
Dificultad
Intermedio
3 more properties
Descripción
En este artículo se describe como configurar un módem 4G para el IoT Gateway. Este módem podemos tenerlo siempre conectado a Internet, o usar el envió de SMS contra este dispositivo para activar y desactivar la conexión cuando queramos tener acceso remoto al equipo.
En esta entrada te explicamos la primera parte, la de tener el módem siempre conectado y en el próximo vídeo nos centraremos en controlar la conexión vía SMS.
Configuración del módem
Empezamos por definirle al USB en que modo debe ser reconocido por el equipo. A esto se le llama configuración del “usb-modeswitch”.
usb-modeswitch
Instalamos el paquete:
apt install usb-modeswitch
Plain Text
para configurar el comportamiento del usb-modeswitch crearemos el seguiente fichero de configuración:
/etc/udev/rules.d/40-usb_modeswitch.rules
ATTR(idVendor}=="12d1", ATTR{idProduct}=="1446", RUN+="usb_modeswitch '%b/%k'" # ttyUSB_utps_modem SUBSYSTEMS=="usb", ATTRS{modalias}=="usb:v12D1p1001*", KERNEL=="ttyUSB*", ATTRS{bInterfaceNumber}=="00", ATTRS{bInterfaceProtocol}=="ff", SYMLINK+="modem0" # ttyUSB_utps_diag SUBSYSTEMS=="usb", ATTRS{modalias}=="usb:v12D1p1001*", KERNEL=="ttyUSB*", ATTRS{bInterfaceNumber}=="01", ATTRS{bInterfaceProtocol}=="ff", SYMLINK+="modem1" # ttyUSB_utps_pcui SUBSYSTEMS=="usb", ATTRS{modalias}=="usb:v12D1p1001*", KERNEL=="ttyUSB*", ATTRS{bInterfaceNumber}=="02", ATTRS{bInterfaceProtocol}=="ff", SYMLINK+="modem2"
YAML
Para que el dispositivo se reconozca se puede usar el siguiente comando y si no funciona también podemos reiniciar.
udevadm control --reload-rules && udevadm trigger
YAML
Después debemos ver que dentro de /dev deben aparecer varios dispositivos llamados /dev/modem* a través de los cuales podemos acceder a las diferentes funciones del módem.
Para saber más de cada uno de estos dispositivos podemos usar el comando:
udevadm info -a /dev/modem0
YAML
Conexión a Internet
Para esto instalaremos el paquet wvdial:
apt install wvdial
YAML
Para configurarlo, creamos los ficheros siguientes con el contenido indicado:
/etc/ppp/peers/wvdial
noauth name wvdial usepeerdns defaultroute replacedefaultroute
Bash
/etc/wvdial.conf
[Dialer Defaults] Init1 = AT Init2 = ATZ Modem = /dev/ttyUSB0 Baud = 460800 [Dialer internet] Init3 = AT+CGDCONT=1,"IP","inet.es" Phone = *99***1# ISDN = 1 Username =; Password =; Stupid Mode = on Auto DNS = on Auto Reconnect = on New PPPD = yes ; [Dialer pin] ; Init2 = AT+CPIN="1234"
Bash
Fíjate que esta comentada la parte de introducción del PIN.
Por otro lado, también observa que el Init3 tiene la información de conexión del APN del operador que usamos nosotros. Nuestro APN es el “inet.es” cámbialo por el tuyo además de los usuarios y passwords asociados para la conexión, si hace falta.
Una vez tenemos esto listo, podemos usar estos comandos:
# ejecuta los comandos que hay dentro de defaults wvdial # introduce el PIN de la tarjeta SIM si has descomentado las líneas pertinentes que comentamos más arriba wvdial pin # para conectar a Internet wvdial internet
YAML
Se puede usar el propio crontab para lanzar la conexión al iniciar el equipo si queremos estar siempre conectados:
Comando para editar crontab:
crontab -e
YAML
Contenido que debemos añadir a nuestro crontab:
@reboot /usr/bin/wvdial internet
Bash
Algunas notas para resolución de problemas
Problemas con el DNS
Una opción és eliminar el link a /etc/resolv.conf y en ocasiones lo encontraremos apuntando a ../run/systemd/resolve/stub-resolv.conf
rm /etc/resolv.conf
YAML
Se puede crear un fichero estático convencional para evitar que los automatismos del módem nos dejen el fichero inconsistente y esto genere problemas con el Zerotier u otros servicios vitales para los accesos remotos.
Por ejemplo,
nameserver 1.1.1.1 nameserver 1.0.0.1
YAML
Comprobar que wvdial ha lanzado pppd
ps ax | grep pppd
YAML
Consultar logs para ver la negociación de la conexión
journalctl -f
YAML
Además de los comandos típicos para monitorizar el enrutado de paquetes
ip -o a ip route
YAML
O comprobar si se mueve tráfico por la interface del módem
iptraf-ng -d ppp0
YAML
VNSTAT - Monitorización del ancho de banda usado por el módem
Concretamente para saber esto lo que monitorizamos es el consumo del enlace PPP.
Primero instalamos vnstat:
apt install vnstat
YAML
Después editamos el fichero de configuración /etc/vnstat.conf y en la línia 5 donde se define la interface ponemos:
Interface "ppp0"
YAML
Una vez hecho esto con el siguiente comando sabremos el consumo acumulado en nuestro enlace:
vnstat -m
YAML
Si queremos recibir un correo automáticamente cada hora informando del consumo acumulado podemos poner lo siguiente en crontab:
59 * * * * vnstat -m
Bash
⚠️
Estamos asumiendo que has hecho lo descrito en nuestro vídeo: Envía eventos de sistema por email - Configuración SSMTP