Andriod 410c Hardware Watchdog

Hello,

I would really like a failsafe watchdog for my application, and I’m aware the 410c chipset has a hardware watchdog.

If the watchdog is enabled by default, are you aware what file descriptor the heartbeat input has?
I thought the standard Linux directory for watchdogs was /dev/watchdog, but that file doesn’t exist.

If it does need to be enabled, do you have any more information on the kernel options needed to enable the watchdog timer? CONFIG_QCOM_WDT was my guess, but that’s not included in your kernel.

Finally, its my understanding that the watchdog concept requires a process that resets the watchdog timer at regular intervals. This process was stopped when you ran echo ‘c’ > /proc/sysrq-trigger and its absence caused a restart. (I have been unable to reproduce this but apparently thats how its supposed to operate)
Do you have any idea what this process was and/or what module might have created it?

Thanks anyway, I’ve spent quite some time researching this, and haven’t been able to come up with anything conclusive.

The watchdog driver available in the Android kernel (msm-3.10) will pet the watchdog from within the kernel by scheduling a delayed worker repeatedly. You can find the implementation in:

drivers/soc/qcom/watchdog_v2.c

In the upstream kernel, and by that our Debian/OE releases, this is replaced by a driver in the watchdog framework, which works as you describe.

Regards,
Bjorn

Hi Bjorn,
is there any more information how to setup and use the watchdog on Dragonboard 410c?

Many thanks,
Dieter

We needed android, so we ended up just going with the softdog kernel module. Theoretically i think that when combined with the hardware watchdog (as it exists in the android version) all possible failure modes are covered. And you get normal linux watchdog api functionality.