Alan Cox | 4d389dc | 2007-05-23 14:43:52 -0700 | [diff] [blame] | 1 | Last reviewed: 10/05/2007 |
| 2 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 3 | Berkshire Products PC Watchdog Card |
| 4 | Support for ISA Cards Revision A and C |
| 5 | Documentation and Driver by Ken Hollis <kenji@bitgate.com> |
| 6 | |
| 7 | The PC Watchdog is a card that offers the same type of functionality that |
| 8 | the WDT card does, only it doesn't require an IRQ to run. Furthermore, |
| 9 | the Revision C card allows you to monitor any IO Port to automatically |
| 10 | trigger the card into being reset. This way you can make the card |
| 11 | monitor hard drive status, or anything else you need. |
| 12 | |
| 13 | The Watchdog Driver has one basic role: to talk to the card and send |
| 14 | signals to it so it doesn't reset your computer ... at least during |
| 15 | normal operation. |
| 16 | |
| 17 | The Watchdog Driver will automatically find your watchdog card, and will |
| 18 | attach a running driver for use with that card. After the watchdog |
Alan Cox | 4d389dc | 2007-05-23 14:43:52 -0700 | [diff] [blame] | 19 | drivers have initialized, you can then talk to the card using a PC |
| 20 | Watchdog program. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 21 | |
| 22 | I suggest putting a "watchdog -d" before the beginning of an fsck, and |
| 23 | a "watchdog -e -t 1" immediately after the end of an fsck. (Remember |
| 24 | to run the program with an "&" to run it in the background!) |
| 25 | |
| 26 | If you want to write a program to be compatible with the PC Watchdog |
Randy Dunlap | 56fb9e5 | 2006-05-21 20:58:10 -0700 | [diff] [blame] | 27 | driver, simply use of modify the watchdog test program: |
Tom Saeger | 718d50e | 2017-10-12 15:24:10 -0500 | [diff] [blame] | 28 | tools/testing/selftests/watchdog/watchdog-test.c |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 29 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 30 | |
| 31 | Other IOCTL functions include: |
| 32 | |
| 33 | WDIOC_GETSUPPORT |
| 34 | This returns the support of the card itself. This |
| 35 | returns in structure "PCWDS" which returns: |
| 36 | options = WDIOS_TEMPPANIC |
| 37 | (This card supports temperature) |
| 38 | firmware_version = xxxx |
| 39 | (Firmware version of the card) |
| 40 | |
| 41 | WDIOC_GETSTATUS |
| 42 | This returns the status of the card, with the bits of |
| 43 | WDIOF_* bitwise-anded into the value. (The comments |
| 44 | are in linux/pcwd.h) |
| 45 | |
| 46 | WDIOC_GETBOOTSTATUS |
| 47 | This returns the status of the card that was reported |
| 48 | at bootup. |
| 49 | |
| 50 | WDIOC_GETTEMP |
| 51 | This returns the temperature of the card. (You can also |
| 52 | read /dev/watchdog, which gives a temperature update |
| 53 | every second.) |
| 54 | |
| 55 | WDIOC_SETOPTIONS |
| 56 | This lets you set the options of the card. You can either |
| 57 | enable or disable the card this way. |
| 58 | |
| 59 | WDIOC_KEEPALIVE |
| 60 | This pings the card to tell it not to reset your computer. |
| 61 | |
| 62 | And that's all she wrote! |
| 63 | |
| 64 | -- Ken Hollis |
| 65 | (kenji@bitgate.com) |
| 66 | |