1bmc-watchdog(8) System Commands bmc-watchdog(8)
2
3
4
6 bmc-watchdog - BMC watchdog timer daemon and control utility
7
9 bmc-watchdog command [OPTION...] [COMMAND_OPTIONS...]
10
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
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
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
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
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
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
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
287 Errors are logged to the bmc-watchdog log.
288
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
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
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
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
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)