Skip Navigation Links | |
Exit Print View | |
man pages section 7: Device and Network Interfaces Oracle Solaris 11.1 Information Library |
- service processor driver interface using IPMI
#include <sys/ipmi.h>
open("/dev/ipmi0", mode);
The ipmi driver provides access to a system's service processor using an IPMI (Intelligent Platform Management Interface) standard interface. This driver is OpenIPMI compliant and supports the service processor's watchdog timer.
ipmi supplies a standard way to access and monitor system sensors, the FRU database, and the overall environmental state and health of the system.
The primary method for communication between user land and the driver is through the use of ioctl(2).
This driver follows the pseudo OpenIPMI standard. See http://openipmi.sourceforge.net for details of the OpenIPMI and its uses.
ipmi supplies the new functionality of the OpenIPMI compatible driver module. If you only need the functionality of the legacy bmc driver, use the bmc module.
The impi module supplies an OpenIPMI compatible driver module. If you need this new functionality then this is the driver module that you should use.
If you only need the functionality of the legacy bmc driver, use the bmc module.
If you want the extended features of the new OpenIPMI driver, but still require legacy bmc driver functionality you have the choice of using the new sbmc/ipmi driver module pair. This new pair offers an OpenIPMI compatible driver (ipmi) and a legacy bmc compatible driver, sbmc, both of which can be used at the same time.
Driver Module Functionality Enable Property bmc Legacy bmc driver bmc.conf/bmc-enable ipmi OpenIPMI driver ipmi.conf/ipmi-enable sbmc bmc compatibility sbmc.conf/sbmc-enable for OpenIPMI
The above properties can be set to either 1 (enable) or 0 (disable). If you need OpenIPMI with legacy support then ipmi-anable=1 should be in the file ipmi.conf. Also sbmc-enable=1 should be in the file sbmc.conf. and bmc-enable=0 must be in the file bmc.conf.
The driver properties are set by editing the related configuration file. For the ipmi driver the file is ipmi.conf.
The following properties are supported:
Enables or disables the ipmi driver. When the driver is disabled it does not attach and is not active.
When set to 1 the ipmi driver is enabled. The default is disabled.
The time in milliseconds between polls to check for asynchronous events.
If this value is set to 0 then asynchronous event notification is disabled. The default value is 1 second.
The initial value for the watch-dog time out period in seconds. The watch-dog counts down from this value until it reaches 0, at which time the system resets.
The default for is 90 seconds. If this value is set to 0 the watch-dog feature is disabled.
The driver watch-dog update period in seconds. The driver watch-dog update period is the number of seconds between the time that the driver resets the watch-dog timer back to its initial value.
If this value is set to 0 the watch-dog feature is disabled. The default for this value is 30 seconds.
The following ioctls are supported:
Passed an argument of type (unsigned int *). Gets the slave address for source messages.
Passed an argument of type (struct ipmi_timing_parms *). Gets the retry and error timeout metrics for an open session. The time value is in milliseconds.
Passed an argument of type (struct ipmi_recv *). ioctl(2) receives a message. If the received message is too large to fit in the buffer an error is returned.
Like IPMICTL_RECEIVE_MSG with the exception that if the message does not fit in the buffer it is truncated.
Passed an argument of type (struct ipmi_cmdspec *). Registers to receive a specific command.
Passed an argument of type (struct ipmi_req *). ioctl(2) is used to send a request to the interface.
Passed an argument of type (struct ipmi_req_settime *). Like IPMICTL_SEND_COMMAND but also sets the retries and error timeout value passed in for this request only.
Passed an argument of type (int). This is passed a boolean which when set to none. zero causes the interface to deliver asynchronous events to this open session.
Passed an argument of type (unsigned int *). Sets the slave address for source messages.
Passed an argument of type (unsigned int *). Sets the slave address for source messages.
Passed an argument of type (struct ipmi_timing_parms *). Sets the retry and error timeout metrics for an open session. The time value is in milliseconds.
Passed an argument of type (struct ipmi_cmdspec *). Unregisters to receive a specific command.
An open(2) fails if:
There are too many open instances. Try again later.
There is a hardware initialization problem.
There is a problem and the driver is not available.
An ioctl(2) fails if:
None available. Try again later.
The operation violates permissions.
An address is invalid.
Invalid ioctl.
Legacy bmc driver file node
OpenIPMI compatible driver file node
bmc configuration file
ipmi configuration file
bmc compatibility module for OpenIPMI configuration file
64-bit x86 kernel bmc driver module
64-bit x86 kernel OpenIPMI driver module
64-bit x86 kernel bmc compatible driver module
64-bit SPARC kernel bmc driver module
64-bit SPARC kernel OpenIPMI driver module
64-bit SPARC kernel bmc compatible driver module
See attributes(5) for a description of the following attributes:
|