InfoBeamer stand alone: watchdog startup error

Hello,

I’ve built an SD with Raspbian Stretch lite and made it read only file system (see as a starting point this post Pi Read Only), then I’ve bought from Info-beamer a license to a stand alone player and installed.

It works.
Then I’ve added the watchdog ability by following the README.txt and adding to /boot/config.txt this line

   dtparam=watchdog=on

and then exporting this env variable:

as per https://info-beamer.com/blog/running-info-beamer-in-production

When I start info beamer I can see this error

modprobe: FATAL: Module bcm2708_wdog not found in directory /lib/modules/4.14.98-v7+

but then it starts normally.
Since my custom raspbian installation has already a watchdog abilty I was wondering what gives this error.
On Raspbian, prior to installing info-beamer, I had

sudo modprobe bcm2835_wdt
apt-get update; apt-get install watchdog

and edited accordingly its conf files, for example in /lib/systemd/system/watchdog.service
I have

WantedBy=multi-user.target

what is the difference in name bcm2708_wdog and bcm2835_wdt ? Any idea if the two setups conflicts? How can I test that the watchdog is installed correctly and working?

Ok. This error was from the suggested line in run of the info beamer service

modprobe bcm2708_wdog

If we comment this out, no error. But again, how can I test that the watchdog is up and running?
Thanks

Running info-beamer with INFOBEAMER_LOG_LEVEL=3 should provide more output. I suggest running it manually, then hitting Ctrl-Z to stop it. If the watchdog is active, if should reboot after a couple of seconds as no output progress can be made.

Thanks.
I’ve started manually with this env

set | grep INFO
INFOBEAMER_LOG_LEVEL=3
INFOBEAMER_WATCHDOG=15

but hitting Ctrl-Z just hangs everything. No reboot. How can I easyly check if everything regarding watchdog is in place? As far as I can tell some of the info in your page are not up to date with the latest Stretch distro (i.e. modprobe bcm2708_wdog is supposed to be an error in Stretch, from Googling around).
Thanks
W

There should be a line:

[watchdog.c] hardware watchdog installed. 15 seconds timeout

in the output. If the top level loop hangs for 15 seconds, as forced by Ctrl-Z, the device should reboot. But you’ll have to wait 15 seconds obviously.

Edit: You’re correct w.r.t. the module name. I think in stretch that’s different or no longer needed as the module is built in the Raspbian default kernel. The documentation is wrong. I’ll fix that eventually.

Can you check if /dev/watchdog exists?

As per your docs I’ve added
dtparam=watchdog=on to /boot/config.txt
and yes I heve devices

root@raspberrypi(rw):~# ls -l /dev/w*
crw------- 1 root root  10, 130 May  7 15:43 /dev/watchdog
crw------- 1 root root 252,   0 May  7 15:43 /dev/watchdog0

but now relaunching from command line gives

root@raspberrypi(rw):/home/pi# export INFOBEAMER_WATCHDOG=15
root@raspberrypi(rw):/home/pi# export INFOBEAMER_LOG_LEVEL=3
root@raspberrypi(rw):/home/pi# info-beamer-pi/info-beamer  node/
Info Beamer PI 0.9.9-beta.132ee8~stretch (https://info-beamer.com)
Copyright (c) 2012-2018, Florian Wesch <fw@info-beamer.com>

Thank you for supporting this software and its development.
A single license allows you to use this software on a single
device. Learn more on https://info-beamer.com/lnk/license

CRITICAL ERROR: cannot open /dev/watchdog: Device or resource busy. is the bcm2708_wdog kernel module loaded?

Why?

Probably because some other program already has the watchdog device open. By design it can only be opened by one program. I guess a watchdog daemon is already running? Or does systemd somehow include that as well? Not sure. lsof can probably help finding the culprit.

Ok… my ignorance. Yes i think so, I’ve already added the watchdog and configured some system files to use it (notably this /lib/systemd/system/watchdog.service). In fact after I’ve done

systemctl disable watchdog.service

and after a reboot, I did the same test and it works! Perfect. After 15 seconds it rebooted!

Thanks as always

1 Like

Nice. Apparently for systemd integration, info-beamer would have to use sd_notify with WATCHDOG=1 argument. That way it could probably be started as a systemd service. I don’t think I’ll pull in the massive systemd dependency for that though.

1 Like