Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
bmc-watchdog(8)			System Commands		       bmc-watchdog(8)

NAME
       bmc-watchdog - BMC watchdog timer daemon	and control utility

SYNOPSIS
       bmc-watchdog command [OPTION...]	[COMMAND_OPTIONS...]

DESCRIPTION
       Bmc-watchdog  controls a	Baseboard Management Controller	(BMC) watchdog
       timer. The bmc-watchdog tool typically executes as a cronjob or	daemon
       to  manage the watchdog timer. A	user must be root in order to run bmc-
       watchdog.

       Listed below are	bmc-watchdog details, option  details,	examples,  and
       known  issues.  For  a  general	introduction  to  FreeIPMI  please see
       freeipmi(7).

BMC WATCHDOG DETAILS
       A BMC watchdog timer is part of the Intelligent Platform	Management In-
       terface (IPMI) specification and	is only	available  to  BMCs  that  are
       compliant  with	IPMI.  When a BMC watchdog timer is started, it	begins
       counting	down to	zero from some positive	number of  seconds.  When  the
       timer  hits  zero,  the timer will execute a pre-configured pre-timeout
       interrupt and/or	timeout	action.

       In order	to stop	the pre-timeout	interrupt or timeout action from being
       executed, the watchdog timer must be periodically  reset	 back  to  its
       initial beginning value.

       The  BMC	 watchdog timer	automatically stops itself when	the machine is
       rebooted. Therefore, when a machine is brought  up,  the	 BMC  watchdog
       timer must be setup again before	it can be used.

       Typically,  a  BMC  watchdog timer is used to automatically reset a ma-
       chine that has crashed. When the	operating system first starts up,  the
       BMC timer is set	to its initial countdown value.	At periodic intervals,
       when  the  operating system is functioning properly, the	watchdog timer
       can be reset by the OS or a userspace program. Thus,  the  timer	 never
       counts down to zero. When the system crashes, the timer cannot be reset
       by the OS or userspace program. Eventually, the timer will countdown to
       zero and	reset the machine.

       See EXAMPLES below for examples of how bmc-watchdog is commonly used.

COMMANDS
       The following commands are available to bmc-watchdog.

       -s, --set
	      Set BMC Watchdog Configuration. BMC watchdog timer configuration
	      values can be set	using the set command options listed below un-
	      der  SET OPTIONS.	If a particular	configuration parameter	is not
	      specified	on the command line, the current configuration of that
	      parameter	will not be changed.

       -g, --get
	      Get BMC Watchdog Configuration and State.	The current configura-
	      tion and state is	printed	to standard output.

       -r, --reset
	      Reset BMC	Watchdog Timer.

       -t, --start
	      Start BMC	Watchdog Timer.	Does nothing if	the timer is currently
	      running. Identical to --reset command when the timer is  stopped
	      with the exception of the	start command options listed below un-
	      der START	OPTIONS.

       -y, --stop
	      Stop BMC Watchdog	Timer. Stops the current timer.

       -c, --clear
	      Clear  BMC Watchdog Configuration. Clears	all configuration val-
	      ues for the watchdog timer, except for timer use,	which is  kept
	      at its current value.

       -d, --daemon
	      Run  bmc-watchdog	 as  a daemon. Configurable BMC	watchdog timer
	      options are listed below under DAEMON OPTIONS. The configuration
	      values are set once, then	the daemon will	 reset	the  timer  at
	      specified	 periodic  intervals.  The daemon can be stopped using
	      the  --stop  command,  --clear  command,	or  by	 setting   the
	      stop_timer flag on the --set command.

GENERAL	OPTIONS
       The following options are general options for configuring IPMI communi-
       cation  and executing general tool commands.  These options are generic
       and can be used by any command.

       -D IPMIDRIVER, --driver-type=IPMIDRIVER
	      Specify the driver type to use instead of	doing an  auto	selec-
	      tion.   The  currently  available	 inband	drivers	are KCS, SSIF,
	      OPENIPMI,	SUNBMC,	and INTELDCMI.

       --disable-auto-probe
	      Do not probe in-band IPMI	devices	for default settings.

       --driver-address=DRIVER-ADDRESS
	      Specify the in-band driver address to be	used  instead  of  the
	      probed  value. DRIVER-ADDRESS should be prefixed with "0x" for a
	      hex value	and '0'	for an octal value.

       --driver-device=DEVICE
	      Specify the in-band driver device	path to	be used	instead	of the
	      probed path.

       --register-spacing=REGISTER-SPACING
	      Specify the in-band  driver  register  spacing  instead  of  the
	      probed  value. Argument is in bytes (i.e.	32bit register spacing
	      =	4)

       --target-channel-number=CHANNEL-NUMBER
	      Specify the in-band driver target	channel	number	to  send  IPMI
	      requests to.

       --target-slave-address=SLAVE-ADDRESS
	      Specify  the in-band driver target slave number to send IPMI re-
	      quests to.

       -v, --verbose-logging
	      Increase verbosity of logging.

       -n, --no-logging
	      Turns off	all logging done by bmc-watchdog.

       --config-file=FILE
	      Specify an alternate configuration file.

       -W WORKAROUNDS, --workaround-flags=WORKAROUNDS
	      Specify  workarounds  to	vendor	compliance  issues.   Multiple
	      workarounds can be specified separated by	commas.	A special com-
	      mand  line  flag of "none", will indicate	no workarounds (may be
	      useful for overriding configured defaults). See WORKAROUNDS  be-
	      low for a	list of	available workarounds.

       --debug
	      Turn on debugging.

       -?, --help
	      Output a help list and exit.

       --usage
	      Output a usage message and exit.

       -V, --version
	      Output the program version and exit.

SET OPTIONS
       The  following  options	can be used by the set command to set or clear
       various BMC watchdog configuration parameters.

       -u INT, --timer-use=INT
	      Set timer	use. The timer use value can be	set to one of the fol-
	      lowing: 1	= BIOS FRB2, 2 = BIOS POST, 3 =	OS_LOAD, 4 = SMS OS, 5
	      =	OEM.

       -m INT, --stop-timer=INT
	      Set Stop Timer Flag. A flag value	of 0  stops  the  current  BMC
	      watchdog timer. A	value of 1 doesn't turn	off the	current	watch-
	      dog timer.

       -l INT, --log=INT
	      Set  Log	Flag. A	flag value of 0	turns logging on. A value of 1
	      turns logging off.

       -a INT, --timeout-action=INT
	      Set timeout action. The timeout action can be set	to one of  the
	      following:  0  =	No action, 1 = Hard Reset, 2 = Power Down, 3 =
	      Power Cycle.

       -p INT, --pre-timeout-interrupt=INT
	      Set pre-timeout interrupt. The pre timeout interrupt can be  set
	      to one of	the following: 0 = None, 1 = SMI, 2 = NMI, 3 = Messag-
	      ing Interrupt.

       -z SECONDS, --pre-timeout-interval=SECONDS
	      Set pre-timeout interval in seconds.

       -F, --clear-bios-frb2
	      Clear BIOS FRB2 Timer Use	Flag.

       -P, --clear-bios-post
	      Clear BIOS POST Timer Use	Flag.

       -L, --clear-os-load
	      Clear OS Load Timer Use Flag.

       -S, --clear-sms-os
	      Clear SMS/OS Timer Use Flag.

       -O, --clear-oem
	      Clear OEM	Timer Use Flag.

       -i SECONDS, --initial-countdown=SECONDS
	      Set initial countdown in seconds.

       -w, --start-after-set
	      Start timer after	set command if timer is	stopped. This is typi-
	      cally  used  when	bmc-watchdog is	used as	a cronjob. This	can be
	      used to automatically start the timer after it has been set  the
	      first time.

       -x, --reset-after-set
	      Reset timer after	set command if timer is	running.

       -j, --start-if-stopped
	      Don't execute set	command	if timer is stopped, just start	timer.

       -k, --reset-if-running
	      Don't execute set	command	if timer is running, just reset	timer.
	      This  is	typically used when bmc-watchdog is used as a cronjob.
	      This can be used to reset	the timer after	it has been  initially
	      started.

START OPTIONS
       The following options can be used by the	start command.

       -G INT, --gratuitous-arp=INT
	      Suspend  or don't	suspend	gratuitous ARPs	while the BMC timer is
	      running. A flag value of 1 suspends gratuitous ARPs. A value  of
	      0	will not suspend gratuitous ARPs. If this option is not	speci-
	      fied, gratuitous ARPs will not be	suspended.

       -A INT, --arp-response=INT
	      Suspend  or  don't suspend BMC-generated ARP responses while the
	      BMC timer	is running. A flag value of 1 suspends ARP  responses.
	      A	 value	of 0 will not suspend ARP responses. If	this option is
	      not specified, ARP responses will	not be suspended.

DAEMON OPTIONS
       The following options can be used by the	daemon command to set the ini-
       tial BMC	watchdog configuration parameters.

       -u INT, --timer-use=INT
	      Set timer	use. The timer use value can be	set to one of the fol-
	      lowing: 1	= BIOS FRB2, 2 = BIOS POST, 3 =	OS_LOAD, 4 = SMS OS, 5
	      =	OEM.

       -l INT, --log=INT
	      Set Log Flag. A flag value of 0 turns logging on.	A value	 of  1
	      turns logging off.

       -a INT, --timeout-action=INT
	      Set  timeout action. The timeout action can be set to one	of the
	      following: 0 = No	action,	1 = Hard Reset,	2 = Power  Down,  3  =
	      Power Cycle.

       -p INT, --pre-timeout-interrupt=INT
	      Set  pre-timeout interrupt. The pre timeout interrupt can	be set
	      to one of	the following: 0 = None, 1 = SMI, 2 = NMI, 3 = Messag-
	      ing Interrupt.

       -z SECONDS, --pre-timeout-interval=SECONDS
	      Set pre-timeout interval in seconds.

       -F, --clear-bios-frb2
	      Clear BIOS FRB2 Timer Use	Flag.

       -P, --clear-bios-post
	      Clear BIOS POST Timer Use	Flag.

       -L, --clear-os-load
	      Clear OS Load Timer Use Flag.

       -S, --clear-sms-os
	      Clear SMS/OS Timer Use Flag.

       -O, --clear-oem
	      Clear OEM	Timer Use Flag.

       -i SECONDS, --initial-countdown=SECONDS
	      Set initial countdown in seconds.

       -G INT, --gratuitous-arp=INT
	      Suspend or don't suspend gratuitous ARPs while the BMC timer  is
	      running.	A flag value of	1 suspends gratuitous ARPs. A value of
	      0	will not suspend gratuitous ARPs. If this option is not	speci-
	      fied, gratuitous ARPs will not be	suspended.

       -A INT, --arp-response=INT
	      Suspend or don't suspend BMC-generated ARP responses  while  the
	      BMC  timer is running. A flag value of 1 suspends	ARP responses.
	      A	value of 0 will	not suspend ARP	responses. If this  option  is
	      not specified, ARP responses will	not be suspended.

       -e, --reset-period
	      Time  interval to	wait before resetting timer. The default is 60
	      seconds.

ERRORS
       Errors are logged to syslog.

WORKAROUNDS
       With so many different vendors implementing their own  IPMI  solutions,
       different  vendors  may implement their IPMI protocols incorrectly. The
       following describes a number of workarounds currently available to han-
       dle discovered compliance issues. When possible,	workarounds have  been
       implemented so they will	be transparent to the user. However, some will
       require the user	to specify a workaround	be used	via the	-W option.

       The hardware listed below may only indicate the hardware	that a problem
       was  discovered on. Newer versions of hardware may fix the problems in-
       dicated below. Similar machines from vendors may	or may not exhibit the
       same problems. Different	vendors	may license their  firmware  from  the
       same   IPMI  firmware  developer,  so  it  may  be  worthwhile  to  try
       workarounds listed below	even if	your motherboard is not	listed.

       If you believe your hardware has	an additional  compliance  issue  that
       needs a workaround to be	implemented, please contact the	FreeIPMI main-
       tainers on <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.

       assumeio	 - This	workaround flag	will assume inband interfaces communi-
       cate with system	I/O rather than	being memory-mapped.  This  will  work
       around  systems	that report invalid base addresses. Those hitting this
       issue may see "device not supported" or "could not find inband  device"
       errors.	Issue observed on HP ProLiant DL145 G1.

       spinpoll	 -  This workaround flag will inform some inband drivers (most
       notably the KCS driver) to spin while polling rather than  putting  the
       process to sleep. This may significantly	improve	the wall clock running
       time  of	 tools because an operating system scheduler's granularity may
       be much larger than the time it takes to	perform	a single IPMI  message
       transaction.  However,  by spinning, your system	may be performing less
       useful work by not contexting out the tool for a	more useful task.

       ignorestateflag - This workaround option	 will  ignore  the  BMC	 timer
       state flag (indicating if the timer is running or stopped) when running
       in  daemon mode.	On some	BMCs, the flag is broken and will never	report
       that a BMC timer	is running, even if it is. The	workaround  will  take
       notice  of  changes in the countdown seconds to determine if a timer is
       running or stopped. With	this type of implementation, the  reset-period
       must be large enough to ensure minor fluctuations in the	countdown will
       not   affect   the  workaround.	Due  to	 the  implementation  of  this
       workaround, if another process stops the	watchdog timer,	it may be  de-
       tectable. This option is	confirmed to work around compliances issues on
       Sun x4100, x4200, and x4500.

EXAMPLES
       Setup  a	 bmc-watchdog  daemon that resets the machine after 15 minutes
       (900 seconds) if	the OS has crashed:
	       bmc-watchdog -d -u 4 -p 0 -a 1 -i 900

DIAGNOSTICS
       Upon successful execution, exit status is 0. On error, exit  status  is
       1.

KNOWN ISSUES
       Bmc-watchdog  may  fail to reset	the watchdog timer if it is not	sched-
       uled properly.  It is always recommended	that bmc-watchdog be  executed
       with a high scheduling priority.

       On  some	machines, the hardware based SMI Handler may disable a proces-
       sor after a watchdog timer timeout if the timer use is set to something
       other than SMS/OS.

REPORTING BUGS
       Report bugs to <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.

COPYRIGHT
       Copyright (C) 2007-2015 Lawrence	Livermore National Security, LLC.
       Copyright (C) 2004-2007 The Regents of the University of	California.

       This program is free software; you can redistribute it and/or modify it
       under the terms of the GNU General Public License as published  by  the
       Free  Software Foundation; either version 3 of the License, or (at your
       option) any later version.

SEE ALSO
       freeipmi(7)

       http://www.gnu.org/software/freeipmi/

bmc-watchdog 1.6.15		  2025-01-15		       bmc-watchdog(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=bmc-watchdog&sektion=8&manpath=FreeBSD+Ports+14.3.quarterly>

home | help