|
@@ -110,7 +110,31 @@ current timeout using the GETTIMEOUT ioctl.
|
|
|
ioctl(fd, WDIOC_GETTIMEOUT, &timeout);
|
|
|
printf("The timeout was is %d seconds\n", timeout);
|
|
|
|
|
|
-Envinronmental monitoring:
|
|
|
+Pretimeouts:
|
|
|
+
|
|
|
+Some watchdog timers can be set to have a trigger go off before the
|
|
|
+actual time they will reset the system. This can be done with an NMI,
|
|
|
+interrupt, or other mechanism. This allows Linux to record useful
|
|
|
+information (like panic information and kernel coredumps) before it
|
|
|
+resets.
|
|
|
+
|
|
|
+ pretimeout = 10;
|
|
|
+ ioctl(fd, WDIOC_SETPRETIMEOUT, &pretimeout);
|
|
|
+
|
|
|
+Note that the pretimeout is the number of seconds before the time
|
|
|
+when the timeout will go off. It is not the number of seconds until
|
|
|
+the pretimeout. So, for instance, if you set the timeout to 60 seconds
|
|
|
+and the pretimeout to 10 seconds, the pretimout will go of in 50
|
|
|
+seconds. Setting a pretimeout to zero disables it.
|
|
|
+
|
|
|
+There is also a get function for getting the pretimeout:
|
|
|
+
|
|
|
+ ioctl(fd, WDIOC_GETPRETIMEOUT, &timeout);
|
|
|
+ printf("The pretimeout was is %d seconds\n", timeout);
|
|
|
+
|
|
|
+Not all watchdog drivers will support a pretimeout.
|
|
|
+
|
|
|
+Environmental monitoring:
|
|
|
|
|
|
All watchdog drivers are required return more information about the system,
|
|
|
some do temperature, fan and power level monitoring, some can tell you
|
|
@@ -169,6 +193,10 @@ The watchdog saw a keepalive ping since it was last queried.
|
|
|
|
|
|
WDIOF_SETTIMEOUT Can set/get the timeout
|
|
|
|
|
|
+The watchdog can do pretimeouts.
|
|
|
+
|
|
|
+ WDIOF_PRETIMEOUT Pretimeout (in seconds), get/set
|
|
|
+
|
|
|
|
|
|
For those drivers that return any bits set in the option field, the
|
|
|
GETSTATUS and GETBOOTSTATUS ioctls can be used to ask for the current
|