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	 work-
	      arounds  can be specified	separated by commas. A special command
	      line flag	of "none", will	indicate no workarounds	(may be	useful
	      for overriding configured	defaults). See WORKAROUNDS below 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	 work-
       arounds 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	 work-
       around,	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 (see	default	bmc-watchdog rc	script
       /etc/init.d/bmc-watchdog	for a more complete example):
	       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.6		  2020-09-03		       bmc-watchdog(8)

NAME | SYNOPSIS | DESCRIPTION | BMC WATCHDOG DETAILS | COMMANDS | GENERAL OPTIONS | SET OPTIONS | START OPTIONS | DAEMON OPTIONS | ERRORS | WORKAROUNDS | EXAMPLES | DIAGNOSTICS | KNOWN ISSUES | REPORTING BUGS | COPYRIGHT | SEE ALSO

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

home | help