Industrial Computer Source WDT500/501-P Driver

Installation
------------
The WDT driver may be compiled as an LKM or as part of the FreeBSD
kernel.  To install the source in the correct locations:

  1. cp wdt.[ch] /sys/i386/isa
  2. mkdir /usr/src/lkm/wdt
  3. cp Makefile wdt.4 /usr/src/lkm/wdt

Change to the /usr/src/lkm/wdt directory.

If you have the WDT501, you may wish to uncomment the following line
within the Makefile (it is not mandatory):

  #COPTS+= -DWDT501

Also, if your card is not configured at port 0x280, you should modify:

  COPTS+= -DWDT_IO_BASE=0x280

IRQ configuration is not necessary, and may be disabled on the board
without any ill-effects.

Once the files are in-place and configured, the LKM may be built:

  4. make

To install the module and (terse) man page:

  5. make install

Finally, the module may be loaded:

  6. modload wdt_mod.o

If the module loads successfully, the kernel should log a message
with the timeout duration and current temperature (WDT-501 only).

Two utility programs are provided in the utilities/ subdirectory:

   wdtsched     Causes a watchdog reboot if process scheduling fails.
                This program immediately goes into the background upon
                execution (it may be safely killed with a signal).

   wdtstat      Displays temperature, fan, and power supply information.
                (WDT-501 only)

Type 'make' in the utilities/ subdirectory to build the programs.

Both programs require /dev/wdt0 to be present:

  7. mknod /dev/wdt0 c 14 0


Usage
-----
Loading the driver has the effect of enabling the watchdog timer for a
30 second duration.  If the kernel fails to service the wdt driver's
timeout, the system is rebooted (assuming you've hooked the board up
to do so).

Additional protection against process scheduling problems may be
enabled by running wdtsched.

NOTE: The wdtsched process must be scheduled before the timeout expires
otherwise the system will be rebooted.  In other words, don't suspend
(i.e. CTRL-Z, SIGSTP) the process!

Alex
alex@FreeBSD.ORG

P.S - The source should be viewed with tabstops set to 4.