Skip to content

Linux: Rechnerreset mit USB Watchdog

Dog in a yard in a colonia in South Texas Photo: Joshua Matthews
Dog in a yard in a colonia in South Texas
Photo: Joshua Matthews
License: Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
Manchmal sinnvoll: Ein Watchdog. Wenn dieser nicht schon Bestandteil des Mainboards ist besteht die Möglichkeit entweder zu hoffen, daß der Software Watchdog einen Systemhänger erkennt und diesem noch mit einem reboot des Systems entgegentreten kann. Oder man verwendet einen USB Hardwarewatchdog, den es beim freundlichen Chinesen oder in Jeff's Gemischwarenladen relativ günstig gibt. Von beiden Varianten, die natürlich nicht die Ursache des Hängers lösen und - auch das muss gesagt sein, bei der USB Variante eventuell Probleme mit dem Dateisystem verursachen können, möchte ich hier kurz auf letztere eingehen. Denn manchmal ist ein Reset ausreichend, vor allem dann, wenn man nicht an den Rechner kommt, weil man zum Beispiel im Urlaub weilt und der Server daheim augerechnet dann die Grätsche macht.

Der Watchdog selbst besteht aus einer unscheinbaren Platine, an deren einen Ende ein USB Stecker sitzt und am anderen mit einer Stiftleiste versehen ist. Auf dem Stecker selbst sitzen neben ein paar kleineren Bauteilen zwei deutlich sicht- und beim Einstecken hörbare Relais. Geliefert wird das ganze spartanisch in einer Antistatiktüte, nochmal in einer weiteren Plastiktüte verpackt. Mitgeliefert werden zwei ausreichend lange Kabel für die erwähnte Stiftleiste. Kein Handbuch oder Installationsanleitung, was aber nichts macht, da dem aufmerksamen Besteller:*in die Links in der Artikelbeschreibung aufgefallen sind:

Englische Version der Überwachungs-Software Download: http://www.wfyl.cn/dzyj/PCWatchDog_VX_en.rar
Linux Treiber Download: http://www.wfyl.cn/dzyj/USBWatchdog_LINUX.zip
MacOS-Treiber-Download: http://www.wfyl.cn/dzyj/USBWatchdog_MAC.zip
Android Treiber Download: http://www.wfyl.cn/dzyj/USBWatchdogR_ANDROID.zip

Der Installationsvorgang im Terminal unter Ubuntu 22.04.2 LTS x86_64
Der Installationsvorgang im Terminal unter Ubuntu 22.04.2 LTS x86_64
Naja. Ich persönlich lade lieber nichts von Webseiten herunter, die in einer mir unverständlichen Sprache und zudem mit Adobe Flash Animationen versehen sind. Statt dessen fand meine Suchmaschine des Vertrauens heraus, daß es ein git Repository zu diesen Watchdogs gibt, das ein simples Python Script zur Verfügung stellt. Das Repo ist einige Jahre alt, dankenswerter Weise hat Wojciech NiziÅ„ski einen Pull Request eingestellt, der ein Update auf Python3 enthält. Die Dateien zieht man sich im Terminal auf den Zielrechner mit

gh repo clone niziak/usb-watchdog
in das gewünschte Verzeichnis, woraufhin sich die Dateien im Verzeichnis usb-watchdog befinden. Dort startet man nach der obligatorischen Kontrolle der Sicherheit des Quellcodes die Installation als User mit make, danach mit sudo make install das Kopieren der Programmdateien usw.

Der Stick selber wird in den Rechner gesteckt, danach verbindet man die Kabel mit den Mainboard Pfostensteckern für das HDD LED und den Resetschalter. Wichtig sind 2 Punkte:

  • Erst den USB Stick einstecken, dann die Pfostenstecker in eingeschalteten Zustand des Rechners verbinden. Ansonsten kann es sein, daß die Relais auf der Platine im Zustand NO / offen sind, wenn der Rechner eingeschaltet wird und man somit in einer Resetschleife landet.
  • Die Reaktionszeit / Heartbeat, die man in der Datei usb-watchdog.service unter [Service] in der Zeile

    ExecStart=/usr/bin/python3 /usr/local/sbin/watchdog.py --hb 360/dev/ttyUSB0
    einstellt, sollte nicht zu knapp bemessen sein, so daß eine kurzzeitige Rechnerlast nicht als Absturz interpretiert und ein Reset eingeleitet wird. Im Beispiel ist diese auf 360 Sekunden eingestellt, und bezieht sich auf den Watchdog, der als /dev/ttyUSB0 eingebunden wurde.

Quellen: David Gouveia
Hinweis: Einige der Links in diesem Beitrag beziehen sich auf Affilate-Links. Wenn Sie eines der verlinkten Produkte kaufen, unterstützen Sie mich. Das Produkt selbst wird Sie nicht mehr kosten als üblich. Vielen Dank dafür.

Note: Some of the links in this post refer to affilate links. If you buy one of the linked products, you support me. The product itself will not cost you more than usual. Thank you.
cronjob