Leitungsstatus am Linux Router per LED anzeigen

Diese Schaltung eignet sich, um den aktuellen Status einer Routerverbindung z.B. ins Internet von außen abzulesen.
Dafür wurden in eine Blende zwei LED eingesetzt. Wenn die rote LED brennt ist keine Verbindung aufgebaut. Wenn die grüne LED brennt ist eine Verbindung aktiv.

Was braucht man dazu

  • 1x LED grün
  • 1x LED rot
  • Anschlusskabel mit Pfostenstecker
  • Lüsterklemme oder Lötkolben

Wie wird das gemacht

Hardware

In die Blende werden zwei Löcher gebohrt.
Durch diese Löcher werden die LEDs von hinten eingeschoben und mit einem Tropfen Heißkleber fixiert.
Die beiden LED werden jeweils 180° verdreht zueinander zusammengeschlossen. Ich habe dafür eine Lüsterklemme benutzt. Das erleichtert auch das Weiterführen des Kabels zur Schnittstelle. Man kann aber auch alles verlöten und dann isolieren.

Das Kabel, welches von den verschalteten LEDs weitergeführt wird, kommt an der seriellen Schnittstelle auf Pin 5 und Pin 7 an. Mehr muss man elektrisch nicht tun.

Eine LED wird ab jetzt immer brennen, wenn der Rechner eingeschaltet ist.
Ich habe die rote LED an, wenn keine Verbindung aufgebaut ist. Die Grüne leuchtet, wenn der Router online ist.
Wenn nach dem Einschalten die falsche LED brennt, muss das Kabel an der Schnittstelle um 180° gedreht werden.

Software

Um die Status LED auf Online und Offline zu schalten muss das Script /etc/ppp/ip-up angepasst werden.
Das Umschalten passiert, indem ein Datenstrom an die Schnittstelle gesendet wird. Dieser Datenstrom bringt dann quasi die Online LED zum Leuchten.
Wenn der Datenstrom nicht mehr gesendet wird leuchtet wieder die andere LED und signalisiert den Status Offline.

Online Modus schalten

Um den Online Modus zu aktivieren muss im Script der Bereich gesucht werden, der das Onlinegehen der Analog- oder ISDN-Verbindung abarbeitet. Dieser Bereich ist meistens in einer so genannten Case-Schleife zu finden. Es muss im ip-up Teil der Schleife als letzter Befehl

   # Switch the LED to green
   nice -19 cat /dev/ttyS1 >/dev/null &

eingetragen werden.
Mit diesem Befehl wird ein Datenstrom erzeugt und an die Schnittstelle gesendet. Der Befehl wird in den Hintergrund gestartet und läuft dadurch auch weiter, wenn das Script fertig ist.

Offline Modus schalten

Um den Offlinemodus zu reaktivieren muss im Script der Bereich gesucht werden, der das Offlinegehen der Verbindung abarbeitet. Dieser Bereich ist meistens in einer so genannten Case-Schleife zu finden. Es muss im ip-down Teil der Schleife als erster Befehl

   # Switch the LED back to red
   pkill -xf 'cat /dev/ttyS1'

eingetragen werden. Mit diesem Befehl wird der Datensendeprozess im Hintergrund gefunden und gestoppt, der den Datenstrom an die Schnittstelle sendet und dadurch den Onlinestatus anzeigt.

Das Device ttyS1 bezeichnet die zweite serielle Schnittstelle (DOS/Windows Name COM2).
Wenn die Verkabelung auf der ersten seriellen Schnittstelle (COM1) angeschlossen wurde, muss jeweils der Gerätename ttyS1 durch den Namen ttyS0 ersetzt werden.