[gelöst] BeagleBone Black und (hardware) watchdog - Trigger/Reset läuft nicht

Begonnen von nexulm, 01 Juni 2015, 13:14:18

Vorheriges Thema - Nächstes Thema

nexulm

Nachdem mein BBB mit der FHEM-Installation im Urlaub hängen blieb (nur ping ging noch, von daher Power-Reset nach dem Urlaub)  habe ich mich für Nutzung des Hardware-Watchdog entschieden, der bis dahin nicht genutzt wurde.
Nachdem ich dem Howto http://forum.fhem.de/index.php/topic,20553.0.html  gefolgt war habe ich nach 7 Tagen wieder einen FHEM und BBB Hänger vorgefunden, obwohl der watchdog daemon aktiv war. Daraufhin untersuche ich seit Tagen warum das BBB nicht resettet wird sobald die Dateiänderung nicht mehr erfolgt. Trotz stundenlanger Internet-Suche und testen habe ich bisher keine Lösung gefunden und hoffe nun auf eure Hilfe:

Nur der "cat > /dev/watchdog" Aufruf führt bei mir zum erwarteten Reset nach 60sec

Meine Config:
FHEM-heartbeat:
define heartbeat at +*00:02:30 {qx(touch /var/log/fhem/fhem.heartbeat)}


BeagleBone Black (Debian Wheezy 7_8):
root@beaglebone:~# dmesg | grep Watchdog
[    0.712901] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec

root@beaglebone:~# wd_identify --config-file /etc/watchdog.conf
OMAP Watchdog


/etc/watchdog.conf

#ping                   = 172.31.14.1
#ping                   = 172.26.1.255
#interface              = eth0
file                    = /var/log/fhem/fhem.heartbeat
change                  = 330

# Uncomment to enable test. Setting one of these values to '0' disables it.
# These values will hopefully never reboot your machine during normal use
# (if your machine is really hung, the loadavg will go much higher than 25)
max-load-1              = 24
#max-load-5             = 18
#max-load-15            = 12

# Note that this is the number of pages!
# To get the real size, check how large the pagesize is on your machine.
#min-memory             = 1

#repair-binary          = /usr/sbin/repair
#repair-timeout         =
#test-binary            =
#test-timeout           =

watchdog-device = /dev/watchdog

# Defaults compiled into the binary
#temperature-device     =
#max-temperature        = 120

# Defaults compiled into the binary
#admin                  = root
#interval               = 1
#logtick                = 1
#log-dir                = /var/log/watchdog

# This greatly decreases the chance that watchdog won't be scheduled before
# your machine is really loaded
realtime                = yes
priority                = 1

# Check if syslogd is still running by enabling the following line
#pidfile                = /var/run/syslogd.pid


In der /etc/default/watchdog Deaktivierung des automatischen Watchdogstart
# Start watchdog at boot time? 0 or 1
run_watchdog=0
# Load module before starting watchdog
watchdog_module="none"
# Specify additional watchdog options here (see manpage).


/etc/crontab
# BeagleBone Black watchdog start delay
@reboot root /bin/sleep 300; /usr/bin/touch /var/log/fhem/fhem.heartbeat; /etc/init.d/watchdog start


Freue mich über jeden Hinweis, was an der Config optimiert werden muss und liefere gerne weitere Details bei Fragen.

Danke + Gruss
Michael
BeagleBone Black (Debian), FHEM SVN
HmLAN, 12x HM-LC-Bl1PBU-FM, 7xCC-RT-DN, >10x HM-SEC-SC-2, 3x HM-LC-SW1-FM, 1x HM-SEC-SD, 2x MK1010W, DM800, Yamaha RX-V771

nexulm

So, da leider keiner den Fehler im System erkannt hat  :), möchte ich nach erfolgreichen weiteren Stunden das Ergebnis mitteilen/hinterlassen:

Zitat von: nexulm am 01 Juni 2015, 13:14:18
In der /etc/default/watchdog Deaktivierung des automatischen Watchdogstart
# Start watchdog at boot time? 0 or 1
run_watchdog=0
# Load module before starting watchdog
watchdog_module="none"
# Specify additional watchdog options here (see manpage).


Schuld war einzig und alleine, dass ich in der /etc/default/watchdog Datei run_watchdog=1
...auf...
run_watchdog=0 gesetzt habe, da ich damit den automatischen Start des Watchdog-Daemon sicher verhindern wollte.
Dies wurde aber bereits zuverlässig durch update-rc.d watchdog remove verhindert.

Nachdem ich nun wieder...
run_watchdog=1
...in der /etc/default/watchdog Datei aktualisiert hatte wurde der watchdog nach 5min durch den crontab Eintrag...

# BeagleBone Black watchdog start delay
@reboot root /bin/sleep 300; /usr/bin/touch /var/log/fhem/fhem.heartbeat; /etc/init.d/watchdog start

...gestartet.

Nun kann ich mit der Integration des zweistufigen Watchdog Konzepts weitermachen, damit nicht immer der Hardware-Watchdog bei einer FHEM Fehlfunktion das BBB neustartet, sondern zuerst die FHEM-Instanz neugestartet wird.
BeagleBone Black (Debian), FHEM SVN
HmLAN, 12x HM-LC-Bl1PBU-FM, 7xCC-RT-DN, >10x HM-SEC-SC-2, 3x HM-LC-SW1-FM, 1x HM-SEC-SD, 2x MK1010W, DM800, Yamaha RX-V771