table of contents
ipmi_cmdlang(7) | Shell interface to an IPMI system | ipmi_cmdlang(7) |
NAME¶
ipmi_cmdlang - A command language interface to the IPMI libraryDESCRIPTION¶
ipmi_cmdlang is a command language designed to supply the full power of OpenIPMI on a command line. It has a large number of commands and well-formed responses to each command. Note that this assumes some knowledge of OpenIPMI and how it works; you can get that from the IPMI document that comes with OpenIPMI. ipmish starts up with no connections or anything of that nature. You must enter commands to make connections to domains. Then you can enter commands to manipulate those domains or objects inside those domains. Note that you may use quotes, either '' or to contain parameters with spaces.COMMENTS¶
Lines with a # character in the first column are ignored.OBJECTS¶
In the command language, you will deal with various objects like sensors, controls, domains, and entities. Each of these has a name. The name of the domain is assigned by the user in the domain new command, all the other names are based on the domain name of the domain they belong to and various attributes about the object. These names are all well-formed. They are <domain> - A name of a domain. Each registered domain in a system has a name assigned by the user. <entity> - Entity names are in the form:[<domain>[(<entity
spec>)]]
Notice that the <entity spec> is optional. If it is not listed,
then the operation is done on all entities in the domain. The whole thing is
optional, too, if nothing is given then the operation is done on every entity
in every domain.
The <entity spec> is either
<entity id>.<entity
instance>
for system-relative entities, or:
r<channel>.<IPMB>.<entity
id>. <entity instance-0x60>
for device-relative entities. In IPMI, device-relative entity instances always
start at 0x60; the specification suggests that you subtract off the 0x60 from
the entity instance when displaying these; the command language follows this
suggestion.
<sensor> - These come in the form
[<entity>[.name]]
As with entities, only listing a domain will cause the operation to be done on
every sensor in the domain, just listing an entity will cause it to be done to
every sensor in that entity. An empty sensor entry will cause an operation to
be done on every sensor in every domain.
<control> - These come in the form
[<entity>[.name]]
These work exactly like sensors.
<mc> - A management controller. These come in the form
[<domain>[(<channel>.<IPMB>)]]
As usual, the parts left empty will cause defaulting to all things in the
previously specified parts.
<connection> - A connection number, in the form
[<domain>[.<integer>]]
The number is the connection number of the domain.
<pet> - A platform event trap id, in the form
[<domain>[.<integer>]]
The number is arbitrarily assigned by the system.
<lanparm> - A LAN parameter id, in the form
[<domain>[.<integer>]]
The number is arbitrarily assigned by the system.
<pef> - A PEF id, in the form
[<domain>[.<integer>]]
The number is arbitrarily assigned by the system.
<fru> - A FRU id, in the form
[<domain>[.<integer>]]
The number is arbitrarily assigned by the system.
In all cases, the object names have parts that are optional, and the entire
object name is optional. If a part is left empty, then all objects that are
part of the specified parts are operated on. For instance, if the system has a
sensor named d1(7.1).temp then specifying d1 would operation on
all sensors in the domain named d1. Specifying d1(7.1) Would
operation on all sensors in that entity. Specifying an empty name, either with
or by just entering nothing if the object is the last thing in the
command's parameters.
Note this optionality gives a lot of power, but can be very dangerous. Entering
domain close will close every domain, for instance.
In commands, every object operated on will generate a response for that object.
If no object is operated on, the command will produce an error.
OTHER PARAMETERS¶
The commands and displays use a variety of other parameters for specifying various IPMI things. <guid> - a 16-byte globally unique ID, all globbed together in one big hexadecimal thing. <threshold> is a threshold for a sensor; the value it must go over/under to generate an event. It is always displayed as one of lower non-critical lower critical lower non-recoverable upper non-critical upper critical upper non-recoverable. It may be entered as one of the above, or as ln, lc, lr, un, uc, ur as a short form. <threshold enable> is the enable for a threshold. It is like <threshold> above, but also has a going-high or going-low and an assertion or deassertion appended to the end of the name. The short form will have a l or h for going-low and going high and then a a or d appended for assertion and deassertion So for instance, urld is upper non-recoverable going-low deassertion. <discrete enable> is the enable or disable for a discrete sensor and is specified with the sensor offset. The long form is <integer> assertion or <integer> deassertion and the short form is <integer>[ad] where the number is the offset and [ad] means assertion or deassertion. <hot-swap state> is one of not_present, inactive activation_requested activation_in_progress active deactivation_requested deactivation_in_progress or out_of_con. <color> is one of black, white, red, green blue yellow or orange. <bool> is one of true, on, t, or 1 for true and one of false, off, f, or 0 for false. Output is always true or false.COMMANDS¶
The command language is hierarchical, meaning that commands may have subcommands, and subcommands may have subsubcommands, etc. So, for instance, the command to create a domain is domain new. The command to list all sensors in a domain named domain1 is sensor list domain1. Each command has a reponse for each object operated on, which is listed after the command description. In those responses, anything that begins with a % is optional. Entries of the form **name** refer to object info descriptions that are listed in the object info section. If an entry has two '.' indented one space below it, then that entry may occur zero or more times. Each section below defines the unique subcommands of a main command. Help for any command is available with: help command [subcommand [...]] - Help for any command. Some commands are common to almost all subcommands. These are: list <containing object> - List all objects of the specified type that are contained in the specified object. For instance, control list <entity> will list all controls in the given entity.- Response:
<containing object type> Name: <name> . .
- Response:
<object type> Name: <name> **object info**
domain¶
These commands deal with domain objects. new <domain> <options> <parms> [<parms>] - Open a connection to a new domain. <parms> are either:lan <IP> <port>
[<IP> <port>] <enc> <auth>
<name> <password>
for a RMCP LAN connection or
smi <smi num>
for a system interface connection. Note that <parms> is listed
twice (second one is optional); if the system support it you can make two
connections to two independent management controllers in the system. Note that
this is not for multiple IP addresses to the same BMC. For that, notice that
the LAN connection has an options extra IP and port for the second IP address.
OpenIPMI supports these IP addresses and connection, detecting failures,
switching between addresses, and other fault-tolerant things. It does this
transparently to the user. Mutiple connections may require special OEM
support, read the documentation about your specific system if you need this.
The <IP> is the IP address or host name of the LAN-capable BMC to
connect with. The <port> is generally 623. <enc> is
the authentication type, either md5, md2, straight, or
none. <auth> is the authentication level, either
admin, operator or user. <name> and
<password> are the user name and password of the IPMI user to use
for the connection. The <smi num> is the driver number, generally 0.
Options enable and disable various automitic processing and are:
-[no]all - all automatic handling. This will override the
other processing options and turn them all on. This is true by default.
-[no]sdrs - sdr fetching. This turns on fetching SDRs
when they are found. This is false by default.
-[no]frus - FRU fetching This turns on fetching FRU
information when it is found. This is false by default.
-[no]sel - SEL fetching. This turns on fetching SELs when
they are found. This is false by default.
-[no]ipmbscan - IPMB bus scanning. This turns on scanning
IPMB busses when they are found. This is false by default.
-[no]oeminit - enable or disable special OEM processing
(like ATCA).
-[no]seteventrcvr - setting event receivers. Note that
setting event receivers and waiting til up is not affected by the -all
option. If this is true (the default) then OpenIPMI will attempt to set the
event receiver for an MC it finds that does not have it set to a valid
destination.
-wait_til_up - wait until the domain is up before
returning Note that if you specify this and the domain never comes up, you
will never get a prompt. This is not affected by the -all option. By
default -all and -seteventrcvr are true, which turns everything on.
- Response:
Domain Created: <domain>
lan [-U <username>] [-P
<password>] [-A <authtype>]
[-L <privilege>] [-s] [-p[2] <port number>]
[-Ra <auth alg>] [-Ri <integ alg>] [-Rc <conf algo>]
[-Rl] [-Rk <bmc key>] [-H <hackname>]
[-M <max oustanding msgs>] <IP> [<IP>]
for a RMCP/RMCP+ LAN connection or
[-L <privilege>] [-s] [-p[2] <port number>]
[-Ra <auth alg>] [-Ri <integ alg>] [-Rc <conf algo>]
[-Rl] [-Rk <bmc key>] [-H <hackname>]
[-M <max oustanding msgs>] <IP> [<IP>]
smi <smi num>
for a system interface connection. Note that <parms> is listed
twice (second one is optional); if the system support it you can make two
connections to two independent management controllers in the system. Note that
this is not for multiple IP addresses to the same BMC. For that, use the -s
option and the second IP (and -p2) for the second IP address. OpenIPMI
supports these IP addresses and connections, detecting failures, switching
between addresses, and other fault-tolerant things. It does this transparently
to the user. Multiple connections may require special OEM support, read the
documentation about your specific system if you need this.
The <IP> is the IP address or host name of the LAN-capable BMC to
connect with. The <port> defaults 623. <authtype> is
the authentication type, either rmcp+, md5, md2,
straight, or none. It defaults to the best authentication
supported by the server. <auth> is the authentication level,
either admin, operator or user. It defaults to admin.
<username> and <password> are the user name and
password of the IPMI user to use for the connection. For RMCP+ connections,
the authentication algorithms supported (-Ra) are: bmcpick, rakp_none,
rakp_hmac_sha1, and rakp_hmac_md5. The integrity algorithms (-Ri) supported
are: bmcpick, none, hmac_sha1, hmac_md5, and md5. The confidentiality
algorithms (-Rc) are: bmcpick, aes_cbc_128, xrc4_128, and xrc_40. The defaults
are rackp_hmac_sha1, hmac_sha1, and aes_cb_128. -Rl turns on lookup up names
by the name and the privilege level (allowing the same name with different
privileges and different passwords), the default is straight name lookup. -Rk
sets the BMC key, needed if the system does two-key lookups.
For SMI types, the <smi num> is the driver number, generally 0.
The <hackname> enables certain hacks for broken platforms. This may
be listed multiple times to enable multiple hacks. The currently available
hacks are:
intelplus - For Intel platforms that have broken
RMCP+.
rakp3_wrong_rolem - For systems that truncate role(m) in
the RAKP3 msg.
rmcpp_integ_sik - For systems that use SIK instead of
K(1) for integrity.
The -M option sets the maximum outstanding messages. The default is 2, ranges
1-63.
Options enable and disable various automitic processing and are:
-[no]all - all automatic handling. This will override the
other processing options and turn them all on. This is true by default.
-[no]sdrs - sdr fetching. This turns on fetching SDRs
when they are found. This is false by default.
-[no]frus - FRU fetching This turns on fetching FRU
information when it is found. This is false by default.
-[no]sel - SEL fetching. This turns on fetching SELs when
they are found. This is false by default.
-[no]ipmbscan - IPMB bus scanning. This turns on scanning
IPMB busses when they are found. This is false by default.
-[no]oeminit - enable or disable special OEM processing
(like ATCA).
-[no]seteventrcvr - setting event receivers. Note that
setting event receivers is not affected by the -all option. If this is
true (the default) then OpenIPMI will attempt to set the event receiver for an
MC it finds that does not have it set to a valid destination.
-[no]setseltime - set SEL time. Note that setting the SEL time is not
affected by the -all option. If this is true (the default) then
OpenIPMI will attempt to set the time in the SELs it finds. It will set it to
the current system time.
-wait_til_up - wait until the domain is up before
returning Note that if you specify this and the domain never comes up, you
will never get a prompt. This is not affected by the -all option. By
default -all and -seteventrcvr are true, which turns everything on.
- Response:
Domain Created: <domain>
- Response:
Domain Name: <domain> FRU **FRU INFO**
- Response:
Domain: <domain> channel: <chan> ipmb: <ipmb> LUN: <lun> NetFN: <netfn> command: <cmd> Data: <data bytes>
- Response:
Scan done: <domain>
- Response:
SEL Rescan done: <domain>
- Response is:
Presence check started: <domain>
- Response:
Domain closed: <domain>
- Response:
Domain SEL rescan time set: <domain>
- Response:
Domain IPMB rescan time set: <domain>
fru¶
These commands deal with FRU objects. Note that FRU objects are allocated by the domain fru command, and are not allocated here. list - List all the frus in the system- Response:
Domain Name: <domain> FRUs Name: <fru> . . . .
- Response:
**FRU INFO**
- Response:
FRU Name: <fru> FRU Length: <integer> Area Name: <area name> Number: <integer> Offset: <integer> Length: <integer> Used Length: <Integer> . .
- Response:
FRU written: <fru>
- Response:
FRU deleted: <fru>
- Response:
FRU value set: <fru>
- Response:
FRU area offset set: <fru>
- Response:
FRU area length set: <fru>
- Response:
FRU area added: <fru>
- Response:
FRU area deleted: <fru>
entity¶
These commands deal with entity objects. list <entity> - List all the entities that meed the criteria- Response:
Domain Name: <domain> Entities Name: <entity> . . . .
- Reponse:
Entity Name: <entity> **ENTITY INFO** . .
- Reponse:
Entity Name: <entity> FRU **FRU INFO**
entity hs¶
These commands deal with hot-swap of entities. Note that there is no info or list command for this subcommand. get_act_time <entity> - Get the hot-swap auto-activate time.- Response:
Entity Name: <entity> Auto-Activation Time: <integer>
- Reponse:
Set act time: <entity>
Entity Name: <entity> Auto-Deactivation Time: <integer>
- Response:
Set deact time: <entity>
- Response:
Activation requested: <entity>
- Response:
Activated: <entity>
- Response:
Deactivated: <entity>
- Response:
Entity Name: <entity> State: <hot-swap state>
- Response:
Check started: <entity>
sensor¶
get <sensor> - Get the sensor's current reading.- Response:
Sensor Name: <sensor> Event Messages Enabled: <bool> Sensor Scanning Enabled: <bool> Initial Update In Progress: <bool>
%Value: <double> %Raw Value: <integer> Threshold Name: <threshold> Out Of Range: <bool>
Event Offset: <integer> %Name: <string name of event offset> Set: <bool>
- Response:
Rearm done: <sensor>
- Response:
Sensor Name: <sensor> Threshold Name: <threshold> Value: <double>
- Response:
Thresholds set: <sensor>
- Response:
Sensor Name: <sensor> Positivie Hysteresis: <integer> Negative Hysteresis: <integer>
- Response:
Hysteresis set: <sensor>
- Response:
Sensor Name: <sensor> Event Messages Enabled: <bool> Sensor Scanning Enabled: <bool> Busy: <bool>
Threshold Name: <threshold> Enabled: <bool> . .
Event Offset: <integer> Name: <event offset name for sensor> %Assertion Enabled: <bool> %Deassertion Enabled: <bool>
- Response:
Event enables set: <sensor>
- Response:
Event enables set: <sensor>
- Response:
Event enables set: <sensor>
control¶
Commands dealing with controls. set <control> <value> [<value> ..] - Set the value of a control. The settings depend on control type, most take one or more integer values depending on the number of physical things the control contains. An identifier type takes one or more unsigned characters. A light set with settings take the formlc|nolc <color> <on time> <off
time>
lc and nolc turn on or of local control, the over values should be
obvious. Note all lights support local control, you need to see if it supports
the value.
- Response:
Set done: <control>
- Response:
Control Name: <control>
Light Num: 0 Local Control: <bool> %Color: <color> %On Time: <integer> %Off Time: <integer>
Data: <byte1> <byte2> ...
Value Num: <integer> Value: <integer>
mc¶
Commands dealing with MC objects. reset <warm | cold> <mc> - Do a warm or cold reset on the given MC- Response:
Reset done: <mc>
- Response:
MC: <mc> LUN: <lun> NetFN: <netfn> command: <cmd> Data: <data bytes>
- Response:
Events enable done: <mc>
- Response:
Events Enable: <bool>
- Response:
MC Name: <mc> SDR Record ID: <integer> Type: <integer> Version: <integer>.<integer> Data: <data bytes>
- Response:
MC Name: <mc> SEL Time: <integer>
- Response:
MC SEL time set Name: <mc>
- Response:
SEL Rescan done: <mc>
- Response:
MC SEL rescan time set: <domain>
- Response:
MC Name: <mc> SEL Version: <integer>.<integer> SEL Count: <integer> SEL Slots Used: <integer> SEL Free Bytes: <integer> SEL Last Addition Timestamp: <integer> SEL overflow: <bool> SEL Supports Delete: <bool> SEL Supports Partial Add: <bool> SEL Supports Reserve: <bool> SEL Supports Get SEL Allocation: <bool>
- Response:
Channel Info MC: <mc> Number: <integer> Medium: <integer> Protocol Type: <integer> Session Support: session-less|single-session|multi-session|session-based Vendor ID: <data bytes> Aux Info: <data bytes>
- Response:
Channel Access MC: <mc> Channel: <integer> Type: non-volatile|present Alerting Enabled: <bool> Per-Message Auth: <bool> User Auth: <bool> Access Mode: disable|pre-boot|always|shared Privilege Limit: callback|user|operator|admin|oem
alert true|false msg_auth true|false user_auth true|false access_mode disabled|pre-boot|always|shared privilege_limit callback|user|operator|admin|oem
- Response:
Channel Access Set MC: <mc> Channel: <integer>
- Response:
Channel Access Set MC: <mc> Channel: <integer> Max User: <integer> Enabled Users: <integer> Fixed Users: <integer> User Number: <integer> *String Name: <string> *Binary Name: <data bytes> Link Auth Enabled: <bool> Msg Auth Enabled: <bool> Access CB Only: <bool> Privilege Limit: <integer> Session Limit: <integer> . .
link_enabled true|false msg_enabled true|false cb_only true|false privilege_limit callback|user|operator|admin|oem|no_access session_limit <integer> name <user name string> password <password string, <= 16 characters> password2 <password string, <= 20 characters> enable disable
- Response:
User Info Set: <mc>
sel¶
Commands dealing with the system event log. Note that there is no info command. list <domain> - The list command is unique in this object, so it is specified explicitly here. List the local copy of the system event log for the entire domain.- Response:
Domain Name: <domain> Entries: <integer> Slots in use: <integer> Event **EVENT INFO** . .
- Response:
MC Name: <mc> Entries: <integer> Slots in use: <integer> Event **EVENT INFO** . .
- Response:
Event deleted MC: <mc> Record: <integer>
- Response:
MC Name: <mc> Record ID: <integer>
- Response:
SEL Clear done: <domain>
con¶
Commands dealing with connections. activate <connection> - Activate the given connection- Response:
Connection activated: <connection>
pet¶
Commands dealing with platform event traps. new <domain> <connection> <channel> <ip addr> <mac_addr> <eft selector> <policy num> <apt selector> <lan dest selector> - Set up the domain to send PET traps from the given connection to the given IP/MAC address over the given channel.- Response:
PET Created: <pet>
- Response:
PET Created: <pet>
- Response:
PET destroyed: <pet>
pef¶
commands dealing with platform even filters. These are basically connections to the PEF configuration parameters in an MC. You use a pef to fetch a pef config, which you can then modify and write back to the MC. Note that when you get a pef config, you claim a lock on the MC that must be unlocked. new <mc> - Create a pef for the given MC.- Response:
PEF: <pef>
- Response:
PEF unlocked: <mc>
- Response:
PEF destroyed: <pef>
pef config¶
Commands dealing with PEF configurations. These are the actual PEF data items. get <pef> - Fetch the pef data items from the pef and create a pef config.- Response:
PEF Config Name: <pef config> **PEF CONFIG**
- Response:
PEF config updated: <pef config>
- Response:
PEF config set: <pef config>
- Response:
PEF config unlocked: <pef config>
- Response:
PEF config destroyed: <pef config>
lanparm¶
Commands dealing with lanparms. These are basically connections to the LAN configuration parameters in an MC. You use a lanparm to fetch a lanparm config, which you can then modify and write back to the MC. Note that when you get a lanparm config, you claim a lock on the MC that must be unlocked. new <mc> <channel> - Create a lanparm for the given MC and channel.- Response:
LANPARM: <lanparm>
- Response:
LANPARM unlocked: <mc>
- Response:
LANPARM destroyed: <lanparm>
lanparm config¶
Commands dealing with lanparm configurations. These are the actual lanparm data items. get <lanparm> - Fetch the lanparm data items from the lanparm and create a lanparm config.- Response:
LANPARM Config Name: <lanparm config> **LANPARM CONFIG**
- Response:
LANPARM config set: <lanparm config>
- Response:
LANPARM config unlocked: <lanparm config>
- Response:
LANPARM config destroyed: <lanparm config>
OTHER COMMANDS¶
A few general commands exist. evinfo <bool> - Turn on or off dumping object information when an event comes in. This is false by default. debug <type> <bool> - Turn the given debugging type on or offEVENTS¶
The command language will output events to the console when they happen. Events all occur in the format:Event **EVENT INFO**
EVENT Object Type: Domain Name: <domain> Operation: Domain fully up Connection Number: <integer> Port Number: <integer> Any Connection Up: <bool> Error: <integer>
EVENT Object Type: Domain Name: <domain> Operation: Connection Change
EVENT Object Type: Domain Name: <domain> Operation: Add %**DOMAIN INFO**
EVENT Object Type: Domain Name: <domain> Operation: Delete
EVENT Object Type: Event **EVENT INFO**
EVENT Object Type: Entity Name: <entity> Operation: Add %**ENTITY INFO**
EVENT Object Type: Entity Name: <entity> Operation: Delete
EVENT Object Type: Entity Name: <entity> Operation: Change %**ENTITY INFO**
EVENT Object Type: Entity FRU Name: <entity> Operation: Add %**FRU INFO**
EVENT Object Type: Entity FRU Name: <entity> Operation: Delete
EVENT Object Type: Entity FRU Name: <entity> Operation: Change %**FRU INFO**
EVENT Object Type: Entity Name: <entity> Operation: Presence Change Present: <bool> %Event **EVENT INFO**
EVENT Object Type: Entity Name: <entity> Operation: Hot-Swap Change Last State: <hot-swap state> State: <hot-swap state> %Event **EVENT INFO**
EVENT Object Type: MC Name: <mc> Operation: Add %**MC INFO**
EVENT Object Type: MC Name: <mc> Operation: Delete
EVENT Object Type: MC Name: <mc> Operation: Change %**MC INFO**
EVENT Object Type: MC Name: <mc> Operation: Active Changed Active: <bool>
EVENT Object Type: Sensor Name: <sensor> Operation: Event Offset: <integer> Direction: assertion | deassertion Severity: <integer> Previous Severity: <integer> %Event **EVENT INFO**
EVENT Object Type: Sensor Name: <sensor> Operation: Event Threshold: <threshold> High/Low: going-high | going-low Direction: assertion | deassertion %Value: <double> %Raw Value: <integer> %Event **EVENT INFO**
EVENT Object Type: Sensor Name: <sensor> Operation: Add %**SENSOR INFO**
EVENT Object Type: Sensor Name: <sensor> Operation: Delete
EVENT Object Type: Sensor Name: <sensor> Operation: Change %**SENSOR INFO**
EVENT Object Type: Control Name: <control> Operation: Event Value Number: <integer> Value: <integer> %Event **EVENT INFO**
EVENT Object Type: Control Name: <control> Operation: Add %**CONTROL INFO**
EVENT Object Type: Control Name: <control> Operation: Delete
EVENT Object Type: Control Name: <control> Operation: Change %**CONTROL INFO**
OBJECT INFO¶
Many of the command responses and events contain information about an objects. The definitions of this information output is done here.**EVENT INFO**¶
MC: <mc> Record ID: <integer> Event type: <integer> Timestamp: <integer> Data: <data bytes>
**DOMAIN INFO**¶
Type: <domain type> GUID: <hex string> SEL Rescan Time: <time> IPMB Rescan Time: <time>
**ENTITY INFO**¶
Type: unknown | mc | fru | generic Present: <bool> Presence sensor always there: <bool> Hot swappable: <bool> %Supports managed hot swap: <bool> %Parents Name: <entity> Name: <entity> . . %Children Name: <entity> Name: <entity> . . %Physical Slot: <integer> %Id: <string> Entity ID String: <string>
Channel: <channel> LUN: <lun> OEM: <oem field from SDR> Slave Address: <ipmb> ACPI_system_power_notify_required: <bool> ACPI_device_power_notify_required: <bool> controller_logs_init_agent_errors: <bool> log_init_agent_errors_accessing: <bool> global_init: <bool> chassis_device: <bool> bridge: <bool> IPMB_event_generator: <bool> IPMB_event_receiver: <bool> FRU_inventory_device: <bool> SEL_device: <bool> SDR_repository_device: <bool> sensor_device: <bool>
Channel: <channel> LUN: <lun> OEM: <oem field from SDR> Slave Address: <ipmb> access_address: <ipmb> private_bus_id: <integer> device_type: <integer> device_modifier: <integer> is_logical_fru: <bool> fru_device_id: <integer>
Channel: <channel> LUN: <lun> OEM: <oem field from SDR> access_address: <ipmb> private_bus_id: <integer> device_type: <integer> device_modifier: <integer> slave_address: <ipmb> address_span: <integer>
**MC INFO**¶
Active: <bool> GUID: <hex string> SEL Rescan Time: <integer> provides_device_sdrs: <bool> device_available: <bool> chassis_support: <bool> bridge_support: <bool> ipmb_event_generator: <bool> ipmb_event_receiver: <bool> fru_inventory_support: <bool> sel_device_support: <bool> sdr_repository_support: <bool> sensor_device_support: <bool> device_id: <ipmb> device_revision: <integer> fw_revision: <integer>.<integer> version: <integer>.<integer> manufacturer_id: <integer> product_id: <integer> aux_fw_revision: <integer> <integer> <integer> <integer>
*SENSOR INFO**¶
LUN: <integer> Number: <integer> Event Reading Type: <integer> Event Reading Type Name: one of: unspecified threshold discrete_usage discrete_state discrete_predictive_failure discrete_limit_exceeded discrete_performance_met discrete_severity discrete_device_presense discrete_device_enable discrete_availability discrete_redundancy discrete_acpi_power Type: <integer> Type Name: <sensor type (a generic string)> %Direction: input | output %Event Support: per state | entire sensor | global Init Scanning: <bool> Init Events: <bool> Init Thresholds: <bool> Init Hysteresis: <bool> Init Type: <bool> Init Power Up Events: <bool> Init Power Up Scanning: <bool> Ignore If No Entity: <bool> Auto Rearm: <bool> OEM1: <integer> Id: <string>
Threshold Access: none | readable | settable | fixed Threshold Name: <threshold> Readable: <bool> Settable: <bool> Supports: going high assertion | going low assertion | going high deassertion | going low deassertion . . Hysteresis Support: none | readable | settable | fixed %Nominal Reading: <float> %Normal Max: <float> %Normal Min: <float> %Sensor Max: <float> %Sensor Min: <float> Base Unit: <integer> Base Unit Name: <string> %Rate Unit: <integer> %Rate Unit Name: <string> %Modifier Use: / | * %Modifier Unit: <integer> %Modifier Unit Name: <string>
Event Offset: <integer> Supports: assertion | deassertion . .
**CONTROL INFO**¶
Type: <control type> Generates Events: <bool> Settable: <bool> Readable: <bool> Num Values: <integer> Id: <string>
Set with: settings Local Control: <bool> Color: <color> . .
Light Number: <integer> Num Values: <integer> Value Number: <integer> Num Transitions: <integer> Transition Number: <integer> Color: <color> Time: <integer> . . . .
Max Length: <integer>
**FRU INFO**¶
Name: <fru> record Name: <name> Type: binary | ascii | unicode | integer %Number: <integer> Data: data depending on type . . Multi-record Number: <integer> Type: binary | ascii | unicode Data: <data in the above format> . .
**LANPARM CONFIG**¶
support_auth_oem: <bool> support_auth_straight: <bool> support_auth_md5: <bool> support_auth_md2: <bool> support_auth_none: <bool> ip_addr_source: <integer> num_alert_destinations: <integer> %ipv4_ttl: <integer> %ipv4_flags: <integer> %ipv4_precedence: <integer> %ipv4_tos: <integer> %ip_addr: <ip addr> %mac_addr: <mac addr> %subnet_mask: <ip addr> %primary_rmcp_port <integer> %secondary_rmcp_port <integer> %bmc_generated_arps: <bool> %bmc_generated_garps: <bool> %garp_interval: <integer> %default_gateway_ip_addr: <ip addr> %default_gateway_mac_addr: <mac addr> %backup_gateway_ip_addr: <ip addr> %backup_gateway_mac_addr: <mac addr> community_string: <string> User Name: callback enable_auth_oem: <bool> enable_auth_straight: <bool> enable_auth_md5: <bool> enable_auth_md2: <bool> enable_auth_none: <bool> User Name: user enable_auth_oem: <bool> enable_auth_straight: <bool> enable_auth_md5: <bool> enable_auth_md2: <bool> enable_auth_none: <bool> User Name: operator enable_auth_oem: <bool> enable_auth_straight: <bool> enable_auth_md5: <bool> enable_auth_md2: <bool> enable_auth_none: <bool> User Name: admin enable_auth_oem: <bool> enable_auth_straight: <bool> enable_auth_md5: <bool> enable_auth_md2: <bool> enable_auth_none: <bool> User Name: oem enable_auth_oem: <bool> enable_auth_straight: <bool> enable_auth_md5: <bool> enable_auth_md2: <bool> enable_auth_none: <bool> Alert Destination Number: <integer> alert_ack: <bool> dest_type: <integer> alert_retry_interval: <integer> max_alert_retries: <integer> dest_format: <integer> gw_to_use: <integer> dest_ip_addr: <ip addr> dest_mac_addr: <mac addr> . .
**PEF CONFIG**¶
alert_startup_delay_enabled: <bool> startup_delay_enabled: <bool> event_messages_enabled: <bool> pef_enabled: <bool> diagnostic_interrupt_enabled: <bool> oem_action_enabled: <bool> power_cycle_enabled: <bool> reset_enabled: <bool> power_down_enabled: <bool> alert_enabled: <bool> %startup_delay: <integer> %alert_startup_delay: <integer> guid_enabled: <bool> guid_val: <guid> num_event_filters: <integer> num_alert_policies: <integer> num_alert_strings: <integer> Event Filter Number: <integer> enable_filter: <bool> filter_type: <integer> diagnostic_interrupt: <bool> oem_action: <bool> power_cycle: <bool> reset: <bool> power_down: <bool> alert: <bool> alert_policy_number: <integer> event_severity: <integer> generator_id_addr: <integer> generator_id_channel_lun: <integer> sensor_type: <integer> sensor_number: <integer> event_trigger: <integer> data1_offset_mask: <integer> data1_mask: <integer> data1_compare1: <integer> data1_compare2: <integer> data2_mask: <integer> data2_compare1: <integer> data2_compare2: <integer> data3_mask: <integer> data3_compare1: <integer> data3_compare2: <integer> . . Alert Policy Number: <integer> policy_num: <integer> enabled: <bool> policy: <integer> channel: <integer> destination_selector: <integer> alert_string_event_specific: <bool> alert_string_selector: <integer> . . Alert String event_filter: <integer> alert_string_set: <integer> alert_string: <string> . .
**CONNECTION INFO**¶
Active: <bool> Up: <bool> Port Number: <integer> Info: <info string> Up: <bool> . .
**PEF INFO**¶
MC: <mc>
**PET INFO**¶
MC: <mc> Channel: <channel> IP Address: <ip address> MAC Address: <mac address> EFT Selector: <eft selector> Policy Number: <policy number> APT Selector: <apt selector> LAN Dest Selector: <lan dest selector>
**LANPARM INFO**¶
MC: <mc> Channel: <integer>
SEE ALSO¶
ipmish(1)KNOWN PROBLEMS¶
NoneAUTHOR¶
Corey Minyard <cminyard@mvista.org>05/13/03 | OpenIPMI |