mirror of https://gitee.com/openkylin/linux.git
72 lines
2.3 KiB
ReStructuredText
72 lines
2.3 KiB
ReStructuredText
|
===================================
|
||
|
Berkshire Products PC Watchdog Card
|
||
|
===================================
|
||
|
|
||
|
Last reviewed: 10/05/2007
|
||
|
|
||
|
Support for ISA Cards Revision A and C
|
||
|
=======================================
|
||
|
|
||
|
Documentation and Driver by Ken Hollis <kenji@bitgate.com>
|
||
|
|
||
|
The PC Watchdog is a card that offers the same type of functionality that
|
||
|
the WDT card does, only it doesn't require an IRQ to run. Furthermore,
|
||
|
the Revision C card allows you to monitor any IO Port to automatically
|
||
|
trigger the card into being reset. This way you can make the card
|
||
|
monitor hard drive status, or anything else you need.
|
||
|
|
||
|
The Watchdog Driver has one basic role: to talk to the card and send
|
||
|
signals to it so it doesn't reset your computer ... at least during
|
||
|
normal operation.
|
||
|
|
||
|
The Watchdog Driver will automatically find your watchdog card, and will
|
||
|
attach a running driver for use with that card. After the watchdog
|
||
|
drivers have initialized, you can then talk to the card using a PC
|
||
|
Watchdog program.
|
||
|
|
||
|
I suggest putting a "watchdog -d" before the beginning of an fsck, and
|
||
|
a "watchdog -e -t 1" immediately after the end of an fsck. (Remember
|
||
|
to run the program with an "&" to run it in the background!)
|
||
|
|
||
|
If you want to write a program to be compatible with the PC Watchdog
|
||
|
driver, simply use of modify the watchdog test program:
|
||
|
tools/testing/selftests/watchdog/watchdog-test.c
|
||
|
|
||
|
|
||
|
Other IOCTL functions include:
|
||
|
|
||
|
WDIOC_GETSUPPORT
|
||
|
This returns the support of the card itself. This
|
||
|
returns in structure "PCWDS" which returns:
|
||
|
|
||
|
options = WDIOS_TEMPPANIC
|
||
|
(This card supports temperature)
|
||
|
firmware_version = xxxx
|
||
|
(Firmware version of the card)
|
||
|
|
||
|
WDIOC_GETSTATUS
|
||
|
This returns the status of the card, with the bits of
|
||
|
WDIOF_* bitwise-anded into the value. (The comments
|
||
|
are in linux/pcwd.h)
|
||
|
|
||
|
WDIOC_GETBOOTSTATUS
|
||
|
This returns the status of the card that was reported
|
||
|
at bootup.
|
||
|
|
||
|
WDIOC_GETTEMP
|
||
|
This returns the temperature of the card. (You can also
|
||
|
read /dev/watchdog, which gives a temperature update
|
||
|
every second.)
|
||
|
|
||
|
WDIOC_SETOPTIONS
|
||
|
This lets you set the options of the card. You can either
|
||
|
enable or disable the card this way.
|
||
|
|
||
|
WDIOC_KEEPALIVE
|
||
|
This pings the card to tell it not to reset your computer.
|
||
|
|
||
|
And that's all she wrote!
|
||
|
|
||
|
-- Ken Hollis
|
||
|
(kenji@bitgate.com)
|