The actual mechanics of sending a message depend on the interface, see the interface sections in chapter 3 for the details of sending over specific interfaces.
CHAPTER 5. IPMI COMMANDS
The user does not have sufficient privilege to execute the com- mand. The given command cannot be supported in the present state. The given command cannot be executed because the subfunction required has been disabled.
reserved Some error occurred, but the true error could not be determined.
Sending Commands in the OpenIPMI Library
The OpenIPMI library hides most of the details of sending a command and handles all the aspects of talking to sensors, controls, and MCs. You should generally not need to send a command to an MC. However, exceptions exist, so the operation is described here.
First, you should probably decide if you want a clean interface to the function through a control. A control provides a clean interface to a device and should probably be used if possible. You would then send the messages from functions that are part of the control interface.
To send a message, you can either send it to an address in the domain or to an MC. To send to an address, you must have or construct a valid IPMI address and use:
i p m i _ s e n d _ c o m m a n d _ a d d r ( i p m i _ d o m a i n _ t
i p m i _ a d d r _ r e s p o n s void void e
h a n d l e r _ t r s p _ h a n d l e r , *rsp_data1, *rsp_data2);
To send to an MC, you must have a valid MC. MC the sensor belongs to) or you can iterate the message to an MC is:
You can usually extract this from a control or sensor (the MCs or keep the MC id around. The function to send a
i n t i p m i _ m c _ s e n d _ c o m m a n d ( i p m i _ m c _ t unsigned int ipmi_msg_t ipmi_mc_response void
h *mc, lun, *cmd, a n d l e r _ t r s p _ h a n d l e r , *rsp_data);