1ipmi_cmdlang(7)        Shell interface to an IPMI system       ipmi_cmdlang(7)
2
3
4

NAME

6       ipmi_cmdlang - A command language interface to the IPMI library
7
8

DESCRIPTION

10       ipmi_cmdlang is a command language designed to supply the full power of
11       OpenIPMI on a command line.  It has a  large  number  of  commands  and
12       well-formed  responses  to  each  command.  Note that this assumes some
13       knowledge of OpenIPMI and how it works; you can get that from the  IPMI
14       document that comes with OpenIPMI.
15
16       ipmish  starts  up with no connections or anything of that nature.  You
17       must enter commands to make connections to domains.  Then you can enter
18       commands to manipulate those domains or objects inside those domains.
19
20       Note  that you may use quotes, either '' or  to contain parameters with
21       spaces.
22
23

COMMENTS

25       Lines with a # character in the first column are ignored.
26
27

OBJECTS

29       In the command language, you will deal with various objects  like  sen‐
30       sors,  controls, domains, and entities.  Each of these has a name.  The
31       name of the domain is assigned by the user in the domain  new  command,
32       all  the  other  names  are based on the domain name of the domain they
33       belong to and various attributes about the object.  These names are all
34       well-formed.  They are
35
36       <domain>  - A name of a domain.  Each registered domain in a system has
37       a name assigned by the user.
38
39       <entity> - Entity names are in the form:
40              [<domain>[(<entity spec>)]]
41       Notice that the <entity spec> is optional.  If it is not  listed,  then
42       the  operation  is done on all entities in the domain.  The whole thing
43       is optional, too, if nothing is given then the  operation  is  done  on
44       every entity in every domain.
45
46       The <entity spec> is either
47              <entity id>.<entity instance>
48       for system-relative entities, or:
49              r<channel>.<IPMB>.<entity id>.<entity instance-0x60>
50       for   device-relative   entities.    In  IPMI,  device-relative  entity
51       instances always start at 0x60; the  specification  suggests  that  you
52       subtract  off  the 0x60 from the entity instance when displaying these;
53       the command language follows this suggestion.
54
55       <sensor> -  These come in the form
56              [<entity>[.name]]
57       As with entities, only listing a domain will cause the operation to  be
58       done  on  every sensor in the domain, just listing an entity will cause
59       it to be done to every sensor in that entity.  An  empty  sensor  entry
60       will cause an operation to be done on every sensor in every domain.
61
62       <control> - These come in the form
63              [<entity>[.name]]
64       These work exactly like sensors.
65
66       <mc> - A management controller.  These come in the form
67              [<domain>[(<channel>.<IPMB>)]]
68       As  usual,  the parts left empty will cause defaulting to all things in
69       the previously specified parts.
70
71       <connection> - A connection number, in the form
72              [<domain>[.<integer>]]
73       The number is the connection number of the domain.
74
75       <pet> - A platform event trap id, in the form
76              [<domain>[.<integer>]]
77       The number is arbitrarily assigned by the system.
78
79       <lanparm> - A LAN parameter id, in the form
80              [<domain>[.<integer>]]
81       The number is arbitrarily assigned by the system.
82
83       <pef> - A PEF id, in the form
84              [<domain>[.<integer>]]
85       The number is arbitrarily assigned by the system.
86
87       <fru> - A FRU id, in the form
88              [<domain>[.<integer>]]
89       The number is arbitrarily assigned by the system.
90
91       In all cases, the object names have parts that are  optional,  and  the
92       entire  object  name  is  optional.   If a part is left empty, then all
93       objects that are part of the specified  parts  are  operated  on.   For
94       instance, if the system has a sensor named d1(7.1).temp then specifying
95       d1 would operation on all sensors in the domain named  d1.   Specifying
96       d1(7.1)  Would  operation on all sensors in that entity.  Specifying an
97       empty name, either with  or by just entering nothing if the  object  is
98       the last thing in the command's parameters.
99
100       Note  this optionality gives a lot of power, but can be very dangerous.
101       Entering domain close will close every domain, for instance.
102
103       In commands, every object operated on will generate a response for that
104       object.   If  no  object  is  operated  on, the command will produce an
105       error.
106
107

OTHER PARAMETERS

109       The commands and displays use a variety of other parameters for  speci‐
110       fying various IPMI things.
111
112       <guid>  - a 16-byte globally unique ID, all globbed together in one big
113       hexadecimal thing.
114
115       <threshold> is  a  threshold  for  a  sensor;  the  value  it  must  go
116       over/under  to  generate  an  event.   It is always displayed as one of
117       lower non-critical lower critical lower non-recoverable upper non-crit‐
118       ical upper critical upper non-recoverable.  It may be entered as one of
119       the above, or as ln, lc, lr, un, uc, ur as a short form.
120
121       <threshold enable> is the enable for a threshold.  It is like  <thresh‐
122       old>  above, but also has a going-high or going-low and an assertion or
123       deassertion appended to the end of the name.  The short form will  have
124       a  l  or  h for going-low and going high and then a a or d appended for
125       assertion and deassertion  So for instance, urld is upper  non-recover‐
126       able going-low deassertion.
127
128       <discrete enable> is the enable or disable for a discrete sensor and is
129       specified with the sensor offset.  The long form is <integer> assertion
130       or  <integer> deassertion and the short form is <integer>[ad] where the
131       number is the offset and [ad] means assertion or deassertion.
132
133       <hot-swap state> is one of not_present,  inactive  activation_requested
134       activation_in_progress    active    deactivation_requested    deactiva‐
135       tion_in_progress or out_of_con.
136
137       <color> is one of black, white, red, green blue yellow or orange.
138
139       <bool> is one of true, on, t, or 1 for true and one of false,  off,  f,
140       or 0 for false.  Output is always true or false.
141
142

COMMANDS

144       The  command  language  is hierarchical, meaning that commands may have
145       subcommands, and subcommands may have  subsubcommands,  etc.   So,  for
146       instance, the command to create a domain is domain new.  The command to
147       list all sensors in a domain named domain1 is sensor list domain1.
148
149       Each command has a reponse for each object operated on, which is listed
150       after  the  command  description.   In  those  responses, anything that
151       begins with a % is optional.  Entries of the  form  **name**  refer  to
152       object  info  descriptions  that are listed in the object info section.
153       If an entry has two '.' indented one space below it,  then  that  entry
154       may occur zero or more times.
155
156       Each section below defines the unique subcommands of a main command.
157
158       Help for any command is available with:
159
160       help command [subcommand [...]]  - Help for any command.
161
162       Some commands are common to almost all subcommands.  These are:
163
164       list  <containing object> - List all objects of the specified type that
165       are contained in the specified  object.   For  instance,  control  list
166       <entity> will list all controls in the given entity.
167
168       Response:
169              <containing object type>
170                Name: <name>
171                 .
172                 .
173
174
175       info <object> - List static information about the given object.
176
177       Response:
178              <object type>
179                Name: <name>
180                **object info**
181
182
183   domain
184       These commands deal with domain objects.
185
186       new  <domain>  <options> <parms> [<parms>] - Open a connection to a new
187       domain.  <parms> are either:
188              lan <IP> <port> [<IP> <port>] <enc> <auth> <name> <password>
189       for a RMCP LAN connection or
190              smi <smi num>
191       for a system interface connection.  Note that <parms> is  listed  twice
192       (second  one  is  optional);  if the system support it you can make two
193       connections to two independent management controllers  in  the  system.
194       Note  that  this is not for multiple IP addresses to the same BMC.  For
195       that, notice that the LAN connection has an options extra IP  and  port
196       for  the  second  IP address.  OpenIPMI supports these IP addresses and
197       connection, detecting failures, switching between addresses, and  other
198       fault-tolerant  things.  It does this transparently to the user.  Muti‐
199       ple connections may require special OEM support, read the documentation
200       about your specific system if you need this.
201
202       The  <IP> is the IP address or host name of the LAN-capable BMC to con‐
203       nect with.  The <port> is generally 623.  <enc> is  the  authentication
204       type, either md5, md2, straight, or none.  <auth> is the authentication
205       level, either admin, operator or user.  <name> and <password>  are  the
206       user name and password of the IPMI user to use for the connection.  The
207       <smi num> is the driver number, generally 0.  Options enable  and  dis‐
208       able various automitic processing and are:
209       -[no]all  -  all automatic handling.  This will override the other pro‐
210              cessing options and turn them all on.  This is true by default.
211       -[no]sdrs - sdr fetching.  This turns on fetching SDRs  when  they  are
212              found.  This is false by default.
213       -[no]frus  -  FRU fetching  This turns on fetching FRU information when
214              it is found.  This is false by default.
215       -[no]sel - SEL fetching.    This turns on fetching SELs when  they  are
216              found.  This is false by default.
217       -[no]ipmbscan  - IPMB bus scanning.  This turns on scanning IPMB busses
218              when they are found.  This is false by default.
219       -[no]oeminit - enable or disable special OEM processing (like ATCA).
220       -[no]seteventrcvr - setting event receivers.  Note that  setting  event
221              receivers and waiting til up is not affected by the -all option.
222              If this is true (the default) then OpenIPMI will attempt to  set
223              the  event receiver for an MC it finds that does not have it set
224              to a valid destination.
225       -wait_til_up - wait until the domain is up before returning  Note  that
226              if  you  specify  this  and  the domain never comes up, you will
227              never get a prompt.  This is not affected by  the  -all  option.
228              By  default  -all and -seteventrcvr are true, which turns every‐
229              thing on.
230
231       Response:
232              Domain Created: <domain>
233
234       open <domain> <options> <parms> [<parms>] - Open a connection to a  new
235       domain.  <parms> are either:
236              lan [-U <username>] [-P <password>] [-A <authtype>]
237                [-L <privilege>] [-s] [-p[2] <port number>]
238                [-Ra <auth alg>] [-Ri <integ alg>] [-Rc <conf algo>]
239                [-Rl] [-Rk <bmc key>] [-H <hackname>]
240                [-M <max oustanding msgs>] <IP> [<IP>]
241       for a RMCP/RMCP+ LAN connection or
242              smi <smi num>
243       for  a  system interface connection.  Note that <parms> is listed twice
244       (second one is optional); if the system support it  you  can  make  two
245       connections  to  two  independent management controllers in the system.
246       Note that this is not for multiple IP addresses to the same  BMC.   For
247       that,  use  the -s option and the second IP (and -p2) for the second IP
248       address.  OpenIPMI supports these IP addresses and connections, detect‐
249       ing  failures,  switching  between  addresses, and other fault-tolerant
250       things.  It does this transparently to the user.  Multiple  connections
251       may require special OEM support, read the documentation about your spe‐
252       cific system if you need this.
253
254       The <IP> is the IP address or host name of the LAN-capable BMC to  con‐
255       nect  with.  The <port> defaults 623.  <authtype> is the authentication
256       type, either rmcp+, md5, md2, straight, or none.  It  defaults  to  the
257       best authentication supported by the server.  <auth> is the authentica‐
258       tion level, either admin, operator or  user.   It  defaults  to  admin.
259       <username>  and  <password>  are the user name and password of the IPMI
260       user to use for the connection.  For RMCP+ connections, the authentica‐
261       tion    algorithms    supported    (-Ra)   are:   bmcpick,   rakp_none,
262       rakp_hmac_sha1, and rakp_hmac_md5.  The integrity algorithms (-Ri) sup‐
263       ported are: bmcpick, none, hmac_sha1, hmac_md5, and md5.  The confiden‐
264       tiality algorithms  (-Rc)  are:  bmcpick,  aes_cbc_128,  xrc4_128,  and
265       xrc_40.   The  defaults are rackp_hmac_sha1, hmac_sha1, and aes_cb_128.
266       -Rl turns on lookup up names  by  the  name  and  the  privilege  level
267       (allowing  the  same name with different privileges and different pass‐
268       words), the default is straight name lookup.  -Rk  sets  the  BMC  key,
269       needed if the system does two-key lookups.
270
271       For SMI types, the <smi num> is the driver number, generally 0.
272
273       The <hackname> enables certain hacks for broken platforms.  This may be
274       listed multiple times to enable multiple hacks.  The  currently  avail‐
275       able hacks are:
276       intelplus - For Intel platforms that have broken RMCP+.
277       rakp3_wrong_rolem - For systems that truncate role(m) in the RAKP3 msg.
278       rmcpp_integ_sik  -  For  systems  that  use  SIK  instead  of  K(1) for
279              integrity.
280
281              The -M  option  sets  the  maximum  outstanding  messages.   The
282              default is 2, ranges 1-63.
283
284              Options enable and disable various automitic processing and are:
285       -[no]all  -  all automatic handling.  This will override the other pro‐
286              cessing options and turn them all on.  This is true by default.
287       -[no]sdrs - sdr fetching.  This turns on fetching SDRs  when  they  are
288              found.  This is false by default.
289       -[no]frus  -  FRU fetching  This turns on fetching FRU information when
290              it is found.  This is false by default.
291       -[no]sel - SEL fetching.    This turns on fetching SELs when  they  are
292              found.  This is false by default.
293       -[no]ipmbscan  - IPMB bus scanning.  This turns on scanning IPMB busses
294              when they are found.  This is false by default.
295       -[no]oeminit - enable or disable special OEM processing (like ATCA).
296       -[no]seteventrcvr - setting event receivers.  Note that  setting  event
297              receivers  is  not affected by the -all option.  If this is true
298              (the default) then  OpenIPMI  will  attempt  to  set  the  event
299              receiver for an MC it finds that does not have it set to a valid
300              destination.  -[no]setseltime - set SEL time.  Note that setting
301              the  SEL  time  is  not affected by the -all option.  If this is
302              true (the default) then OpenIPMI will attempt to set the time in
303              the SELs it finds.  It will set it to the current system time.
304       -wait_til_up  -  wait until the domain is up before returning Note that
305              if you specify this and the domain  never  comes  up,  you  will
306              never  get  a  prompt.  This is not affected by the -all option.
307              By default -all and -seteventrcvr are true, which  turns  every‐
308              thing on.
309
310       Response:
311              Domain Created: <domain>
312
313       fru  <domain>  <is_logical>  <device_address>  <device_id>  <lun> <pri‐
314       vate_bus> <channel> - dump a fru given all it's insundry information.
315
316       Response:
317              Domain
318                Name: <domain>
319                FRU
320                  **FRU INFO**
321
322       msg <domain> <channel> <ipmb> <LUN> <NetFN> <Cmd> [data...]  -  Send  a
323       command  to the given IPMB address on the given channel and display the
324       response.  Note that this does not require the existance of  an  MC  in
325       OpenIPMI.
326
327       Response:
328                Domain: <domain>
329                channel: <chan>
330                ipmb: <ipmb>
331                LUN: <lun>
332                NetFN: <netfn>
333                command: <cmd>
334                Data: <data bytes>
335
336       scan  <domain>  <ipmb addr> [ipmb addr] - scan an IPMB to add or remove
337       it.  If a range is given, then scan all IPMBs in the range.
338
339       Response:
340              Scan done: <domain>
341
342       rescan_sels <domain> - Rescan all the SELs in the domain.
343
344       Response:
345              SEL Rescan done: <domain>
346
347       presence <domain> - Audit the presence of all enities  in  the  domain.
348       Note that this just starts the process; it will run in the background.
349
350       Response is:
351              Presence check started: <domain>
352
353       close <domain> - close the given domain.
354
355       Response:
356              Domain closed: <domain>
357
358       sel_rescan_time  <domain>  <time in seconds> - Set the time between SEL
359       rescans for all.  It affects all current SELs and SELs that are discov‐
360       ered in the future.  Zero disables scans.
361
362       Response:
363              Domain SEL rescan time set: <domain>
364
365       ipmb_rescan_time <domain> <time in seconds> - Set the time between IPMB
366       rescans for this domain.  zero disables scans.
367
368       Response:
369              Domain IPMB rescan time set: <domain>
370
371
372   fru
373       These commands deal with FRU objects.  Note that FRU objects are  allo‐
374       cated by the domain fru command, and are not allocated here.
375
376       list - List all the frus in the system
377
378       Response:
379              Domain
380                Name: <domain>
381                FRUs
382                  Name: <fru>
383                 .
384                 .
385               .
386               .
387
388       info <fru> - Dump information about a FRU
389
390       Response:
391              **FRU INFO**
392
393       areainfo <fru> - Dump the info about the FRU's areas
394
395       Response:
396              FRU
397                Name: <fru>
398                FRU Length: <integer>
399                Area
400                  Name: <area name>
401                  Number: <integer>
402                  Offset: <integer>
403                  Length: <integer>
404                  Used Length: <Integer>
405                 .
406                 .
407
408       write <fru> - Write the local FRU data out into the FRU
409
410       Response:
411              FRU written: <fru>
412
413       close <fru> - Delete the FRU
414
415       Response:
416              FRU deleted: <fru>
417
418       setval  <fru> <name> [num] value - Set the value of a FRU element.  The
419       name is the record name, or multi-record.  The number is  required  for
420       fields  that need it (custom and multi-record).  The value is an a sin‐
421       gle value for integers.  For  strings  it  is  a  string  type  (either
422       binary,  ascii,  or  unicode) and the info.  Binary and unicode data is
423       specified as numbers.  ascii data is specified in a string.  Note  that
424       setting a ascii value with no string will clear the value.  Zero length
425       strings and data is valid.
426
427       Response:
428              FRU value set: <fru>
429
430       area_offset <fru> <area name> <offset> - Set the offset  of  the  given
431       area  to  the given value.  Area names are internal_data, chassis_info,
432       board_info, product_info, and multi_record.
433
434       Response:
435              FRU area offset set: <fru>
436
437       area_length <fru> <area name> <length> - Set the length  of  the  given
438       area  to  the  given value.  Area names are internal_data, chassis_info
439       board_info, product_info, and multi_record
440
441       Response:
442              FRU area length set: <fru>
443
444       area_add <fru> <area name> <offset> <length> - Add the  given  area  to
445       the FRU.
446
447       Response:
448              FRU area added: <fru>
449
450       area_delete <fru> <area name> - Delete the given area from the FRU
451
452       Response:
453              FRU area deleted: <fru>
454
455
456
457   entity
458       These commands deal with entity objects.
459
460       list <entity> - List all the entities that meed the criteria
461
462       Response:
463              Domain
464                Name: <domain>
465                Entities
466                  Name: <entity>
467                   .
468                   .
469               .
470               .
471
472       info <entity> - Dump information about an entity.
473
474       Reponse:
475              Entity
476                Name: <entity>
477                **ENTITY INFO**
478               .
479               .
480
481       fru <entity> - Dump the FRU information about the given entity.
482
483       Reponse:
484              Entity
485                Name: <entity>
486                FRU
487                  **FRU INFO**
488
489
490   entity hs
491       These  commands  deal with hot-swap of entities.  Note that there is no
492       info or list command for this subcommand.
493
494       get_act_time <entity> - Get the hot-swap auto-activate time.
495
496       Response:
497              Entity
498                Name: <entity>
499                  Auto-Activation Time: <integer>
500
501       set_act_time <entity> - Set the hot-swap auto-activate time.
502
503       Reponse:
504              Set act time: <entity>
505
506       get_deact_time  <entity>  -  Get  the  hot-swap  auto-deactivate   time
507       Response:
508              Entity
509                Name: <entity>
510                   Auto-Deactivation Time: <integer>
511
512       set_deact_time <entity> - Set the hot-swap auto-deactivate time
513
514       Response:
515              Set deact time: <entity>
516
517       activation_request  <entity>  - Act like a user requested an activation
518       of the entity.  This is generally  equivalent  to  closing  the  handle
519       latch or something like that.
520
521       Response:
522              Activation requested: <entity>
523
524       activate <entity> - activate the given entity
525
526       Response:
527              Activated: <entity>
528
529       deactivate <entity> - deactivate the given entity
530
531       Response:
532              Deactivated: <entity>
533
534       state <entity> - Return the current hot-swap state of the given entity.
535
536       Response:
537              Entity
538                Name: <entity>
539                  State: <hot-swap state>
540
541       check <entity> - Audit the entity's hot-swap state
542
543       Response:
544              Check started: <entity>
545
546
547   sensor
548       get <sensor> - Get the sensor's current reading.
549
550       Response:
551              Sensor
552                Name: <sensor>
553                Event Messages Enabled: <bool>
554                Sensor Scanning Enabled: <bool>
555                Initial Update In Progress: <bool>
556       For threshold sensors, the following will be output:
557              %Value: <double>
558              %Raw Value: <integer>
559              Threshold
560                Name: <threshold>
561                Out Of Range: <bool>
562       For discrete sensors, the following will be output:
563              Event
564                Offset: <integer>
565                %Name: <string name of event offset>
566                Set: <bool>
567       The name field may be custom and is not explicitly specified.
568
569       rearm  <sensor>  global  | <threshold enable> [<threshold enable> ..] |
570       <discrete enable> [<discrete enable>  ..]   -  Rearm  the  sensor.   If
571       global  is  specified, then rearm all events in the sensor.  Otherwise,
572       if it is a threshold sensor, then put in a list of  threshold  enables.
573       If it is a discrete sensor, then put in a list of discrete enables.
574
575       Response:
576              Rearm done: <sensor>
577
578       get_thresholds <sensor> - Get the sensor's thresholds
579
580       Response:
581              Sensor
582                Name: <sensor>
583                Threshold
584                  Name: <threshold>
585                  Value: <double>
586
587       set_thresholds  <sensor>  <threshold>  <value>  ...  - Set the sensor's
588       thresholds to the given values.  If a threshold is  not  specified,  it
589       will  not  be  modified.  Thresholds are un, uc, ur, lr, lc, ln.  The u
590       stands for upper, l for lower, n for non-critical, c for critical,  and
591       r for non-recoverable.  The value is floating point.
592
593       Response:
594              Thresholds set: <sensor>
595
596       get_hysteresis <sensor> - Get the sensor's hysteresis values
597
598       Response:
599              Sensor
600                Name: <sensor>
601                Positivie Hysteresis: <integer>
602                Negative Hysteresis: <integer>
603
604       set_hysteresis  <sensor>  <pos hyst> <neg hyst> - Set the sensor's hys‐
605       teresis to the given values.  These are raw integer value; hystersis is
606       specified  as  a raw value and it cannot be converted to floating point
607       because the function may be non-linear.
608
609       Response:
610              Hysteresis set: <sensor>
611
612       get_event_enables <sensor> - Get the sensor's event enable values
613
614       Response:
615              Sensor
616                Name: <sensor>
617                Event Messages Enabled: <bool>
618                Sensor Scanning Enabled: <bool>
619                Busy: <bool>
620       Threshold sensors report:
621              Threshold
622                Name: <threshold>
623                Enabled: <bool>
624                 .
625                 .
626       only supported thresholds are listed.  Discrete sensors report:
627              Event
628                Offset: <integer>
629                Name: <event offset name for sensor>
630                %Assertion Enabled: <bool>
631                %Deassertion Enabled: <bool>
632       only supported offsets  are  listed.   The  assertion  and  deassertion
633       enables are listed only if the offset support them.
634
635       set_event_enables  <sensor>  msg|nomsg  scan|noscan [<enable> [<enable>
636       ...]]  - Set the sensor's event enable values.  This turns sensor  mes‐
637       sages  and  scanning  on and off and will enable all the listed enables
638       and disable all over ones.  The enables are either a <threshold enable>
639       or a <discrete enable>.
640
641       Response:
642              Event enables set: <sensor>
643
644       enable_events  <sensor> msg|nomsg scan|noscan [<enable> [<enable> ...]]
645       - Enable event enable values.  This turns sensor messages and  scanning
646       on  and  off and will enable all the listed enables.  All other enables
647       will be left alone.  The enables are either a <threshold enable>  or  a
648       <discrete enable>.
649
650       Response:
651              Event enables set: <sensor>
652
653       disable_events <sensor> msg|nomsg scan|noscan [<enable> [<enable> ...]]
654       - Disable event enable values.  This turns sensor messages and scanning
655       on  and  off and will disable all the listed enable.  All other enables
656       will be left alone.  The enables are either a <threshold enable>  or  a
657       <discrete enable>.
658
659       Response:
660              Event enables set: <sensor>
661
662
663   control
664       Commands dealing with controls.
665
666       set  <control> <value> [<value> ..]  - Set the value of a control.  The
667       settings depend on control type, most take one or more  integer  values
668       depending  on  the  number of physical things the control contains.  An
669       identifier type takes one or more unsigned  characters.   A  light  set
670       with settings take the form
671              lc|nolc <color> <on time> <off time>
672       lc  and  nolc  turn  on  or of local control, the over values should be
673       obvious.  Note all lights support local control, you need to see if  it
674       supports the value.
675
676       Response:
677              Set done: <control>
678
679       get <control> - Get the value of a control.  The reponse depends on the
680       control type.
681
682       Response:
683              Control
684                Name: <control>
685       Response for setting lights is:
686              Light
687                Num: 0
688                Local Control: <bool>
689                %Color: <color>
690                %On Time: <integer>
691                %Off Time: <integer>
692       Note that multiple lights may be present if the control supports multi‐
693       ple lights.  The options values (marked with % ) will not be present if
694       local control is set to true.  Local control means that the  LED  takes
695       whatever  default  function  it does on the device (like disk activity,
696       ethernet activity, hot-swap LED, etc.).  Response for id control:
697              Data: <byte1> <byte2> ...
698       Response for other controls:
699              Value
700                Num: <integer>
701                Value: <integer>
702       There will be one Value for each value the control supports.
703
704
705   mc
706       Commands dealing with MC objects.
707
708       reset <warm | cold> <mc> - Do a warm or cold reset on the given MC
709
710       Response:
711              Reset done: <mc>
712
713       msg <mc> <LUN> <NetFN> <Cmd> [data...]  - Send the given command to the
714       management controller and display the response.
715
716       Response:
717                MC: <mc>
718                LUN: <lun>
719                NetFN: <netfn>
720                command: <cmd>
721                Data: <data bytes>
722
723       set_events_enable  <mc> <enable | disable> - enables or disables events
724       on the MC.
725
726       Response:
727              Events enable done: <mc>
728
729       get_events_enable <mc> - Prints out if the events are enabled  for  the
730       given MC.
731
732       Response:
733              Events Enable: <bool>
734
735       sdrs  <mc> <main | sensor> - list the SDRs for the mc.  Either gets the
736       main SDR repository or the sensor SDR repository.
737
738       Response:
739              MC
740                Name: <mc>
741                SDR
742                  Record ID: <integer>
743                  Type: <integer>
744                  Version: <integer>.<integer>
745                  Data: <data bytes>
746       One SDR will be present for each SDR in the repository.
747
748       get_sel_time <mc> - Get the time in the SEL for the given MC.
749
750       Response:
751              MC
752                Name: <mc>
753                SEL Time: <integer>
754
755       set_sel_time <mc> <time> - Set the time in the SEL for the given MC.
756
757       Response:
758              MC SEL time set
759                Name: <mc>
760
761       rescan_sel <mc> - Rescan the SEL in the MC.
762
763       Response:
764              SEL Rescan done: <mc>
765
766       sel_rescan_time <mc> <time in seconds> - Set the time between SEL  res‐
767       cans for the SEL on this MC.  Zero disables scans.
768
769       Response:
770              MC SEL rescan time set: <domain>
771
772       sel_info <mc> - Dump information about the MC's SEL.
773
774       Response:
775              MC
776                Name: <mc>
777                SEL Version: <integer>.<integer>
778                SEL Count: <integer>
779                SEL Slots Used: <integer>
780                SEL Free Bytes: <integer>
781                SEL Last Addition Timestamp: <integer>
782                SEL overflow: <bool>
783                SEL Supports Delete: <bool>
784                SEL Supports Partial Add: <bool>
785                SEL Supports Reserve: <bool>
786                SEL Supports Get SEL Allocation: <bool>
787
788       chan info <mc> <channel> - Dump information about the MC's channel.
789
790       Response:
791              Channel Info
792                MC: <mc>
793                Number: <integer>
794                Medium: <integer>
795                Protocol Type: <integer>
796                Session Support: session-less|single-session|multi-session|session-based
797                Vendor ID: <data bytes>
798                Aux Info: <data bytes>
799
800       chan  get_access <mc> <channel> non-volatile|present|both - Dump infor‐
801       mation about the MC's channel access.  There are two  different  places
802       where this is stored, the present in-use values (volatile) and the non-
803       volatile storage that is loaded at startup.  Note if you specify  chan‐
804       nel 0xe, the response channel will be different; it will be the current
805       channel.
806
807       Response:
808              Channel Access
809                MC: <mc>
810                Channel: <integer>
811                Type: non-volatile|present
812                Alerting Enabled: <bool>
813                Per-Message Auth: <bool>
814                User Auth: <bool>
815                Access Mode: disable|pre-boot|always|shared
816                Privilege Limit: callback|user|operator|admin|oem
817
818       chan set_access <mc> <channel> non-volatile|present|both <parm> <value>
819       ...   -  Set  information about the MC's channel access.  There are two
820       different places where  this  is  stored,  the  present  in-use  values
821       (volatile)  and  the  non-volatile  storage  that is loaded at startup.
822       Note if you specify channel 0xe, the modified channel will be the  cur‐
823       rent channel.  Parms are:
824              alert true|false
825              msg_auth true|false
826              user_auth true|false
827              access_mode disabled|pre-boot|always|shared
828              privilege_limit callback|user|operator|admin|oem
829
830       Response:
831              Channel Access Set
832                MC: <mc>
833                Channel: <integer>
834
835       chan user list <mc> <channel> [<user num>] - List users associated with
836       the channel.  Each user number has an associated name and password that
837       is  global  in  the  MC (not associated with a channel).  There is also
838       channel-specific information for each user.   This  command  lists  the
839       global  user  information  and the channel-specific information for the
840       channel specified.  If no user number is listed, then all users for the
841       channel are listed.  Otherwise only the given user is listed.
842
843       Response:
844              Channel Access Set
845                MC: <mc>
846                Channel: <integer>
847                Max User: <integer>
848                Enabled Users: <integer>
849                Fixed Users: <integer>
850                User
851                  Number: <integer>
852                  *String Name: <string>
853                  *Binary Name: <data bytes>
854                 Link Auth Enabled: <bool>
855                 Msg Auth Enabled: <bool>
856                 Access CB Only: <bool>
857                 Privilege Limit: <integer>
858                 Session Limit: <integer>
859                .
860                .
861       All  the  users  are  listed.   One  of  string  name or binary name is
862       present, if the name is not a printable string, then the binary data is
863       dumped.
864
865       chan  user  set  <mc>  <channel>  <user  num> <parm> <value> ...  - Set
866       information about the user number.  Only the specified values are modi‐
867       fied.   The name and password are global values, all other are channel-
868       specific.  The parms are: are:
869              link_enabled true|false
870              msg_enabled true|false
871              cb_only true|false
872              privilege_limit callback|user|operator|admin|oem|no_access
873              session_limit <integer>
874              name <user name string>
875              password <password string, <= 16 characters>
876              password2 <password string, <= 20 characters>
877              enable
878              disable
879       The password is the 16-byte IPMI 1.5 passwords., the password2  is  for
880       20-byte  IPMI  2.0  passwords.   Note that setting the session limit to
881       zero means there is no session limit.  Also note that some systems have
882       a bug where the session limit is not optional (as the spec says it is).
883       If you get C7 errors back from this command, you will  have  to  always
884       specify  the  session limit.  Note that you must enable the user for it
885       to work, but there seems to be no way to get if the user is enabled  or
886       not.
887
888       Response:
889              User Info Set: <mc>
890
891
892
893   sel
894       Commands dealing with the system event log.  Note that there is no info
895       command.
896
897       list <domain> - The list command is unique in this  object,  so  it  is
898       specified explicitly here.  List the local copy of the system event log
899       for the entire domain.
900
901       Response:
902              Domain
903                Name: <domain>
904                Entries: <integer>
905                Slots in use: <integer>
906                Event
907                  **EVENT INFO**
908                 .
909                 .
910
911       mc_list <domain> - List the local copy of the system event log  on  the
912       given MC.
913
914       Response:
915              MC
916                Name: <mc>
917                Entries: <integer>
918                Slots in use: <integer>
919                Event
920                  **EVENT INFO**
921                 .
922                 .
923
924       delete <mc> <record #> - Delete the given event number from the SEL
925
926       Response:
927              Event deleted
928                MC: <mc>
929                Record: <integer>
930
931       add <mc> <type> <13 bytes of data> - Add the event data to the SEL.
932
933       Response:
934              MC
935                Name: <mc>
936                Record ID: <integer>
937
938       clear <domain> - clear the system event log
939
940       Response:
941              SEL Clear done: <domain>
942
943
944   con
945       Commands dealing with connections.
946
947       activate <connection> - Activate the given connection
948
949       Response:
950              Connection activated: <connection>
951
952
953   pet
954       Commands dealing with platform event traps.
955
956       new <domain> <connection> <channel> <ip addr> <mac_addr> <eft selector>
957       <policy num> <apt selector> <lan dest selector> - Set up the domain  to
958       send  PET  traps  from the given connection to the given IP/MAC address
959       over the given channel.
960
961       Response:
962              PET Created: <pet>
963
964       mcnew <mc> <channel> <ip addr> <mac_addr> <eft selector>  <policy  num>
965       <apt  selector>  <lan  dest  selector>  - Set up the domain to send PET
966       traps from the given connection to the given IP/MAC  address  over  the
967       given channel.  This takes an MC instead of a connection.
968
969       Response:
970              PET Created: <pet>
971
972       close <pet> - Close the pet.
973
974       Response:
975              PET destroyed: <pet>
976
977
978   pef
979       commands  dealing with platform even filters.  These are basically con‐
980       nections to the PEF configuration parameters in an MC.  You use  a  pef
981       to  fetch a pef config, which you can then modify and write back to the
982       MC.  Note that when you get a pef config, you claim a lock  on  the  MC
983       that must be unlocked.
984
985       new <mc> - Create a pef for the given MC.
986
987       Response:
988              PEF: <pef>
989
990       unlock_mc <mc> - Unlock the PEF lock on the given MC.
991
992       Response:
993              PEF unlocked: <mc>
994
995       close <pef> - Free the given pef
996
997       Response:
998              PEF destroyed: <pef>
999
1000
1001   pef config
1002       Commands  dealing  with  PEF  configurations.  These are the actual PEF
1003       data items.
1004
1005       get <pef> - Fetch the pef data items from the pef and create a pef con‐
1006       fig.
1007
1008       Response:
1009              PEF Config
1010                Name: <pef config>
1011                **PEF CONFIG**
1012
1013       update <pef config> <parm> [selector] <value> - Set the given parameter
1014       in the pef config to the given value.  If the parameter has a  selector
1015       of  some type, the selector must be given, otherwise no selector should
1016       be given.
1017
1018       Response:
1019              PEF config updated: <pef config>
1020
1021       set <pef> <pef config> - Write the pef data back to the pef.  Note that
1022       this must be the same pef used to create the config.
1023
1024       Response:
1025              PEF config set: <pef config>
1026
1027       unlock  <pef> <pef config> - Unlock the lock in the MC and mark the pef
1028       config as unlocked.
1029
1030       Response:
1031              PEF config unlocked: <pef config>
1032
1033       close <pef config> - Free the pef config.
1034
1035       Response:
1036              PEF config destroyed: <pef config>
1037
1038
1039   lanparm
1040       Commands dealing with lanparms.  These are basically connections to the
1041       LAN  configuration  parameters  in an MC.  You use a lanparm to fetch a
1042       lanparm config, which you can then modify and write  back  to  the  MC.
1043       Note  that  when  you  get a lanparm config, you claim a lock on the MC
1044       that must be unlocked.
1045
1046       new <mc> <channel> - Create a lanparm for the given MC and channel.
1047
1048       Response:
1049              LANPARM: <lanparm>
1050
1051       unlock_mc <mc> <channel> - Unlock the lanparm lock on the given MC  and
1052       channel.
1053
1054       Response:
1055              LANPARM unlocked: <mc>
1056
1057       close <lanparm> - Free the given lanparm
1058
1059       Response:
1060              LANPARM destroyed: <lanparm>
1061
1062
1063   lanparm config
1064       Commands  dealing  with  lanparm  configurations.  These are the actual
1065       lanparm data items.
1066
1067       get <lanparm> - Fetch the lanparm data items from the lanparm and  cre‐
1068       ate a lanparm config.
1069
1070       Response:
1071              LANPARM Config
1072                Name: <lanparm config>
1073                **LANPARM CONFIG**
1074
1075       set  <lanparm>  <lanparm  config>  - Write the lanparm data back to the
1076       lanparm.  Note that this must be the same lanparm used  to  create  the
1077       config.
1078
1079       Response:
1080              LANPARM config set: <lanparm config>
1081
1082       unlock  <lanparm> <lanparm config> - Unlock the lock in the MC and mark
1083       the lanparm config as unlocked.
1084
1085       Response:
1086              LANPARM config unlocked: <lanparm config>
1087
1088       close <lanparm config> - Free the lanparm config.
1089
1090       Response:
1091              LANPARM config destroyed: <lanparm config>
1092
1093

OTHER COMMANDS

1095       A few general commands exist.
1096
1097       evinfo <bool> - Turn on or off dumping object information when an event
1098       comes in.  This is false by default.
1099
1100       debug <type> <bool> - Turn the given debugging type on or off
1101
1102
1103

EVENTS

1105       The  command  language will output events to the console when they hap‐
1106       pen.  Events all occur in the format:
1107                Event
1108                  **EVENT INFO**
1109
1110       The event info varies on the type of events.  The  defined  events  are
1111       listed  below.  Note that the output of some events depends on the set‐
1112       ting of the evinfo command; the information about the object itself may
1113       or may not be output.
1114
1115       Some  events  have another event container; this is the IPMI event that
1116       caused the event to be output.
1117
1118       The following event is output when the  domain  is  completely  up  and
1119       operational and finished all it SDR, FRU, and bus scans:
1120                EVENT
1121                  Object Type: Domain
1122                  Name: <domain>
1123                  Operation: Domain fully up
1124                  Connection Number: <integer>
1125                  Port Number: <integer>
1126                  Any Connection Up: <bool>
1127                  Error: <integer>
1128
1129       The following comes out when domain connection infomration changes:
1130                EVENT
1131                  Object Type: Domain
1132                  Name: <domain>
1133                  Operation: Connection Change
1134
1135       The following comes out when domains are added:
1136                EVENT
1137                  Object Type: Domain
1138                  Name: <domain>
1139                  Operation: Add
1140                  %**DOMAIN INFO**
1141
1142       The following comes out when domains are destroyed:
1143                EVENT
1144                  Object Type: Domain
1145                  Name: <domain>
1146                  Operation: Delete
1147
1148       The  following  comes  out  when the domain gets an event that does not
1149       have a handler:
1150                EVENT
1151                  Object Type: Event
1152                  **EVENT INFO**
1153
1154       The following comes out when an entity is added:
1155                EVENT
1156                  Object Type: Entity
1157                  Name: <entity>
1158                  Operation: Add
1159                  %**ENTITY INFO**
1160
1161       The following comes out when an entity is deleted:
1162                EVENT
1163                  Object Type: Entity
1164                  Name: <entity>
1165                  Operation: Delete
1166
1167       The following comes out when an entity is changed:
1168                EVENT
1169                  Object Type: Entity
1170                  Name: <entity>
1171                  Operation: Change
1172                  %**ENTITY INFO**
1173
1174       The following comes out when an entity's FRU is added:
1175                EVENT
1176                  Object Type: Entity FRU
1177                  Name: <entity>
1178                  Operation: Add
1179                  %**FRU INFO**
1180
1181       The following comes out when an entity's FRU is deleted:
1182                EVENT
1183                  Object Type: Entity FRU
1184                  Name: <entity>
1185                  Operation: Delete
1186
1187       The following comes out when an entity's FRU is changed:
1188                EVENT
1189                  Object Type: Entity FRU
1190                  Name: <entity>
1191                  Operation: Change
1192                  %**FRU INFO**
1193
1194       The following comes out when an entity's presence changes:
1195                EVENT
1196                  Object Type: Entity
1197                  Name: <entity>
1198                  Operation: Presence Change
1199                  Present: <bool>
1200                  %Event
1201                    **EVENT INFO**
1202
1203       The following comes out when an entity's hot-swap state changes:
1204                EVENT
1205                  Object Type: Entity
1206                  Name: <entity>
1207                  Operation: Hot-Swap Change
1208                  Last State: <hot-swap state>
1209                  State: <hot-swap state>
1210                  %Event
1211                    **EVENT INFO**
1212
1213       The following comes out when an MC is added:
1214                EVENT
1215                  Object Type: MC
1216                  Name: <mc>
1217                  Operation: Add
1218                  %**MC INFO**
1219
1220       The following comes out when an MC is removed:
1221                EVENT
1222                  Object Type: MC
1223                  Name: <mc>
1224                  Operation: Delete
1225
1226       The following comes out when an MC is changed:
1227                EVENT
1228                  Object Type: MC
1229                  Name: <mc>
1230                  Operation: Change
1231                  %**MC INFO**
1232
1233       The following comes out when an MC changes active state:
1234                EVENT
1235                  Object Type: MC
1236                  Name: <mc>
1237                  Operation: Active Changed
1238                  Active: <bool>
1239
1240       The following comes out when a discrete sensor gets an event:
1241                EVENT
1242                  Object Type: Sensor
1243                  Name: <sensor>
1244                  Operation: Event
1245                  Offset: <integer>
1246                  Direction: assertion | deassertion
1247                  Severity: <integer>
1248                  Previous Severity: <integer>
1249                  %Event
1250                    **EVENT INFO**
1251
1252       The following comes out when a threshold sensor gets an event:
1253                EVENT
1254                  Object Type: Sensor
1255                  Name: <sensor>
1256                  Operation: Event
1257                  Threshold: <threshold>
1258                  High/Low: going-high | going-low
1259                  Direction: assertion | deassertion
1260                  %Value: <double>
1261                  %Raw Value: <integer>
1262                  %Event
1263                    **EVENT INFO**
1264
1265       The following comes out when a sensor is added:
1266                EVENT
1267                  Object Type: Sensor
1268                  Name: <sensor>
1269                  Operation: Add
1270                  %**SENSOR INFO**
1271
1272       The following comes out when a sensor is deleted:
1273                EVENT
1274                  Object Type: Sensor
1275                  Name: <sensor>
1276                  Operation: Delete
1277
1278       The following comes out when a sensor is changed:
1279                EVENT
1280                  Object Type: Sensor
1281                  Name: <sensor>
1282                  Operation: Change
1283                  %**SENSOR INFO**
1284
1285       The following comes out when a control gets an event:
1286                EVENT
1287                  Object Type: Control
1288                  Name: <control>
1289                  Operation: Event
1290                  Value
1291                    Number: <integer>
1292                    Value: <integer>
1293                  %Event
1294                    **EVENT INFO**
1295
1296       The following comes out when a control is added:
1297                EVENT
1298                  Object Type: Control
1299                  Name: <control>
1300                  Operation: Add
1301                  %**CONTROL INFO**
1302
1303       The following comes out when a control is deleted:
1304                EVENT
1305                  Object Type: Control
1306                  Name: <control>
1307                  Operation: Delete
1308
1309       The following comes out when a control is changed:
1310                EVENT
1311                  Object Type: Control
1312                  Name: <control>
1313                  Operation: Change
1314                  %**CONTROL INFO**
1315
1316
1317

OBJECT INFO

1319       Many of the command responses and events contain information  about  an
1320       objects.  The definitions of this information output is done here.
1321
1322
1323   **EVENT INFO**
1324                MC: <mc>
1325                Record ID: <integer>
1326                Event type: <integer>
1327                Timestamp: <integer>
1328                Data: <data bytes>
1329
1330
1331   **DOMAIN INFO**
1332                Type: <domain type>
1333                GUID: <hex string>
1334                SEL Rescan Time: <time>
1335                IPMB Rescan Time: <time>
1336
1337
1338   **ENTITY INFO**
1339                Type: unknown | mc | fru | generic
1340                Present: <bool>
1341                Presence sensor always there: <bool>
1342                Hot swappable: <bool>
1343                %Supports managed hot swap: <bool>
1344                %Parents
1345                  Name: <entity>
1346                  Name: <entity>
1347                   .
1348                   .
1349                %Children
1350                  Name: <entity>
1351                  Name: <entity>
1352                   .
1353                   .
1354                %Physical Slot: <integer>
1355                %Id: <string>
1356                Entity ID String: <string>
1357
1358       Note that Parents and Children fields will not be present if the entity
1359       has no parents or children.  Each entity type except unknown will  have
1360       its own output info.  These are:
1361
1362       mc
1363                Channel: <channel>
1364                LUN: <lun>
1365                OEM: <oem field from SDR>
1366                Slave Address: <ipmb>
1367                ACPI_system_power_notify_required: <bool>
1368                ACPI_device_power_notify_required: <bool>
1369                controller_logs_init_agent_errors: <bool>
1370                log_init_agent_errors_accessing: <bool>
1371                global_init: <bool>
1372                chassis_device: <bool>
1373                bridge: <bool>
1374                IPMB_event_generator: <bool>
1375                IPMB_event_receiver: <bool>
1376                FRU_inventory_device: <bool>
1377                SEL_device: <bool>
1378                SDR_repository_device: <bool>
1379                sensor_device: <bool>
1380
1381       fru
1382                Channel: <channel>
1383                LUN: <lun>
1384                OEM: <oem field from SDR>
1385                Slave Address: <ipmb>
1386                access_address: <ipmb>
1387                private_bus_id: <integer>
1388                device_type: <integer>
1389                device_modifier: <integer>
1390                is_logical_fru: <bool>
1391                fru_device_id: <integer>
1392
1393       generic
1394                Channel: <channel>
1395                LUN: <lun>
1396                OEM: <oem field from SDR>
1397                access_address: <ipmb>
1398                private_bus_id: <integer>
1399                device_type: <integer>
1400                device_modifier: <integer>
1401                slave_address: <ipmb>
1402                address_span: <integer>
1403
1404
1405   **MC INFO**
1406                Active: <bool>
1407                GUID: <hex string>
1408                SEL Rescan Time: <integer>
1409                provides_device_sdrs: <bool>
1410                device_available: <bool>
1411                chassis_support: <bool>
1412                bridge_support: <bool>
1413                ipmb_event_generator: <bool>
1414                ipmb_event_receiver: <bool>
1415                fru_inventory_support: <bool>
1416                sel_device_support: <bool>
1417                sdr_repository_support: <bool>
1418                sensor_device_support: <bool>
1419                device_id: <ipmb>
1420                device_revision: <integer>
1421                fw_revision: <integer>.<integer>
1422                version: <integer>.<integer>
1423                manufacturer_id: <integer>
1424                product_id: <integer>
1425                aux_fw_revision: <integer> <integer> <integer> <integer>
1426
1427
1428   *SENSOR INFO**
1429                LUN: <integer>
1430                Number: <integer>
1431                Event Reading Type: <integer>
1432                Event Reading Type Name: one of:
1433                         unspecified threshold discrete_usage discrete_state
1434                         discrete_predictive_failure discrete_limit_exceeded
1435                         discrete_performance_met discrete_severity discrete_device_presense
1436                         discrete_device_enable discrete_availability discrete_redundancy
1437                         discrete_acpi_power
1438                Type: <integer>
1439                Type Name: <sensor type (a generic string)>
1440                %Direction: input | output
1441                %Event Support: per state | entire sensor | global
1442                Init Scanning: <bool>
1443                Init Events: <bool>
1444                Init Thresholds: <bool>
1445                Init Hysteresis: <bool>
1446                Init Type: <bool>
1447                Init Power Up Events: <bool>
1448                Init Power Up Scanning: <bool>
1449                Ignore If No Entity: <bool>
1450                Auto Rearm: <bool>
1451                OEM1: <integer>
1452                Id: <string>
1453
1454       For threshold sensors, the following exist:
1455                Threshold Access: none | readable | settable | fixed
1456                Threshold
1457                  Name: <threshold>
1458                  Readable: <bool>
1459                  Settable: <bool>
1460                  Supports: going high assertion | going low assertion
1461                            | going high deassertion | going low deassertion
1462                 .
1463                 .
1464                Hysteresis Support: none | readable | settable | fixed
1465                %Nominal Reading: <float>
1466                %Normal Max: <float>
1467                %Normal Min: <float>
1468                %Sensor Max: <float>
1469                %Sensor Min: <float>
1470                Base Unit: <integer>
1471                Base Unit Name: <string>
1472                %Rate Unit: <integer>
1473                %Rate Unit Name: <string>
1474                %Modifier Use: / | *
1475                %Modifier Unit: <integer>
1476                %Modifier Unit Name: <string>
1477
1478       For discrete sensors, the following exist:
1479                Event
1480                  Offset: <integer>
1481                  Supports: assertion | deassertion
1482                 .
1483                 .
1484
1485
1486   **CONTROL INFO**
1487                Type: <control type>
1488                Generates Events: <bool>
1489                Settable: <bool>
1490                Readable: <bool>
1491                Num Values: <integer>
1492                Id: <string>
1493
1494       Controls of type light that are set with settings have the following:
1495                Set with: settings
1496                Local Control: <bool>
1497                Color: <color>
1498                 .
1499                 .
1500       One color is listed for each supported color
1501
1502       Controls  of  type light that are set with transitions have the follow‐
1503       ing:
1504                Light
1505                  Number: <integer>
1506                  Num Values: <integer>
1507                  Value
1508                    Number: <integer>
1509                    Num Transitions: <integer>
1510                    Transition
1511                      Number: <integer>
1512                      Color: <color>
1513                      Time: <integer>
1514                     .
1515                     .
1516                   .
1517                   .
1518
1519       Controls of type identifier have the following:
1520                Max Length: <integer>
1521
1522
1523   **FRU INFO**
1524                Name: <fru>
1525                record
1526                  Name: <name>
1527                  Type: binary | ascii | unicode | integer
1528                  %Number: <integer>
1529                  Data: data depending on type
1530                 .
1531                 .
1532                Multi-record
1533                  Number: <integer>
1534                  Type: binary | ascii | unicode
1535                  Data: <data in the above format>
1536                 .
1537                 .
1538
1539
1540   **LANPARM CONFIG**
1541                support_auth_oem: <bool>
1542                support_auth_straight: <bool>
1543                support_auth_md5: <bool>
1544                support_auth_md2: <bool>
1545                support_auth_none: <bool>
1546                ip_addr_source: <integer>
1547                num_alert_destinations: <integer>
1548                %ipv4_ttl: <integer>
1549                %ipv4_flags: <integer>
1550                %ipv4_precedence: <integer>
1551                %ipv4_tos: <integer>
1552                %ip_addr: <ip addr>
1553                %mac_addr: <mac addr>
1554                %subnet_mask: <ip addr>
1555                %primary_rmcp_port <integer>
1556                %secondary_rmcp_port <integer>
1557                %bmc_generated_arps: <bool>
1558                %bmc_generated_garps: <bool>
1559                %garp_interval: <integer>
1560                %default_gateway_ip_addr: <ip addr>
1561                %default_gateway_mac_addr: <mac addr>
1562                %backup_gateway_ip_addr: <ip addr>
1563                %backup_gateway_mac_addr: <mac addr>
1564                community_string: <string>
1565                User
1566                  Name: callback
1567                  enable_auth_oem: <bool>
1568                  enable_auth_straight: <bool>
1569                  enable_auth_md5: <bool>
1570                  enable_auth_md2: <bool>
1571                  enable_auth_none: <bool>
1572                User
1573                  Name: user
1574                  enable_auth_oem: <bool>
1575                  enable_auth_straight: <bool>
1576                  enable_auth_md5: <bool>
1577                  enable_auth_md2: <bool>
1578                  enable_auth_none: <bool>
1579                User
1580                  Name: operator
1581                  enable_auth_oem: <bool>
1582                  enable_auth_straight: <bool>
1583                  enable_auth_md5: <bool>
1584                  enable_auth_md2: <bool>
1585                  enable_auth_none: <bool>
1586                User
1587                  Name: admin
1588                  enable_auth_oem: <bool>
1589                  enable_auth_straight: <bool>
1590                  enable_auth_md5: <bool>
1591                  enable_auth_md2: <bool>
1592                  enable_auth_none: <bool>
1593                User
1594                  Name: oem
1595                  enable_auth_oem: <bool>
1596                  enable_auth_straight: <bool>
1597                  enable_auth_md5: <bool>
1598                  enable_auth_md2: <bool>
1599                  enable_auth_none: <bool>
1600                Alert Destination
1601                  Number: <integer>
1602                  alert_ack: <bool>
1603                  dest_type: <integer>
1604                  alert_retry_interval: <integer>
1605                  max_alert_retries: <integer>
1606                  dest_format: <integer>
1607                  gw_to_use: <integer>
1608                  dest_ip_addr: <ip addr>
1609                  dest_mac_addr: <mac addr>
1610                 .
1611                 .
1612
1613
1614   **PEF CONFIG**
1615                alert_startup_delay_enabled: <bool>
1616                startup_delay_enabled: <bool>
1617                event_messages_enabled: <bool>
1618                pef_enabled: <bool>
1619                diagnostic_interrupt_enabled: <bool>
1620                oem_action_enabled: <bool>
1621                power_cycle_enabled: <bool>
1622                reset_enabled: <bool>
1623                power_down_enabled: <bool>
1624                alert_enabled: <bool>
1625                %startup_delay: <integer>
1626                %alert_startup_delay: <integer>
1627                guid_enabled: <bool>
1628                guid_val: <guid>
1629                num_event_filters: <integer>
1630                num_alert_policies: <integer>
1631                num_alert_strings: <integer>
1632                Event Filter
1633                  Number: <integer>
1634                  enable_filter: <bool>
1635                  filter_type: <integer>
1636                  diagnostic_interrupt: <bool>
1637                  oem_action: <bool>
1638                  power_cycle: <bool>
1639                  reset: <bool>
1640                  power_down: <bool>
1641                  alert: <bool>
1642                  alert_policy_number: <integer>
1643                  event_severity: <integer>
1644                  generator_id_addr: <integer>
1645                  generator_id_channel_lun: <integer>
1646                  sensor_type: <integer>
1647                  sensor_number: <integer>
1648                  event_trigger: <integer>
1649                  data1_offset_mask: <integer>
1650                  data1_mask: <integer>
1651                  data1_compare1: <integer>
1652                  data1_compare2: <integer>
1653                  data2_mask: <integer>
1654                  data2_compare1: <integer>
1655                  data2_compare2: <integer>
1656                  data3_mask: <integer>
1657                  data3_compare1: <integer>
1658                  data3_compare2: <integer>
1659                 .
1660                 .
1661                Alert Policy
1662                  Number: <integer>
1663                  policy_num: <integer>
1664                  enabled: <bool>
1665                  policy: <integer>
1666                  channel: <integer>
1667                  destination_selector: <integer>
1668                  alert_string_event_specific: <bool>
1669                  alert_string_selector: <integer>
1670                 .
1671                 .
1672                Alert String
1673                  event_filter: <integer>
1674                  alert_string_set: <integer>
1675                  alert_string: <string>
1676                 .
1677                 .
1678
1679
1680   **CONNECTION INFO**
1681                Active: <bool>
1682                Up: <bool>
1683                Port
1684                  Number: <integer>
1685                  Info: <info string>
1686                  Up: <bool>
1687                 .
1688                 .
1689
1690
1691   **PEF INFO**
1692                MC: <mc>
1693
1694
1695   **PET INFO**
1696                MC: <mc>
1697                Channel: <channel>
1698                IP Address: <ip address>
1699                MAC Address: <mac address>
1700                EFT Selector: <eft selector>
1701                Policy Number: <policy number>
1702                APT Selector: <apt selector>
1703                LAN Dest Selector: <lan dest selector>
1704
1705
1706   **LANPARM INFO**
1707                MC: <mc>
1708                Channel: <integer>
1709
1710
1711

SEE ALSO

1713       ipmish(1)
1714
1715

KNOWN PROBLEMS

1717       None
1718
1719

AUTHOR

1721       Corey Minyard <cminyard@mvista.org>
1722
1723
1724
1725OpenIPMI                           05/13/03                    ipmi_cmdlang(7)
Impressum