NAME
wdogctl —
Watchdog timer control
utility
SYNOPSIS
wdogctl |
-e [-A]
[-p
seconds] timer |
wdogctl |
-k [-A]
[-p
seconds] timer |
wdogctl |
-u [-A]
[-p
seconds] timer |
wdogctl |
-x [-A]
[-p
seconds] timer |
DESCRIPTION
wdogctl is used to manipulate watchdog timers. Watchdog timers
provide a means of ensuring that a system continues to make progress. This is
accomplished by use of a timer, provided by either hardware or software; when
the timer expires, the watchdog resets the system. In this case of a hardware
watchdog timer, this is accomplished by asserting the system's hardware reset
signal. In the case of a software watchdog timer, this is accomplished by
calling the kernel's normal reboot path. In order to prevent the system from
rebooting, something must refresh the timer to prevent it from expiring.
The
NetBSD kernel provides three basic modes in which
watchdog timers may operate: kernel tickle mode, user tickle mode, and
external tickle mode. In kernel tickle mode, a timer in the kernel refreshes
the watchdog timer. In user tickle mode,
wdogctl runs in the
background and refreshes the watchdog timer. In kernel tickle mode, progress
of the kernel is ensured. In user tickle mode, the ability for user programs
to run within a known period of time is ensured. Note that user tickle mode
must be used with caution; on a heavily loaded system, the timer may expire
accidentally, even though user programs may be making (very slow) progress. A
user-mode timer is disarmed (if possible) when the device is closed, unless
the timer is activated with the
-x option.
External-mode watchdogs are similar to user-mode watchdogs, except that the
tickle must be done explicitly by a separate invocation of the program with
the
-t option.
In the first two modes, an attempt is made to refresh the watchdog timer in one
half the timer's configured period. That is, if the watchdog timer has a
period of 30 seconds, a refresh attempt is made every 15 seconds.
If called without arguments,
wdogctl will list the timers
available on the system. When arming a watchdog timer, the
timer argument is the name of the timer to arm.
Only one timer may be armed at a time; if an attempt is made to arm a timer when
one is already armed, an error message will be displayed and no action will be
taken.
The options are as follows:
-
-
- -A
- When arming a timer, this flag indicates that an audible
alarm is to sound when the watchdog timer expires and resets the system.
If the selected timer does not support an audible alarm, this option will
be silently ignored.
-
-
- -d
- This flag disarms the currently active timer. Note that not
all watchdog timers can be disabled once armed. If the selected timer can
not be disabled, an error message will be displayed and the timer will
remain armed.
-
-
- -e
- Arm timer in external tickle
mode.
-
-
- -k
- Arm timer in kernel tickle mode.
-
-
- -p
period
- When arming a timer, this flag configures the timer period
to period seconds. If the specified period is
outside the timer's range, an error message will be displayed and no
action will be taken.
-
-
- -t
- This flag tickles an external mode timer.
-
-
- -u
- Arm timer in user tickle mode.
-
-
- -x
- Arm timer in a modified user tickle
mode: closing the device will not disarm the timer.
FILES
/dev/watchdog -- the system monitor watchdog timer device
SEE ALSO
acpiwdrt(4),
evbarm/iopwdog(4),
i386/elansc(4),
i386/gcscpcib(4),
i386/geodewdog(4),
ipmi(4),
itesio(4),
pcweasel(4),
pwdog(4),
swwdog(4),
x86/ichlpcib(4)
HISTORY
The
wdogctl command first appeared in
NetBSD
1.6.
AUTHORS
The
wdogctl command and the
NetBSD
watchdog timer framework were written by
Jason R.
Thorpe ⟨thorpej@zembu.com⟩, and contributed by Zembu
Labs, Inc.