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.  The daemon can be stopped using
86              the  --stop  command,  --clear  command,  or  by   setting   the
87              stop_timer flag on the --set command.
88

GENERAL OPTIONS

90       The following options are general options for configuring IPMI communi‐
91       cation and executing general tool commands.  These options are  generic
92       and can be used by any command.
93
94       -D IPMIDRIVER, --driver-type=IPMIDRIVER
95              Specify  the  driver type to use instead of doing an auto selec‐
96              tion.  The currently available inband  drivers  are  KCS,  SSIF,
97              OPENIPMI, and SUNBMC.
98
99       --disable-auto-probe
100              Do not probe in-band IPMI devices for default settings.
101
102       --driver-address=DRIVER-ADDRESS
103              Specify  the  in-band  driver  address to be used instead of the
104              probed value. DRIVER-ADDRESS should be prefixed with "0x" for  a
105              hex value and '0' for an octal value.
106
107       --driver-device=DEVICE
108              Specify the in-band driver device path to be used instead of the
109              probed path.
110
111       --register-spacing=REGISTER-SPACING
112              Specify the in-band  driver  register  spacing  instead  of  the
113              probed  value. Argument is in bytes (i.e. 32bit register spacing
114              = 4)
115
116       --target-channel-number=CHANNEL-NUMBER
117              Specify the in-band driver target channel number  to  send  IPMI
118              requests to.
119
120       --target-slave-address=SLAVE-ADDRESS
121              Specify  the  in-band  driver  target  slave number to send IPMI
122              requests to.
123
124       -v, --verbose-logging
125              Increase verbosity of logging.
126
127       -n, --no-logging
128              Turns off all logging done by bmc-watchdog.
129
130       --config-file=FILE
131              Specify an alternate configuration file.
132
133       -W WORKAROUNDS, --workaround-flags=WORKAROUNDS
134              Specify workarounds to vendor compliance issues. Multiple  work‐
135              arounds  can be specified separated by commas. A special command
136              line flag of "none", will indicate no workarounds (may be useful
137              for overriding configured defaults). See WORKAROUNDS below for a
138              list of available workarounds.
139
140       --debug
141              Turn on debugging.
142
143       -?, --help
144              Output a help list and exit.
145
146       --usage
147              Output a usage message and exit.
148
149       -V, --version
150              Output the program version and exit.
151

SET OPTIONS

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

START OPTIONS

220       The following options can be used by the start command.
221
222       -G INT, --gratuitous-arp=INT
223              Suspend or don't suspend gratuitous ARPs while the BMC timer  is
224              running.  A flag value of 1 suspends gratuitous ARPs. A value of
225              0 will not suspend gratuitous ARPs. If this option is not speci‐
226              fied, gratuitous ARPs will not be suspended.
227
228       -A INT, --arp-response=INT
229              Suspend  or  don't suspend BMC-generated ARP responses while the
230              BMC timer is running. A flag value of 1 suspends ARP  responses.
231              A  value  of 0 will not suspend ARP responses. If this option is
232              not specified, ARP responses will not be suspended.
233

DAEMON OPTIONS

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

ERRORS

295       Errors are logged to syslog.
296

WORKAROUNDS

298       With  so  many different vendors implementing their own IPMI solutions,
299       different vendors may implement their IPMI protocols  incorrectly.  The
300       following describes a number of workarounds currently available to han‐
301       dle discovered compliance issues. When possible, workarounds have  been
302       implemented so they will be transparent to the user. However, some will
303       require the user to specify a workaround be used via the -W option.
304
305       The hardware listed below may only indicate the hardware that a problem
306       was  discovered  on.  Newer  versions  of hardware may fix the problems
307       indicated below. Similar machines from vendors may or may  not  exhibit
308       the  same  problems.  Different vendors may license their firmware from
309       the same IPMI firmware developer, so it may be worthwhile to try  work‐
310       arounds listed below even if your motherboard is not listed.
311
312       If  you  believe  your hardware has an additional compliance issue that
313       needs a workaround to be implemented, please contact the FreeIPMI main‐
314       tainers on <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.
315
316       assumeio  - This workaround flag will assume inband interfaces communi‐
317       cate with system I/O rather than being memory-mapped.  This  will  work
318       around  systems  that report invalid base addresses. Those hitting this
319       issue may see "device not supported" or "could not find inband  device"
320       errors.  Issue observed on HP ProLiant DL145 G1.
321
322       spinpoll  -  This workaround flag will inform some inband drivers (most
323       notably the KCS driver) to spin while polling rather than  putting  the
324       process to sleep. This may significantly improve the wall clock running
325       time of tools because an operating system scheduler's  granularity  may
326       be  much larger than the time it takes to perform a single IPMI message
327       transaction. However, by spinning, your system may be  performing  less
328       useful work by not contexting out the tool for a more useful task.
329
330       ignorestateflag  -  This  workaround  option  will ignore the BMC timer
331       state flag (indicating if the timer is running or stopped) when running
332       in  daemon mode. On some BMCs, the flag is broken and will never report
333       that a BMC timer is running, even if it is. The  workaround  will  take
334       notice  of  changes in the countdown seconds to determine if a timer is
335       running or stopped. With this type of implementation, the  reset-period
336       must be large enough to ensure minor fluctuations in the countdown will
337       not affect the workaround. Due to  the  implementation  of  this  work‐
338       around,  if  another  process  stops  the  watchdog  timer,  it  may be
339       detectable. This option is confirmed to work around compliances  issues
340       on Sun x4100, x4200, and x4500.
341

EXAMPLES

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

DIAGNOSTICS

349       Upon  successful  execution, exit status is 0. On error, exit status is
350       1.
351

KNOWN ISSUES

353       Bmc-watchdog may fail to reset the watchdog timer if it is  not  sched‐
354       uled  properly.  It is always recommended that bmc-watchdog be executed
355       with a high scheduling priority.
356
357       On some machines, the hardware based SMI Handler may disable a  proces‐
358       sor after a watchdog timer timeout if the timer use is set to something
359       other than SMS/OS.
360

REPORTING BUGS

362       Report bugs to <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.
363
365       Copyright (C) 2007-2012 Lawrence Livermore National Security, LLC.
366       Copyright (C) 2004-2007 The Regents of the University of California.
367
368       This program is free software; you can redistribute it and/or modify it
369       under  the  terms of the GNU General Public License as published by the
370       Free Software Foundation; either version 3 of the License, or (at  your
371       option) any later version.
372

SEE ALSO

374       freeipmi(7)
375
376       http://www.gnu.org/software/freeipmi/
377
378
379
380bmc-watchdog 1.2.1                2017-03-22                   bmc-watchdog(8)
Impressum