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

FreeBSD Manual Pages

  
 
  

home | help
IPMI(4) 		     Kernel Interfaces Manual			 IPMI(4)

NAME
     ipmi -- OpenIPMI compatible IPMI interface driver

SYNOPSIS
     device ipmi

     To manually specify I/O attachment in /boot/device.hints:
     hint.ipmi.0.at="isa"
     hint.ipmi.0.port="0xCA2"
     hint.ipmi.0.spacing="8"
     hint.ipmi.0.mode="KCS"

     To manually specify memory attachment in /boot/device.hints:
     hint.ipmi.0.at="isa"
     hint.ipmi.0.maddr="0xf0000000"
     hint.ipmi.0.spacing="8"
     hint.ipmi.0.mode="SMIC"

     Meaning of spacing:
	   8	8 bit alignment
	   16	16 bit alignment
	   32	32 bit alignment

     If the port and spacing are not specified the interface type default will
     be used.  Only specify either the port for I/O access or maddr for memory
     access.

DESCRIPTION
     The IPMI (Intelligent Platform Management Interface) is a standard for mon-
     itoring  system  hardware	by permitting generic code to detect and monitor
     the sensors in a system.  The IPMI standard offers watchdog support, an FRU
     database, and other support extensions.  It is currently being  adopted  by
     the makers of many single board and embedded system manufacturers.

     The  ipmi	driver in FreeBSD is heavily adopted from the standard and Linux
     driver; however, not all features described in the standard are supported.

     The ipmi driver implements the power cycling option to shutdown(8)  to  im-
     plement  power  cycling  of the system.  The motherboard's BMC must support
     the chassis device and the optional power cycle subcomand	of  the  chassis
     control  command  as  described  in section 28.3 of the IPMI standard.  The
     length of time the system is off will be at least one second,  but  may  be
     longer if the power cycle interval has been set (see section 28.9).

IOCTLS
     Sending  and receiving messages through the ipmi driver requires the use of
     ioctl(2).	The ioctls are used due to the complexity of data  sent  to  and
     from  the	device.   The  ioctl(2)  command  codes  below	are  defined  in
     <sys/ipmi.h>.  The third argument to ioctl(2) should be a	pointer  to  the
     type indicated.

     Currently the following ioctls are supported:

     IPMICTL_RECEIVE_MSG (struct ipmi_recv)
	     Receive a message.  Possible error values:

	     [EAGAIN]		No messages are in the process queue.

	     [EFAULT]		An address supplied was invalid.

	     [EMSGSIZE] 	The  address could not fit in the message buffer
				and will remain in the buffer.

     IPMICTL_RECEIVE_MSG_TRUNC (struct ipmi_recv)
	     Like IPMICTL_RECEIVE_MSG but if the message  cannot  fit  into  the
	     buffer,  it  will truncate the contents instead of leaving the data
	     in the buffer.

     IPMICTL_SEND_COMMAND (struct ipmi_req)
	     Send a message to the interface.  Possible error values:

	     [EFAULT]		An address supplied was invalid.

	     [ENOMEM]		Buffers could not be allowed  for  the	command,
				out of memory.

     IPMICTL_SET_MY_ADDRESS_CMD (unsigned int)
	     Set the slave address for source messages.

     IPMICTL_GET_MY_ADDRESS_CMD (unsigned int)
	     Get the slave address for source messages.

     IPMICTL_SET_MY_LUN_CMD (unsigned int)
	     Set the slave LUN for source messages.

     IPMICTL_GET_MY_LUN_CMD (unsigned int)
	     Get the slave LUN for source messages.

   Unimplemented Ioctls
     IPMICTL_REGISTER_FOR_CMD (struct ipmi_cmdspec)
	     Register to receive a specific command.  Possible error values:

	     [EFAULT]		An supplied address was invalid.

	     [EBUSY]		The network function/command is already in use.

	     [ENOMEM]		Could not allocate memory.

     IPMICTL_UNREGISTER_FOR_CMD (struct ipmi_cmdspec)
	     Unregister to receive a specific command.	Possible error values:

	     [EFAULT]		An address supplied was invalid.

	     [ENOENT]		The network function/command was not found.

   Stub Only Ioctl
     IPMICTL_SET_GETS_EVENTS_CMD (int)
	     Set whether this interface receives events.  Possible error values:

	     [EFAULT]		An address supplied was invalid.

SEE ALSO
     ioctl(2),	watchdog(4),  reboot(8), shutdown(8), watchdog(8), watchdogd(8),
     watchdog(9)

HISTORY
     The ipmi driver first appeared in FreeBSD 6.2.

AUTHORS
     The ipmi driver was written by Doug Ambrisko <ambrisko@FreeBSD.org>.   This
     manual page was written by Tom Rhodes <trhodes@FreeBSD.org>.

BUGS
     Not all features of the MontaVista driver are supported.

     Currently, IPMB and BT modes are not implemented.

FreeBSD ports 15.1		October 25, 2017			 IPMI(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ipmi&sektion=4&manpath=FreeBSD+15.1-RELEASE+and+Ports>

home | help