1bmc-watchdog(8)                 System Commands                bmc-watchdog(8)
2
3
4

NAME

6       bmc-watchdog - BMC watchdog timer daemon and control utility
7

SYNOPSIS

9       bmc-watchdog command [OPTION...] [COMMAND_OPTIONS...]
10

DESCRIPTION

12       bmc-watchdog  controls a Baseboard Management Controller (BMC) watchdog
13       timer. The bmc-watchdog tool typically executes as a cronjob or  daemon
14       to  manage the watchdog timer. A user must be root in order to run bmc-
15       watchdog.
16
17       Listed below are bmc-watchdog details, option  details,  examples,  and
18       known  issues.  For  a  general  introduction  to  FreeIPMI  please see
19       freeipmi(7).
20
21

BMC WATCHDOG DETAILS

23       A BMC watchdog timer is part of  the  Intelligent  Platform  Management
24       Interface  (IPMI)  specification and is only available to BMCs that are
25       compliant with IPMI. When a BMC watchdog timer is  started,  it  begins
26       counting  down  to  zero from some positive number of seconds. When the
27       timer hits zero, the timer will execute  a  pre-configured  pre-timeout
28       interrupt and/or timeout action.
29
30       In order to stop the pre-timeout interrupt or timeout action from being
31       executed, the watchdog timer must be periodically  reset  back  to  its
32       initial beginning value.
33
34       The  BMC  watchdog timer automatically stops itself when the machine is
35       rebooted. Therefore, when a machine is brought  up,  the  BMC  watchdog
36       timer must be setup again before it can be used.
37
38       Typically,  a  BMC  watchdog  timer  is  used  to automatically reset a
39       machine that has crashed. When the operating system  first  starts  up,
40       the BMC timer is set to its initial countdown value. At periodic inter‐
41       vals, when the operating system is functioning properly,  the  watchdog
42       timer  can  be  reset by the OS or a userspace program. Thus, the timer
43       never counts down to zero. When the system crashes, the timer cannot be
44       reset by the OS or userspace program. Eventually, the timer will count‐
45       down to zero and reset the machine.
46
47       See EXAMPLES below for examples of how bmc-watchdog is commonly used.
48
49

COMMANDS

51       The following commands are available to bmc-watchdog.
52
53       -s, --set
54              Set BMC Watchdog Configuration. BMC watchdog timer configuration
55              values  can  be  set  using the set command options listed below
56              under SET OPTIONS. If a particular  configuration  parameter  is
57              not  specified on the command line, the current configuration of
58              that parameter will not be changed.
59
60       -g, --get
61              Get BMC Watchdog Configuration and State. The current configura‐
62              tion and state is printed to standard output.
63
64       -r, --reset
65              Reset BMC Watchdog Timer.
66
67       -t, --start
68              Start BMC Watchdog Timer. Does nothing if the timer is currently
69              running. Identical to --reset command when the timer is  stopped
70              with  the  exception  of  the start command options listed below
71              under START OPTIONS.
72
73       -y, --stop
74              Stop BMC Watchdog Timer. Stops the current timer.
75
76       -c, --clear
77              Clear BMC Watchdog Configuration. Clears all configuration  val‐
78              ues  for the watchdog timer, except for timer use, which is kept
79              at its current value.
80
81       -d, --daemon
82              Run bmc-watchdog as a daemon. Configurable  BMC  watchdog  timer
83              options are listed below under DAEMON OPTIONS. The configuration
84              values are set once, then the daemon will  reset  the  timer  at
85              specified  periodic intervals.  Everytime the BMC watchdog timer
86              is reset, a log entry will be generated in the bmc-watchdog log.
87              The default log is stored at /var/log/freeipmi/bmc-watchdog.log.
88              The daemon can be stopped using the --stop command, --clear com‐
89              mand, or by setting the stop_timer flag on the --set command.
90

GENERAL OPTIONS

92       The following options are general options for configuring IPMI communi‐
93       cation and executing general tool commands.  These options are  generic
94       and can be used by any command.
95
96       -D, --driver-type=IPMIDRIVER
97              Specify  the  driver type to use instead of doing an auto selec‐
98              tion.  The currently available inband  drivers  are  KCS,  SSIF,
99              OPENIPMI, and SUNBMC (SUNBMC is currently experimental).
100
101       --disable-auto-probe
102              Do not probe in-band IPMI devices for default settings.
103
104       --driver-address=DRIVER-ADDRESS
105              Specify  the  in-band  driver  address to be used instead of the
106              probed value. DRIVER-ADDRESS should be prefixed with "0x" for  a
107              hex value and '0' for an octal value.
108
109       --driver-device=DEVICE
110              Specify the in-band driver device path to be used instead of the
111              probed path.
112
113       --register-spacing=REGISTER-SPACING
114              Specify the in-band  driver  register  spacing  instead  of  the
115              probed value.
116
117       -f STRING, --logfile=FILE
118              Specify    an    alternate   logfile   from   the   default   of
119              /var/log/freeipmi/bmc-watchdog.log.
120
121       -n, --no-logging
122              Turns off all logging done by bmc-watchdog.
123
124       --config-file=FILE
125              Specify an alternate configuration file.
126
127       -W, --workaround-flags=WORKAROUNDS
128              Specify workarounds to vendor compliance issues. Multiple  work‐
129              arounds  can  be  specified separated by commas. See WORKAROUNDS
130              below for a list of available workarounds.
131
132       --debug
133              Turn on debugging.
134
135       -?, --help
136              Output a help list and exit.
137
138       --usage
139              Output a usage message and exit.
140
141       -V, --version
142              Output the program version and exit.
143

SET OPTIONS

145       The following options can be used by the set command to  set  or  clear
146       various BMC watchdog configuration parameters.
147
148       -u INT, --timer-use=INT
149              Set timer use. The timer use value can be set to one of the fol‐
150              lowing: 1 = BIOS FRB2, 2 = BIOS POST, 3 = OS_LOAD, 4 = SMS OS, 5
151              = OEM.
152
153       -m INT, --stop-timer=INT
154              Set  Stop  Timer  Flag.  A flag value of 0 stops the current BMC
155              watchdog timer. A value of 1 doesn't turn off the current watch‐
156              dog timer.
157
158       -l INT, --log=INT
159              Set  Log  Flag. A flag value of 0 turns logging on. A value of 1
160              turns logging off.
161
162       -a INT, --timeout-action=INT
163              Set timeout action. The timeout action can be set to one of  the
164              following:  0  =  No action, 1 = Hard Reset, 2 = Power Down, 3 =
165              Power Cycle.
166
167       -p INT, --pre-timeout-interrupt=INT
168              Set pre-timeout interrupt. The pre timeout interrupt can be  set
169              to one of the following: 0 = None, 1 = SMI, 2 = NMI, 3 = Messag‐
170              ing Interrupt.
171
172       -z SECS, --pre-timeout-interval=SECONDS
173              Set pre-timeout interval in seconds.
174
175       -F, --clear-bios-frb2
176              Clear BIOS FRB2 Timer Use Flag.
177
178       -P, --clear-bios-post
179              Clear BIOS POST Timer Use Flag.
180
181       -L, --clear-os-load
182              Clear OS Load Timer Use Flag.
183
184       -S, --clear-sms-os
185              Clear SMS/OS Timer Use Flag.
186
187       -O, --clear-oem
188              Clear OEM Timer Use Flag.
189
190       -i SECS, --initial-countdown=SECONDS
191              Set initial countdown in seconds.
192
193       -w, --start-after-set
194              Start timer after set command if timer is stopped. This is typi‐
195              cally  used  when bmc-watchdog is used as a cronjob. This can be
196              used to automatically start the timer after it has been set  the
197              first time.
198
199       -x, --reset-after-set
200              Reset timer after set command if timer is running.
201
202       -j, --start-if-stopped
203              Don't execute set command if timer is stopped, just start timer.
204
205       -k, --reset-if-running
206              Don't execute set command if timer is running, just reset timer.
207              This is typically used when bmc-watchdog is used as  a  cronjob.
208              This  can be used to reset the timer after it has been initially
209              started.
210

START OPTIONS

212       The following options can be used by the start command.
213
214       -G INT, --gratuitous-arp=INT
215              Suspend or don't suspend gratuitous ARPs while the BMC timer  is
216              running.  A flag value of 1 suspends gratuitous ARPs. A value of
217              0 will not suspend gratuitous ARPs. If this option is not speci‐
218              fied, gratuitous ARPs will not be suspended.
219
220       -A INT, --arp-response=INT
221              Suspend  or  don't suspend BMC-generated ARP responses while the
222              BMC timer is running. A flag value of 1 suspends ARP  responses.
223              A  value  of 0 will not suspend ARP responses. If this option is
224              not specified, ARP responses will not be suspended.
225

DAEMON OPTIONS

227       The following options can be used by the daemon command to set the ini‐
228       tial BMC watchdog configuration parameters.
229
230       -u INT, --timer-use=INT
231              Set timer use. The timer use value can be set to one of the fol‐
232              lowing: 1 = BIOS FRB2, 2 = BIOS POST, 3 = OS_LOAD, 4 = SMS OS, 5
233              = OEM.
234
235       -l INT, --log=INT
236              Set  Log  Flag. A flag value of 0 turns logging on. A value of 1
237              turns logging off.
238
239       -a INT, --timeout-action=INT
240              Set timeout action. The timeout action can be set to one of  the
241              following:  0  =  No action, 1 = Hard Reset, 2 = Power Down, 3 =
242              Power Cycle.
243
244       -p INT, --pre-timeout-interrupt=INT
245              Set pre-timeout interrupt. The pre timeout interrupt can be  set
246              to one of the following: 0 = None, 1 = SMI, 2 = NMI, 3 = Messag‐
247              ing Interrupt.
248
249       -z SECS, --pre-timeout-interval=SECONDS
250              Set pre-timeout interval in seconds.
251
252       -F, --clear-bios-frb2
253              Clear BIOS FRB2 Timer Use Flag.
254
255       -P, --clear-bios-post
256              Clear BIOS POST Timer Use Flag.
257
258       -L, --clear-os-load
259              Clear OS Load Timer Use Flag.
260
261       -S, --clear-sms-os
262              Clear SMS/OS Timer Use Flag.
263
264       -O, --clear-oem
265              Clear OEM Timer Use Flag.
266
267       -i SECS, --initial-countdown=SECONDS
268              Set initial countdown in seconds.
269
270       -G INT, --gratuitous-arp=INT
271              Suspend or don't suspend gratuitous ARPs while the BMC timer  is
272              running.  A flag value of 1 suspends gratuitous ARPs. A value of
273              0 will not suspend gratuitous ARPs. If this option is not speci‐
274              fied, gratuitous ARPs will not be suspended.
275
276       -A INT, --arp-response=INT
277              Suspend  or  don't suspend BMC-generated ARP responses while the
278              BMC timer is running. A flag value of 1 suspends ARP  responses.
279              A  value  of 0 will not suspend ARP responses. If this option is
280              not specified, ARP responses will not be suspended.
281
282       -e, --reset-period
283              Time interval to wait before resetting timer. The default is  60
284              seconds.
285

ERRORS

287       Errors are logged to the bmc-watchdog log.
288

WORKAROUNDS

290       With  so  many different vendors implementing their own IPMI solutions,
291       different vendors may implement their IPMI protocols  incorrectly.  The
292       following  lists  the workarounds currently available to handle discov‐
293       ered compliance issues.
294
295       When possible, workarounds have been implemented so they will be trans‐
296       parent  to  the  user. However, some will require the user to specify a
297       workaround be used via the -W option.
298
299       The hardware listed below may only indicate the hardware that a problem
300       was  discovered  on.  Newer  versions  of hardware may fix the problems
301       indicated below. Similar machines from vendors may or may  not  exhibit
302       the  same  problems.  Different vendors may license their firmware from
303       the same IPMI firmware developer, so it may be worthwhile to try  work‐
304       arounds listed below even if your motherboard is not listed.
305
306       "ignorestateflag"  -  This  workaround option will ignore the BMC timer
307       state flag (indicating if the timer is running or stopped) when running
308       in  daemon mode. On some BMCs, the flag is broken and will never report
309       that a BMC timer is running, even if it is. The  workaround  will  take
310       notice  of  changes in the countdown seconds to determine if a timer is
311       running or stopped. With this type of implementation, the  reset-period
312       must be large enough to ensure minor fluctuations in the countdown will
313       not affect the workaround. Due to  the  implementation  of  this  work‐
314       around,  if  another  process  stops  the  watchdog  timer,  it  may be
315       detectable. This option is confirmed to work around compliances  issues
316       on Sun x4100, x4200, and x4500.
317

EXAMPLES

319       Setup  a  bmc-watchdog  daemon that resets the machine after 15 minutes
320       (900 seconds) if the OS has crashed (see default bmc-watchdog rc script
321       /etc/init.d/bmc-watchdog for a more complete example):
322               bmc-watchdog -d -u 4 -p 0 -a 1 -i 900
323

KNOWN ISSUES

325       Bmc-watchdog  may  fail to reset the watchdog timer if it is not sched‐
326       uled properly.  It is always recommended that bmc-watchdog be  executed
327       with a high scheduling priority.
328
329       On  some machines, the hardware based SMI Handler may disable a proces‐
330       sor after a watchdog timer timeout if the timer use is set to something
331       other than SMS/OS.
332

REPORTING BUGS

334       Report bugs to <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.
335
337       Copyright (C) 2007-2010 Lawrence Livermore National Security, LLC.
338       Copyright (C) 2004-2007 The Regents of the University of California.
339
340       This program is free software; you can redistribute it and/or modify it
341       under the terms of the GNU General Public License as published  by  the
342       Free  Software Foundation; either version 2 of the License, or (at your
343       option) any later version.
344

SEE ALSO

346       freeipmi(7)
347
348       http://www.gnu.org/software/freeipmi/
349
350
351
352bmc-watchdog 0.8.8                2010-07-21                   bmc-watchdog(8)
Impressum