watchdog will einfach nicht

  • Hey Leute,
    ich bastel jetzt schon eine ganze weile mit dem Watchdog rum. Allerdings klappt es einfach nicht, habe das System schon oft nur installiert und verschiedene Variablen in der Watchdog Config probiert.

    Ich nutze Noobs OS (Raspbian) auf dem Raspberry3

    Hier mal das Logfile:

    Code
    watchdog[1470]: int=10s realtime=yes sync=no soft=no mla=0 mem=0
    watchdog[1470]: ping: no machine to check
    watchdog[1470]: file: no file to check
    watchdog[1470]: pidfile: no server process to check
    watchdog[1470]: interface: no interface to check
    watchdog[1470]: temperature: no sensors to check
    watchdog[1470]: test=none(0) repair=none(0) alive=/dev/watchdog heartbeat=none to=root no_act=no force=no
    watchdog[1470]: cannot set timeout 60 (errno = 22 = 'Invalid argument')
    watchdog[1470]: hardware watchdog identity: Broadcom BCM2835 Watchdog timer
    systemd[1]: Started watchdog daemon.

    In der Watchdog Config ist eigentlich gar nichts weiter aktiviert. Am Ende soll Ping, File und Max-load aktiviert werden.
    (Für file hab ich dann noch eine Frage, suche nämlich ein Temp-File für Chromium was immer beschrieben wird, Cache Ordner geht leider nicht)

  • Ich haette da ein Temp-File günstig abzugeben...
    Nein, im Ernst: was geht denn an dem watchdog nicht? Normalerweise wird der erst aktiviert, und dann muss ein Prozess regelmaessig eine Schreiboperation in das /dev/watchdog machen (oder einen Netzwerk-ping, oder noch andere Mechanismen.) Normalerweise wird der watchdog erst durch erstmaliges schreiben in /dev/watchdog aktiviert, Es ist also normal, dass nix passiert, wenn nix confiuriert ist.

  • Ups sorry, hab vergessen die Fehlermeldung die er nach dem Start bringt hervorzuheben. Also Watchdog startet, ich frage den Status ab und er bringt das obere Logfile mit folgendem Fehler:

    watchdog[1470]: cannot set timeout 60 (errno = 22 = 'Invalid argument')

    Somit läuft der Watchdog doch gar nicht erst?
    Ich habe mal die Ping variable aktiviert, mit gleichem Ergebnis

    Ich finde in der Config einfach keinen Fehler mehr, es ist fast komplett die Standart Config und geht trotzdem nicht

    Einmal editiert, zuletzt von albummi (17. Januar 2017 um 17:36)

  • Was passiert denn, wenn DU

    Code
    sudo echo "test" > /dev/watchdog


    eingibst und 20 Sekunden wartest?
    Automatisch zusammengefügt:
    Wenn sich da nix tut, dann gib mal

    Code
    sudo modprobe bcm2835_wdt


    ein, und versuche es nochmal.

    Einmal editiert, zuletzt von wend (17. Januar 2017 um 17:40)

  • Code
    sudo echo "test" > /dev/watchdog

    Ergibt nur:

    Code
    sudo echo "test" > /dev/watchdog
    
    
    -bash: /dev/watchdog: Keine Berechtigung

    Der 2. Befehl gibt keinerlei Rückmeldung, nach der Eingabe und nochmal Sudo Test wieder nur der Berechtigungsfehler

    Einmal editiert, zuletzt von albummi (17. Januar 2017 um 17:52)

  • Nur ein kleiner Tipp,
    sudo und redirection per > funktioniert nicht (sudo wirkt nur auf den linken Teil des Kommandos, nicht auf das ">....", da die Shell das VOR dem Kommando ausführt ).

    Code
    echo "test" | sudo tee  /dev/watchdog

    Wenn du nichts zu sagen hast, sag einfach nichts.

    Einmal editiert, zuletzt von llutz (17. Januar 2017 um 18:03)

  • So habe es in der BootConfig eingefügt

    Und beide befehle nochmal getestet:

    Code
    sudo echo "test" > /dev/watchdog
    
    
    -bash: /dev/watchdog: Keine Berechtigung
    Code
    echo "test" | sudo tee  /dev/watchdog
    test


    Scheint jetzt also zu existieren, Fehlermeldung bleibt jedoch bestehen ;(

  • Und wenn es da ist, ist der korrekte Befehl, um da reinzuschreiben:

    Code
    echo "test" | sudo tee > /dev/watchdog


    Also mit dem ">"
    Automatisch zusammengefügt:
    Da die devices nun vorhanden sind, muesste es jetzt eigentlich gehen.

    Einmal editiert, zuletzt von wend (17. Januar 2017 um 18:14)

  • Nein, wenn dann "tee -a" (man tee).
    Ich habe oben doch gerade erklärt warum sudo mit > nicht funktioniert.

    Wenn du nichts zu sagen hast, sag einfach nichts.

    Einmal editiert, zuletzt von llutz (17. Januar 2017 um 18:22)

  • Hm, du meinst jetzt sicher den watchdog-daemon. Der kann ja auch nur funktionieren, wenn /dev/watchdog vernünftig funktioniert. Ich würde den daemon erstal deinstallieren und schauen, dass überhaupt ein reboot ausgelöst werden kann. Sonst ist da noch was ganz anderes faul.
    Automatisch zusammengefügt:
    Ich weiss jetzt nicht, ob DU die Diskussion um tee verstanden hattest, ich selbst bin ja auch druebergestolpert. Ich fasse man llutz Einwand zusammen:

    Code
    echo "test" | sudo tee -a /dev/watchdog


    Und es sollte keine Fehlermeldung kommen und auf der Konsole dann "test" zu sehen sein. Und wenn jetzt kein anderer Prozess (z.B. der watchdog-daemon) regelmaessig auf das device schreibt, dann sollte nach 16 Sekunden ein reboot erfolgen.

    Wahrscheinlich läuft der daemon im Hintergrund und verhindert das. Das waere ja auch seine Aufgabe. Dann musst DU aber nochmal genau sagen, wann der watchdog-daemon denn einen Reboot ausloesen soll?
    Automatisch zusammengefügt:
    Ich hab noch eine Idee, wo die Felermeldung

    Code
    cannot set timeout 60 (errno = 22 = 'Invalid argument')


    herkommen könnte. Und zwar ist der normalfall (also Linux auf dem PC) dass die Watchdogs auf 60 Sekunden gestellt werden (per IOCTL). Der Rapberry Pi watchdog kann aber nur 16 Sekunden, also meldet er Invalid argument zurueck, weil die 60 zu gross sind. Das dürfte aber nix machen, da es dann eben bei 16 Sekunden (default) bleibt. Es könnte also trotzdem normal funktionieren. Wenn Du das Problem weiter einkreisen willst, dann bleibt es erstmal die Funktionalität ohne den daemon zu überprüfen. Und dann die einzelnen Schritte beim Installieren des daemons. Schliesslich die Konfiguration.

    Einmal editiert, zuletzt von wend (17. Januar 2017 um 18:54)

  • Leute, danke für eure Hilfe. Nach vielen Reboots funktioniert der Watchdog nun komischerweise, habe nichts mehr geändert. Also der Pi startet jetzt neu bei Problemen.

    Nun die frage: autostart per cronjob oder lieber anders?

    Gibt es ein file welches Chromium immer wieder beschreibt wenn eine Seite geöffnet / aktualisiert wird, welches man also überwachen könnte?

    Habe watchdog-timeout hinzugefügt und die Fehlermeldung ist weg, danke dafür

    Einmal editiert, zuletzt von albummi (17. Januar 2017 um 19:40)

Jetzt mitmachen!

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