Öfters als man denkt kann es vorkommen, dass einem der PC quasi einfriert. Keine Reaktion. Selbst Maus und Tastatur ändern diesen Zustand nicht mehr. Das Betriebssystem ist total kollabiert und nur noch ein Hardware-Reset hilft. Die Ursache kann unterschiedlich sein:

  • Es liegt ein Hardwarefehler vor, der vielleicht nur sporadisch auftritt.
  • Das Betriebssystem ist durch die Installation nicht zertifizierter Archive instabil geworden.
  • Ein Befehl, der bei falscher Eingabe den Eingabefehler nicht korrekt abfängt.

Zum Glück sitzen wir vor dem Rechner.

Aber was, wenn es sich um einen Server handelt, der über ein Netzwerk betrieben im Keller steht. Wohl möglich ist er so ausgelegt, dass er komplett ferngesteuert wird. PC's können über WakeON LAN gestartet werden. Über ssh ist ein Zugriff möglich. Es braucht also weder einen Monitor, noch eine Maus oder Tastatur. Ist er jedoch abgestürzt, dann gibt es weder ein WakeON LAN noch ein ssh, sondern nur der Weg mit einer Tastatur und einem Monitor untern Arm in den Keller.

Es gibt aber eine Möglichkeit über einen "Aufpasser" das System am leben zu halten. Nicht alle Fehler können hiermit behoben werden. Logisch, denn wenn die Sicherung durchgebrannt ist, nützt auch er nichts mehr. Im Fachjargon wird er Watchdog genannt. Es gibt ihn in zwei Arten, als Software- und als Hardwarewatchdog. Der Softwarewatchdog kann nur als ein Teil der Überwachung übernehmen.

In dieser Veröffentlichung wird ein Watchdog auf Hardwarebasis gezeigt.

Hardwarewatchdogs sind in verschiedenen Formen auf dem Markt erhältlich. Es können PCI-Karten sein oder aber als USB-Stick mit einem zusätzlichen Kabel ins Innere des PC's. Sie haben eins gemeinsam. Sie sind teuer und daher für den Hobbyisten unrentabel.

Warum nicht selber "basteln"?

Zunächst zum Prinzip. Der Hardwarewatchdog besteht aus zwei Teilen:

  • Einer Hardware, bestehend aus einem Zähler, der kontinuierlich bis zu einem bestimmten Wert hochzählt.
    Wird der Wert erreicht, dann löst er einen Hardware-Reset am PC aus.
  • Einem Softwareprogramm. Dieses Programm läuft als Daemon mit einer geeigneten Priorität im Hintergrund und setzt den Zähler in der Watchdog-Hardware regelmäßig auf 0. Solange also dieses Programm korrekt läuft, kann der Zähler niemals hochzählen.

Zur Realisierung sind hier zwei Ansätze aufgeführt.

Diskrete Schaltung

 

Die Schaltung baut auf einen binären 24-bit Zähler auf. Der Takt wird mit den Bauteilen R1,R2 und C1 intern erzeugt. Da auch auf vielen modernen Motherboards wenigstens noch eine RS232 Schnittstelle, als 10-poliger Stecksockel ausgeführt, zu finden ist, kann hierüber die Steuerung der Schaltung erfolgen. Über RTS erhält der Zähler in kurzen Zeitabständen durch die Watchdog-Software ausgelöste Impulse. Der DTR Anschluss der RS232 Schnittstelle wird durch die Software permanent auf "1" gesetzt. Dadurch erhält das IC seine Betriebsspannung. Diese Ausgänge sind in der Lage den Versorgungsstrom zum Betrieb der Schaltung zu liefern. Da die Höhe der Betriebsspannung an RS232 Schnittstellen unterschiedlich sein kann sind zum Schutz die beiden Zener-Dioden D1 und D2 vorgesehen. Sie sorgen zum einen dafür, dass weder die +5V überschritten werden, noch die Spannung unter -0,7V sinken kann. 

Die beiden 2-poligen Anschlüsse gehen zum Reset-Taster bzw. zum Motherboard. Aus diesem Grund ist zur Ansteuerung des Resets ein Open-Collector verwendet. Mit den 5 Brücken können verschiedene Reaktionszeiten eingestellt werden. Es darf maximal eine Brücke gesetzt werden.

Die Schaltung mit einem Mikrocontroller.

Die folgende Schaltung hat ihre Vor- und Nachteile. Ihr Vorteil, ist der einfachere Aufbau und die erweiterten Funktonen. Der Nachteil hingegen ist die Notwendigkeit einer zweiten Software, der Firmware für den Mikrocontroller.

Als Kern dient hier der MSP430 von Texas Instruments. Es gibt ihn in unterschiedlichen Ausbaustufen. Hier ist die einfachste Version verwendet. Für diese Anwendung wird einer der I/O Ports als Eingang zur Kontrolle der Impulse von der RS232 verwendet. Diesmal sind zwei Ports als Ausgang definiert. Einer davon, wie zuvor auch schon zur Ansteuerung des Reset. Ein weiteres Feature ist allerdings hier die Möglichkeit durch einen weiteren Port den PowerOFF am PC zu bedienen. Der Vorteil somit liegt darin zu entscheiden, ob man es ewig versucht bei einem immer wiederkehrenden Fehlerfall bis in alle Ewigkeit mit einem Reset in die nächste Runde zu gehen oder aber nur eine bestimmte Anzahl von Versuchen startet und danach das System komplett abschaltet.

Die Versorgungsspannung wird nach dem selben Prinzip, wie bei Schaltung 1 erzeugt. Die Ansteuerung von Reset und Power OFF erfolgt ebenso wieder über Open Collector Transistoren.

Der hier angegebene MSP430-F2013 ist unter dem Menüpunkt  "Sonstiges"  detailiert beschrieben.