Watchdog Timer im Raspberry Pi: wie konfigurieren? Wie Parameter deuten?

  • Hallo,

    Ich habe folgende Fragen bzgl. der Einrichtung/Konfiguration des eingebauten Watchdog timer (WDT) in den Raspberry Pis.

    Ich habe gelesen, dass der WDT ein 20 bit Zähler ist, der alle 16 Mikrosekunden heruntergezählt wird, was in einem Timeout von (fast genau) 16 Sekunden resultiert.

    Ich habe aufmerksam das Manual zu watchdog.conf gelesen, bin aber aus manchen Definitionen nicht schlau geworden. Daraus leiten sich die meisten meiner Fragen unten ab.

    1. Ist der beat von 16 Mikrosekunden für alle Raspberry Pi Modellen gleich?

    2. Wird der WDT immer vom größtmöglichen Wert herunter gezählt oder kann man ihn so programmieren, dass er seinen Timeout beispielsweise bei 9 anstatt 16 Sekunden hat?

    3. Falls Frage 2 positiv: welchen Parameter (aus watchdog.conf) benutzt man, um den Timeout des WDT zu setzen?

    4. Welchen Parameter benutzt man, um die Beat Sequenz (d.h. Zeit zwischen zweier Schreibvorgängen am WDT) zu setzen?

    5. Können folgende Parameter aus watchdog.conf etwas vereinfacht erklärt werden? (Die Sätze im Manual sind sehr "unix-like", eher was für Experte): "interval", "watchdog-timeout", "retry-timeout"

    Nachdem ich genau nach der Beschreibung im Artikel "https://www.meazurem.com/blog/raspberry…twork-watchdog/" meinen Raspi Zero W konfiguriert habe, reagierte dieser nach einem reboot nicht mehr auf eine ssh-Session, ich konnte ihn an-pingen, mehr nicht.

    Am Ende wusste ich mir nicht weiter zu helfen und habe ihn wieder ganz frisch aufgesetzt (vom Betriebssystem aufwärts). Diese Erfahrung möchte ich nicht wiederholen, deswegen möchte ich die Parameter des WDT besser verstehen bevor ich mich daran mache, diese zu setzen.

    Kann jemand evtl. ein Beispiel schreiben, wie die WLAN Schnittstelle des Raspis durch senden von pings an einen anderen Server durch den WDT überwacht werden kann?

    Ganz herzlichen Dank im Voraus für Eure Antworten.

    Anm.: im Web finden sich unzählige Beschreibungen, wie der WDT zu konfigurieren ist. Etwas tiefer in die Bedeutung der Parameter gehen sie aber nicht ein.

  • Watchdog Timer im Raspberry Pi: wie konfigurieren? Wie Parameter deuten?? Schau mal ob du hier fündig wirst!

  • Kann jemand evtl. ein Beispiel schreiben, wie die WLAN Schnittstelle des Raspis durch senden von pings an einen anderen Server durch den WDT überwacht werden kann?

    M. E. ist es zum überwachen der WLAN-Schnittstelle besser, wpa_cli mit dem "action file" zu benutzen. Z. B.:

    Oder mit einem cronjob oder mit einer timer-unit.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • rpi444,

    Vielen Dank für deine Antwort, werde mir in Ruhe angucken, wieder was gelernt.

    Trotzdem möchte ich die Umsetzung mit dem built in WDT zu Ende durchexerzieren, habe weitere Aufgaben mit diesem WDT vor.

    Ich freue mich auf weitere Antworten.

  • Trotzdem möchte ich die Umsetzung mit dem built in WDT zu Ende durchexerzieren, habe weitere Aufgaben mit diesem WDT vor.

    Mit "built in WDT" meinst Du den Hardware-watchdog + das watchdog-Programm?

    Z. B.:

    Spoiler anzeigen
    Code
    :~ $ ls -la /dev/watchdog*
    crw------- 1 root root  10, 130 Feb 20 10:37 /dev/watchdog
    crw------- 1 root root 250,   0 Feb 20 10:37 /dev/watchdog0
    Code
    :~ $ apt-cache policy watchdog
    watchdog:
      Installed: (none)
      Candidate: 5.15-2
      Version table:
         5.15-2 500

    BTW: Wenn zu den weiteren Aufgaben evtl. auch das rebooten gehört, solltest Du schauen ob vor dem reboot auch synchronisiert wird und die Partitionen auch ausgehängt werden. Wenn das nicht der Fall ist, würde ich den Software-watchdog nicht benutzen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Das Programm Watchdog ist ja Teil der Linux Software, nicht wahr?

    Ja, aber es ist _nicht_ standardmäßig installiert. Z. B.:

    Code
    :~ $ apt-cache policy watchdog
    watchdog:
      Installed: (none)
      Candidate: 5.15-2

    und der Hardware-watchdog ist evtl. auch nicht per default aktiviert. Wie ist auf deinem PI die Ausgabe von:

    Code
    ls -la /dev/watchdog*

    ?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Code
    crw------- 1 root root  10, 130 Feb 19 19:15 /dev/watchdog
    crw------- 1 root root 250,   0 Feb 19 19:15 /dev/watchdog0

    Ich habe den Watchdog absichtlich noch nicht aktiviert, die Software noch nicht installiert, wie gesagt, wollte mich erst (hier im Forum) schlau machen, wie die Parameter in watchdog.conf sinnvoll zu setzen sind.

  • Wie ich Eingangs erwähnte, richtete ich mich nach den Angaben im Beitrag https://www.meazurem.com/blog/raspberry…twork-watchdog/ um den Watchdog einzurichten.

    Dort wird:

    Code
    interval = 30

    gesetzt.

    Auch wenn dort nicht angegeben wird auf welchen Wert der watchdog-timeout gesetzt wird, gehe ich davon aus, dass der Wert < 14 sein wird, bei 60 (default bei Linux) wirft das Programm einen Fehler.

    So wie ich es jetzt verstehe, soll

    Code
    interval < watchdog-timeout

    sein, sonst gerät der Raspi dauernd in reboots.

    Sind meine Behauptungen korrekt?

  • Siehe:

    Linux Watchdog - Configuring

    Dort ist zu lesen:

    ...

    The 3rd in the list is the polling interval, which by default is 1 second. While not a property of the watchdog device, it is clearly related in that it must be less than the time-out of the hardware, and realistically it must be at least 2 seconds less than this because:

    • The timer hardware is not necessarily synchronised to the polling period, and;
    • The health checks could take a small but significant fraction of a second to run, and the "interval=" value is simply the sleep time between loops.

    ...

  • Dort ist zu lesen:

    ...

    Wenn Du die watchdog-Software auf deinem PI schon installiert hast, siehe dort auch die manpages, mit:

    Code
    man watchdog.conf
    man watchdog

    in der Kommandozeile.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!