IPMI Raw Commands
Vernon Mauery
vernon.mauery at linux.intel.com
Tue Mar 10 07:29:30 AEDT 2020
On 06-Mar-2020 04:54 PM, Anony Mous wrote:
>To whom it may concern,
Anony,
Interesting name choice for interacting with an opensource project.
>1. Does openbmc ipmitool support any of the ipmi raw commands? Most of them
>(such as the one below) returns "invalid command".
>ipmitool raw <netfn> <command>
>
>Where:
>netfn = storage = 0x0a
>command = enter sdr respository update mode = 0x2a
ipmitool supports raw commands in part because it the full array of
commands supported by the IPMI spec is too vast to have them all
implemented as named commands. In addition, IPMI offers the ability for
OEMs to define OEM-specific IPMI commands that may have one meaning on
one BMC and another meaning on a system from a different OEM.
>The above command was executed on the BMC and the following error returned:
>
>"Unable to send RAW command (channel=0x0 netfn=0xa lun=0x0 cmd=0x2a
>rsp=0xc1): Invalid command"
The SDR commands for OpenBMC are defined in the phosphor-host-ipmid repo
(https://github.com/openbmc/phosphor-host-ipmid) in the
storagehandler.cpp file. It appears that the enter sdr update mode
command is not implemented.
>2. Can the ipmi raw commands be executed on the BMC itself or does it need
>to be executed from an external source (such as a processor connected to
>the BMC)?
As explained above, raw commands are not so much a kind of command as a
mechanism to send specific bytes to the IPMI execution machinery. From
the BMC console, it is possible to run raw commands, the same as if you
are executing them over any other channel (SI, IPMB, RMCP+, etc.)
>3. Do any kind of privilege settings need to be modified in order to
>execute any ipmi raw commands?
It is not that raw commands don't work on OpenBMC, it is that some
commands are not implemented.
root at intel-obmc:~# ipmitool raw 6 1
23 00 80 40 02 bf 57 01 00 7b 00 0c 42 ff 21
>From the BMC serial console, running ipmitool will execute commands in a
session-less manner, much like executing commands over the system
interface from the host or over an IPMB channel. So no privilege check
is done; the commands run as admin by default.
--Vernon
More information about the openbmc
mailing list