Loading...
Watchdog Timer Interfaces For The Linux Operating System Alan Cox <alan@lxorguk.ukuu.org.uk> Custom Linux Driver And Program Development The following watchdog drivers are currently implemented: ICS WDT501-P ICS WDT501-P (no fan tachometer) ICS WDT500-P Software Only Berkshire Products PC Watchdog Revision A & C (by Ken Hollis) All five interfaces provide /dev/watchdog, which when open must be written to within a timeout or the machine will reboot. Each write delays the reboot time another timeout. In the case of the software watchdog the ability to reboot will depend on the state of the machines and interrupts. The hardware boards physically pull the machine down off their own onboard timers and will reboot from almost anything. A second temperature monitoring interface is available on the WDT501P cards and some Berkshire cards. This provides /dev/temperature. This is the machine internal temperature in degrees Fahrenheit. Each read returns a single byte giving the temperature. The third interface logs kernel messages on additional alert events. Both software and hardware watchdog drivers are available in the standard kernel. If you are using the software watchdog, you probably also want to use "panic=60" as a boot argument as well. The wdt card cannot be safely probed for. Instead you need to pass wdt=ioaddr,irq as a boot parameter - eg "wdt=0x240,11". Features -------- WDT501P WDT500P Software Berkshire Reboot Timer X X X X External Reboot X X o o I/O Port Monitor o o o X Temperature X o o X Fan Speed X o o o Power Under X o o o Power Over X o o o Overheat X o o o The external event interfaces on the WDT boards are not currently supported. Minor numbers are however allocated for it. Example Watchdog Driver ----------------------- #include <stdio.h> #include <unistd.h> #include <fcntl.h> int main(int argc, const char *argv[]) { int fd=open("/dev/watchdog",O_WRONLY); if(fd==-1) { perror("watchdog"); exit(1); } while(1) { write(fd,"\0",1); sleep(10); } } Contact Information People keep asking about the WDT watchdog timer hardware: The phone contacts for ICS Advent are: US: 619 677 0877 (sales) 0895 (fax) UK: 01243 533900 France (1) 69.18.74.30 ICS Advent 9950 Barnes Canyon Road San Diego, CA http://www.icsadvent.com and please mention Linux when enquiring. For full information about the PCWD cards see the pcwd-watchdog.txt document. |