Andriod 410c Hardware Watchdog


#1

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.


#2

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


#3

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

Many thanks,
Dieter


#4

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.