====== Internet connectino Watchdog ====== this is about creating a raspberry pi based appliance that monitors your internet conenction and if it goes down, automatically debugs it and restarts stuff like modem / router etc. as necessary. the device should also be reachable via an on-demand gsm link that can be initated by sms to login to the device and debug the link manually so far, this is just a collection of snippets of information and links, i'll write it up into a nice article one day, but not today ;) ===== software installation ===== apt update && apt install wvdial gammu gammu-smsd picocom ===== SMS ===== * Software: [[https://wammu.eu/docs/manual/|Gammu]] * Hardware: TP-Link MA260 * on the tp-link stick the last serial device seems to be the one that can be used for sms (''gammu identify'' only gets information from that device). gammu-detect | grep -B1 TP-LINK | grep ttyUSB | tail -n 1 to get the device name for the config * ''/etc/gammu-smsdrc.template''# Configuration file for Gammu SMS Daemon # Gammu library configuration, see gammurc(5) [gammu] port = %PORT% connection = at #logformat = textall # SMSD configuration, see gammu-smsdrc(5) [smsd] service = null logfile = syslog # Increase for debugging information debuglevel = 0 RunOnReceive = /opt/process-sms.sh * ''/root/.gammurc''[gammu] device = %PORT% connection = at * ''/opt/updateModemPort.sh'' #!/bin/bash port=$(gammu-detect | grep -B1 TP-LINK | grep ttyUSB | tail -n 1 | awk -F = '{print $2}' | tr -d " ") sed -e "s|%PORT%|${port}|" /etc/gammu-smsdrc.template > /etc/gammu-smsdrc sed -e "s|%PORT%|${port}|" /root/.gammurc.template > /root/.gammurc * installation: apt install gammu gammu-smsd * #!/bin/bash for i in `seq $SMS_MESSAGES` ; do numvar="SMS_${i}_NUMBER" textvar="SMS_${i}_TEXT"; echo "${!numvar}:${!textvar}" >> /tmp/messages if [ "${!textvar}" == "connect" ]; then echo "connect!" >> /tmp/messages fi done ===== GSM Link ===== * Hardware: See above * Software: wvdial * config: ''/etc/wvdial.conf.template'' [Dialer Defaults] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Init3 = AT+CGDCONT=1,"IP","internet" Modem Type = Analog Modem Baud = 960000 New PPPD = yes Modem = %PORT% ISDN = 0 Phone = *99# Password = { } Username = { } ===== Relay Card ===== * Hardware: Conrad electronics, part number 967720 (Relaiskarte 8Fach Seriell) * Software: [[http://www.thomas-dohl.de/?Projekte___Relaiskarte]] ===== serial console to router ===== * via dual prolific basead usb to serial converter, one link goes to the relay card, the other to the serial terminal of the pfsense router. * usb link is extended down to the basement via cat7 link, I simply cut a usb extension cord into two and attached RJ45 plugs to both ends with identical pin layout. works like a charm :) * software: ''picocom''