1This is the OpenIPMI command language, which allows each access to
2pretty much everything about OpenIPMI. It can be used to add an
3OpenIPMI command shell into an application to give the user full
4access into everything OpenIPMI can do.
5
6The interface is very simple. You call the command interpreter with a
7string. You pass in two functions, an output handler and a "done"
8functions. If an error occurs, the command interpreter generates some
9output and returns an error code. Otherwise, it will generate output
10and call the done function when it is complete.
11
12The command language is hierarchical. There are several top-level
13commands, each of these has sub-commands, and those may have
14sub-commands, and so on.
15
16The commands may take parameters. Some general ones are:
17
18* <domain> - A name of a domain. Each registered domain in a system
19 has a name.
20* <entity> - Entity names are in the form: [<domain>[(entity spec)]]
21 Notice that the entity spec is optional. If it is not listed, then
22 the operation is done on all entities in the domain. The whole
23 thing is optional, too, if nothing is given then the operation is
24 done on every entity in every domain.
25 The entity spec is either:
26 <entity id>.<entity instance>
27 for system-reltive entities, or:
28 r<channel>.<IPMB>.<entity id>.<entity instance-0x60>
29 for device-relative entities.
30* <sensor> - These come in the form [<entity>[.name]] If no name is
31 given, the operation is performed on all sensors in the entity.
32 If the entity is just a domain, then all sensors in the domain, and
33 if the whole thing is empty, then all sensors on all domains.
34* <control> - These come in the form [<entity>[.name]] If no name is
35 given, the operation is performed on all controls in the entity.
36 If the entity is just a domain, then all controls in the domain, and
37 if the whole thing is empty, then all controls on all domains.
38* <mc> - A management controller. These come in the form
39 [<domain>[(<channel>.<IPMB>)]]. As usual, the optional parts will
40 cause defaulting to all things.
41* <connection> - A connection number, in the form: <domain>.<num>
42* <pet> - A platform event trap id, in the form [<domain>][.<integer>]
43* <lanparm> - A LAN parameter id, in the form [<domain>][.<integer>]
44* <pef> - A PEF id, in the form [<domain>][.<integer>]
45* <guid> - a 16-byte globally unique ID, all globbed together in
46 one big hexidecimal thing.
47
48Note that the domain name and sensor/control name may have spaces in
49them; the names may be bracketed by quotes (' or "). A backslash (\)
50may be used to add a quote character (or a backslash) into a string.
51An empty parameters should be specified as "", although if nothing
52comes after the parameter it may just be left empty.
53
54
55
56The command hierarchy is:
57
58* help - get general help. Type the specific command after help to
59 get info for that command.
60
61* domain
62
63 * list - List all domains
64 Response is:
65 Domains
66 Name: <domain1>
67 Name: <domain2>
68 .
69 .
70
71 * info <domain> - List information about the given domain
72 Response is:
73 Domain
74 Name: <domain>
75 **DOMAIN INFO**
76
77 * new <domain> <options> <parms...> - Open a connection to a new domain
78 Parms are either:
79 lan <IP> <port> <enc> <auth> <name> <password>"
80 or
81 smi <smi num>
82 <enc> is the authentication type, either "md5", "md2", "straight",
83 or "none". <auth> is the authentication level, either "admin",
84 "operator", or "user". The <port> is generally 623.
85 The <smi num> is the driver number, generally 0.
86 Options enable and disable various automitic processing and are:
87 -[no]all - all automatic handling
88 -[no]sdrs - sdr fetching
89 -[no]frus - FRU fetching
90 -[no]sel - SEL fetching,"
91 -[no]ipmbscan - IPMB bus scanning
92 -[no]oeminit - special OEM processing (like ATCA)
93 -[no]seteventrcvr - setting event receivers
94 -wait_til_up - wait until the domain is up before returning
95 Note that if you specify this and the domain never comes up,
96 you will never get a prompt.
97
98 Note that setting event receivers it not affected by the -all
99 option. By default -all -seteventrcvr is true, which turns
100 everything on.
101 Response is:
102 Domain Created: <domain>
103
104 * fru <domain> <is_logical> <device_address> <device_id> <lun> <private_bus>
105 <channel> - dump a fru given all it's insundry information.
106 Response is:
107 Domain
108 Name: <domain>
109 FRU
110 **FRU INFO**
111
112 * msg <domain> <channel> <ipmb> <LUN> <NetFN> <Cmd> [data...] - Send
113 a command to the given IPMB address on the given channel and display the
114 response. Note that this does not require the existance of an
115 MC in OpenIPMI. The response is:
116 Response
117 Domain: <domain>
118 channel: <chan>
119 ipmb: <ipmb>
120 LUN: <lun>
121 NetFN: <netfn>
122 command: <cmd>
123 Data: <data bytes>
124
125 * scan <domain> <ipmb addr> [ipmb addr] - scan an IPMB to add or remove it.
126 If a range is given, then scan all IPMBs in the range.
127 Response is:
128 Scan done: <domain>
129
130 * presence - Check the presence of entities.
131 Response is:
132 Presence check started: <domain>
133
134 * close <domain> - close the given domain.
135 Response is:
136 Domain closed: <domain>
137
138 * sel_rescan_time <domain> <time in seconds> - Set the time between
139 SEL rescans for all SELs in the system. zero disables scans.
140 Response is:
141 Domain SEL rescan time set: <domain>
142
143 * ipmb_rescan_time <domain> <time in seconds> - Set the time between
144 IPMB rescans for this domain. zero disables scans.
145 Response is:
146 Domain IPMB rescan time set: <domain>
147
148* entity
149
150 * list <domain> - List all entities.
151 Response is:
152 Domain
153 Name: <domain>
154 Entities
155 Name: <entity1>
156 Name: <entity2>
157 .
158 .
159
160 * info <entity> - List information about the given entity
161 Response is:
162 Entity
163 Name: <entity>
164 **ENTITY INFO**
165
166 * fru <entity> - Dump the FRU information about the given entity.
167 Response is:
168 Entity
169 Name: <entity>
170 FRU
171 **FRU INFO**
172
173 "FRU" will only be present if the entity can have FRU info. FRU
174 info may be empty.
175
176 * hs - hot-swap control
177
178 * get_act_time <entity> - Get the hot-swap auto-activate time
179 Response is:
180 Entity
181 Name: <entity>
182 Auto-Activation Time: <integer>
183
184 * set_act_time <entity> - Set the hot-swap auto-activate time
185 Response is:
186 Set act time: <entity>
187
188 * get_deact_time <entity> - Get the hot-swap auto-deactivate time
189 Response is:
190 Entity
191 Name: <entity>
192 Auto-Deactivation Time: <integer>
193
194 * set_deact_time <entity> - Set the hot-swap auto-deactivate time
195 Response is:
196 Set deact time: <entity>
197
198 * activation_request <entity> Act like a user requested an
199 activation of the entity. This is generally equivalent to
200 closing the handle latch or something like that.
201 Response is:
202 Activation requested: <entity>
203
204 * activate <entity> - activate the given entity
205 Response is:
206 Activated: <entity>
207
208 * deactivate <entity> - deactivate the given entity
209 Response is:
210 Deactivated: <entity>
211
212 * state <entity> - Return the current hot-swap state of the given
213 entity.
214 Response is:
215 Entity
216 Name: <entity>
217 State: not_present | inactive | activation_requested |
218 activation_in_progress | active | deactivation_requested |
219 deactivation_in_progress | out_of_con
220
221 * check <entity> - Audit the entities hot-swap state
222 Response is:
223 Check started: <entity>
224
225* sensor
226
227 * list <entity> - List all sensors
228 Response is:
229 Entity
230 Name: <entity>
231 Sensors
232 Name: <sensor1>
233 Name: <sensor2>
234 .
235 .
236
237 * info <sensor>
238 Response is:
239 Sensor
240 Name: <sensor>
241 **SENSOR INFO**
242
243 * get <sensor> - Get the sensor's current reading.
244 Response is:
245 Sensor
246 Name: <sensor>
247 Event Messages Enabled: true | false
248 Sensor Scanning Enabled: true | false
249 Initial Update In Progress: true | false
250
251 For sensors of type "threshold", the following exist:
252 %Value: <double>
253 %Raw Value: <integer>
254 Threshold
255 Name: lower non critical | lower critical | lower non recoverable
256 | upper non critical | upper critical | upper non recoverable
257 Out Of Range: true | false
258
259 For discrete sensors, the following exist:
260 Event
261 Offset: <integer>
262 %Name: <string name of event offset>
263 Set: true | false
264
265 * rearm <sensor> global | <thresholds> | <discrete states> -
266 Rearm the sensor. If global is specified, then rearm
267 all events in the sensor. If it is a threshold sensor, then
268 put in a list of thresholds of the form '[ul][ncr][hl][ad]
269 where [ul] means upper or lower, [ncr] means non-critical,
270 critical, or non-recoverable, [hl] means going high or going
271 low, and [ad] means assertion or deassertion. If it is a
272 discrete sensor, then the form is <num>[ad] where the number
273 is the offset and [ad] means assertion or deassertion
274 Response is:
275 Rearm done: <sensor>
276
277 * get_thresholds <sensor> - Get the sensor's thresholds
278 Response is:
279 Sensor
280 Name: <sensor>
281 Threshold
282 Name: lower non critical | lower critical | lower non recoverable
283 | upper non critical | upper critical | upper non recoverable
284 Value: <double>
285
286 * set_thresholds <sensor> <threshold> <value> ... - Set the sensor's
287 thresholds to the given values. If a threshold is not specified,
288 it will not be modified. Thresholds are unc, uc, unr, lnr, lc.
289 The u stands for upper, l for lower, nc for non-critical, c for
290 critical, and nr for non-recoverable. The value is floating point.
291 Response is:
292 Thresholds set: <sensor>
293
294 * get_hysteresis <sensor> - Get the sensor's hysteresis values
295 Response is:
296 Sensor
297 Name: <sensor>
298 Positivie Hysteresis: <integer>
299 Negative Hysteresis: <integer>
300
301 * set_hysteresis <sensor> <pos hyst> <neg hyst> - Set the sensor's
302 hysteresis to the given values. These are raw integer
303 value; hystersis is specified as a raw value and it cannot be
304 converted to floating point because the function may be
305 non-linear.
306 Response is:
307 Hysteresis set: <sensor>
308
309 * get_event_enables <sensor> - Get the sensor's event enable values
310 Response is:
311 Sensor
312 Name: <sensor>
313 Event Messages Enabled: true | false
314 Sensor Scanning Enabled: true | false
315 Busy: true | false
316
317 Threshold sensors report:
318 Threshold
319 Name: <threshold name>
320 Enabled: true | false
321 .
322 .
323 only supported thresholds are listed
324
325 Discrete sensors report:
326 Event
327 Offset: <integer>
328 Name: <event offset name for sensor>
329 %Assertion Enabled: true | false
330 %Deassertion Enabled: true | false
331 only supported offsets are listed. The assertion and deassertion
332 enables are listed only if the offset support them.
333
334
335 * set_event_enables <sensor> msg|nomsg scan|noscan [<event> [<event> ...]]
336 - Set the sensor's event enable values. This turns sensor messages and
337 scanning on and off and will enable all the listed events and
338 disable all over events. The events are in the same format as
339 the rearm subcommand and depend on the sensor type. See the
340 rearm command for details.
341 Response is:
342 Event enables set: <sensor>
343
344 * enable_events <sensor> msg|nomsg scan|noscan [<event> [<event> ...]]
345 - Enable event enable values. This turns sensor messages and
346 scanning on and off and will enable all the listed events. The
347 events are in the same format as the rearm subcommand and depend
348 on the sensor type. See the rearm command for details. This will
349 only enable the given events, the other events will be left alone.
350 Response is:
351 Event enables set: <sensor>
352
353 * disable_events <sensor> msg|nomsg scan|noscan [<event> [<event> ...]]
354 - Disable event enable values. This turns sensor messages and
355 scanning on and off and will disable all the listed events. The
356 events are in the same format as the rearm subcommand and depend
357 on the sensor type. See the rearm command for details. This will
358 only disable the given events, the other events will be left alone.
359 Response is:
360 Event enables set: <sensor>
361
362* control
363
364 * list <entity> - List all controls
365 Response is:
366 Entity
367 Name: <entity>
368 Controls
369 Name: <control1>
370 Name: <control2>
371 .
372 .
373
374 * info <control>
375 Response is:
376 Control
377 Name: <control>
378 **CONTROL INFO**
379
380 * set <control> <values> - Set the value of a control. The settings
381 depend on control type, most take one or more integer values.
382 An identifier type takes one or more unsigned characters. A
383 light set with settings take the form 'lc|nolc <color> <on time>
384 <off time>. lc and nolc turn on or of local control, the over
385 values should be obvious. Note all lights support local control,
386 you need to see if it supports the value.
387
388 * get <control> - Get the value of a control. The reponse depends
389 on the control type. The main part is:
390 Control
391 Name: <control>
392
393 Response for setting lights is:
394 Light
395 Num: 0
396 Local Control: true | false
397 %Color: black | white | red | green | blue | yellow | orange
398 %On Time: <integer>
399 %Off Time: <integer>
400 .
401 .
402 Note that multiple lights may be present if the control supports
403 multiple lights. The options values (marked with %) will not be
404 present if local control is set to true. Local control means that
405 the LED takes whatever default function it does on the device
406 (like disk activity, ethernet activity, hot-swap LED, etc.).
407
408 Response for id control:
409 Data: <byte1> <byte2> ...
410
411 Response for other controls:
412 Value
413 Num: <integer>
414 Value: <integer>
415 .
416 .
417 There will be one Value for each value the control supports.
418
419* mc
420
421 * list <domain> - List all MCs
422 Response is:
423 Domain
424 Name: <domain>
425 MCs
426 Name: <mc1>
427 Name: <mc2>
428 .
429 .
430
431 * info <mc>
432 Response is:
433 MC
434 Name: <mc>
435 **MC INFO**
436
437 * reset <warm | cold> <mc> - Do a warm or cold reset on the given MC
438 Response is:
439 Reset done: <mc>
440
441 * msg <mc> <LUN> <NetFN> <Cmd> [data...] - Send the given command"
442 to the management controller and display the response.
443 Response
444 MC: <mc>
445 LUN: <lun>
446 NetFN: <netfn>
447 command: <cmd>
448 Data: <data bytes>
449
450 * set_events_enable <mc> <enable | disable> - enables or disables
451 events on the MC.
452 Response is:
453 Events enable done: <mc>
454
455 * get_events_enable <mc> - Prints out if the events are enabled for
456 the given MC.
457 Response is:
458 Events Enable: true | false
459
460 * sdrs <mc> <main | sensor> - list the SDRs for the mc. Either gets
461 the main SDR repository or the sensor SDR repository.
462 Response is:
463 MC
464 Name: <mc>
465 SDR
466 Record ID: <integer>
467 Type: <integer>
468 Version: <integer>.<integer>
469 Data: <data bytes>
470 SDR
471 Record ID: <integer>
472 Type: <integer>
473 Version: <integer>.<integer>
474 Data: <data bytes>
475 .
476 .
477
478 * get_sel_time <mc> - Get the time in the SEL for the given MC
479 MC
480 Name: <mc>
481 SEL Time: <integer>
482
483 * sel_info <mc> - Dump information about the MC's SEL.
484 Response is:
485 SEL Count: <integer>
486 SEL Slots Used: <integer>
487
488* sel
489
490 * list <domain> - list the local copy of the system event log
491 Response is:
492 Domain
493 Name: <domain>
494 Entries: <integer>
495 Slots in use: <integer>
496 Event
497 **EVENT INFO**
498 .
499 .
500
501 * delete <mc> <record #> - Delete the given event number from the
502 SEL
503 Response is:
504 Event deleted
505 MC: <mc>
506 Record: <integer>
507
508 * add <mc> <type> <13 bytes of data> - Add the
509 event data to the SEL.
510 Response is:
511 MC
512 Name: <mc>
513 Record ID: <integer>
514
515 * clear <domain> - clear the system event log
516
517* con
518 * list <domain> - List all the connections in the domain.
519 Response is:
520 Domain
521 Name: <domain>
522 Connections
523 Name: <connection>
524 Name: <connection>
525 .
526 .
527
528 * info <connection>
529 Response is:
530 Connection
531 Name: <connection>
532 Active: true | false
533
534 * activate <connection> - Activate the given connection
535 Response is:
536 Connection activated: <connection>
537
538* pet
539
540 * list <domain> - List all the pets in the domain.
541 Response is:
542 Name: <pet>
543 Name: <pet>
544 .
545 .
546
547 * info <pet> - Dump information about a pet.
548 Response is:
549 PET
550 MC: <mc>
551 Channel: <channel>
552 IP Address: <ip address>
553 MAC Address: <mac address>
554 EFT Selector: <eft selector>
555 Policy Number: <policy number>
556 APT Selector: <apt selector>
557 LAN Dest Selector: <lan dest selector>
558
559 * new <domain> <connection> <channel> <ip addr> <mac_addr> <eft selector>
560 <policy num> <apt selector> <lan dest selector>
561 - Set up the domain to send PET traps from the given connection
562 to the given IP/MAC address over the given channel.
563 Response is:
564 PET Created: <pet>
565
566 * mcnew <mc> <channel> <ip addr> <mac_addr> <eft selector>
567 <policy num> <apt selector> <lan dest selector>
568 - Set up the domain to send PET traps from the given connection
569 to the given IP/MAC address over the given channel. This takes
570 an MC instead of a connection.
571 Response is:
572 PET Created: <pet>
573
574 * close <pet> - Close the pet.
575 PET destroyed: <pet>
576
577* pef - commands dealing with platform even filters. These are
578 basically connections to the PEF configuration parameters in an MC.
579 You use a pef to fetch a pef config, which you can then modify and
580 write back to the MC. Note that when you get a pef config, you
581 claim a lock on the MC that must be unlocked.
582
583 * list <domain> - List all the pefs that currently exist in the
584 domain.
585 Response is:
586 Name: <pef>
587 Name: <pef>
588 .
589 .
590
591 * info <pef> - Dump info about the pef.
592 Response is:
593 PEF
594 Name: <pef>
595 MC: <mc>
596
597 * new <mc> - Create a pef for the given MC.
598 Response is:
599 PEF: <pef>
600
601 * unlock_mc <mc> - Unlock the PEF lock on the given MC.
602 Response is:
603 PEF unlocked: <mc>
604
605 * close <pef> - Free the given pef
606 PEF destroyed: <pef>
607
608 * config - commands dealing with PEF configurations. These
609 are the actual PEF data items.
610
611 * list - list all the PEF configs
612 Response is:
613 PEFs
614 Name: <pef config>
615 Name: <pef config>
616 .
617 .
618
619 * info <pef config> - Dump information about the pef config.
620 Response is:
621 PEF Config
622 Name: <pef config>
623 ** PEF CONFIG **
624
625 * get <pef> - Fetch the pef data items from the pef
626 and create a pef config.
627 Response is:
628 PEF Config
629 Name: <pef config>
630 ** PEF CONFIG **
631
632 * update <pef config> <parm> [selector] <value> - Set the given parameter
633 in the pef config to the given value. If the parameter has
634 a selector of some type, the selector must be given, otherwise
635 no selector should be given.
636 Response is:
637 PEF config updated: <pef config>
638
639 * set <pef> <pef config> - Write the pef data back
640 to the pef. Note that this must be the same pef used
641 to create the config.
642 Response is:
643 PEF config set: <pef config>
644
645 * unlock <pef> <pef config> - Unlock the lock in the
646 MC and mark the pef config as unlocked.
647 Response is:
648 PEF config unlocked: <pef config>
649
650 * close <pef config> - Free the pef config.
651 PEF config destroyed: <pef config>
652
653* lanparm - commands dealing with lanparms. These are basically
654 connections to the LAN configuration parameters in an MC. You
655 use a lanparm to fetch a lanparm config, which you can then
656 modify and write back to the MC. Note that when you get a
657 lanparm config, you claim a lock on the MC that must be
658 unlocked.
659
660 * list <domain> - List all the lanparms that currently exist in the
661 domain.
662 Response is:
663 Domain
664 Name: <domain>
665 LANPARMs
666 Name: <lanparm>
667 Name: <lanparm>
668 .
669 .
670
671 * info <lanparm> - Dump info about the lanparm.
672 Response is:
673 LANPARM
674 Name: <lanparm>
675 MC: <mc>
676 Channel: <integer>
677
678 * new <mc> <channel> - Create a lanparm for the given MC and
679 channel.
680 Response is:
681 LANPARM: <lanparm>
682
683 * unlock_mc <mc> <channel> - Unlock the lanparm lock on the given
684 MC and channel.
685 Response is:
686 LANPARM unlocked: <mc>
687
688 * close <lanparm> - Free the given lanparm
689 Response is:
690 LANPARM destroyed: <lanparm>
691
692 * config - commands dealing with lanparm configurations. These
693 are the actual lanparm data items.
694
695 * list - list all the lanparm configs
696 Response is:
697 LANPARMS
698 Name: <lanparm config>
699 Name: <lanparm config>
700 .
701 .
702
703 * info <lanparm config> - Dump information about the lanparm config.
704 Response is:
705 LANPARM Config
706 Name: <lanparm config>
707 ** LANPARM CONFIG **
708
709 * get <lanparm> - Fetch the lanparm data items from the lanparm
710 and create a lanparm config.
711 Response is:
712 LANPARM Config
713 Name: <lanparm config>
714 ** LANPARM CONFIG **
715
716 * set <lanparm> <lanparm config> - Write the lanparm data back
717 to the lanparm. Note that this must be the same lanparm used
718 to create the config.
719 Response is:
720 LANPARM config set: <lanparm config>
721
722 * unlock <lanparm> <lanparm config> - Unlock the lock in the
723 MC and mark the lanparm config as unlocked.
724 Response is:
725 LANPARM config unlocked: <lanparm config>
726
727 * close <lanparm config> - Free the lanparm config.
728 Response is:
729 LANPARM config destroyed: <lanparm config>
730
731* general
732 * evinfo true | false - Turn on or off dumping object information
733 when an event comes in. This is false by default.
734
735 * debug <type> on|off - Turn the given debugging type on or off
736
737
738EVENTS
739======
740
741The command language will output events to the console when they
742happen. Events all occur in the format:
743 Event
744 **EVENT INFO**
745
746The event info varies on the type of events. The defined events are
747listed.
748
749The following event is output when the domain is completely up and
750operational and finished all it SDR, FRU, and bus scans:
751 EVENT
752 Object Type: Domain
753 Name: <domain>
754 Operation: Domain fully up
755 Connection Number: <integer>
756 Port Number: <integer>
757 Any Connection Up: true | false
758 Error: <integer>
759
760The following comes out when domain connection infomration changes:
761 EVENT
762 Object Type: Domain
763 Name: <domain>
764 Operation: Connection Change
765
766The following comes out when domains are added:
767 EVENT
768 Object Type: Domain
769 Name: <domain>
770 Operation: Add
771 %**DOMAIN INFO**
772
773The following comes out when domains are destroyed:
774 EVENT
775 Object Type: Domain
776 Name: <domain>
777 Operation: Delete
778
779The following comes out when the domain gets an event that does not
780have a handler:
781 EVENT
782 Object Type: Event
783 **EVENT INFO**
784
785The following comes out when an entity is added:
786 EVENT
787 Object Type: Entity
788 Name: <entity>
789 Operation: Add
790 %**ENTITY INFO**
791
792The following comes out when an entity is deleted:
793 EVENT
794 Object Type: Entity
795 Name: <entity>
796 Operation: Delete
797
798The following comes out when an entity is changed:
799 EVENT
800 Object Type: Entity
801 Name: <entity>
802 Operation: Change
803 %**ENTITY INFO**
804
805The following comes out when an entity's FRU is added:
806 EVENT
807 Object Type: Entity FRU
808 Name: <entity>
809 Operation: Add
810 %**FRU INFO**
811
812The following comes out when an entity's FRU is deleted:
813 EVENT
814 Object Type: Entity FRU
815 Name: <entity>
816 Operation: Delete
817
818The following comes out when an entity's FRU is changed:
819 EVENT
820 Object Type: Entity FRU
821 Name: <entity>
822 Operation: Change
823 %**FRU INFO**
824
825The following comes out when an entity's presence changes:
826 EVENT
827 Object Type: Entity
828 Name: <entity>
829 Operation: Presence Change
830 Present: true | false
831 %Event
832 **EVENT INFO**
833
834The following comes out when an entity's hot-swap state changes:
835 EVENT
836 Object Type: Entity
837 Name: <entity>
838 Operation: Hot-Swap Change
839 Last State: not_present | inactive | activation_requested |
840 activation_in_progress | active | deactivation_requested |
841 deactivation_in_progress | out_of_con
842 State: not_present | inactive | activation_requested |
843 activation_in_progress | active | deactivation_requested |
844 deactivation_in_progress | out_of_con
845 %Event
846 **EVENT INFO**
847
848The following comes out when a discrete sensor gets an event:
849 EVENT
850 Object Type: Sensor
851 Name: <sensor>
852 Operation: Event
853 Offset: <integer>
854 Direction: assertion | deassertion
855 Severity: <integer>
856 Previous Severity: <integer>
857 %Event
858 **EVENT INFO**
859
860The following comes out when a threshold sensor gets an event:
861 EVENT
862 Object Type: Sensor
863 Name: <sensor>
864 Operation: Event
865 Threshold: lower non critical | lower critical | lower non recoverable
866 | upper non critical | upper critical | upper non recoverable
867 High/Low: going high | going low
868 Direction: assertion | deassertion
869 %Value: <double>
870 %Raw Value: <integer>
871 %Event
872 **EVENT INFO**
873
874The following comes out when a sensor is added:
875 EVENT
876 Object Type: Sensor
877 Name: <sensor>
878 Operation: Add
879 %**SENSOR INFO**
880
881The following comes out when a sensor is deleted:
882 EVENT
883 Object Type: Sensor
884 Name: <sensor>
885 Operation: Delete
886
887The following comes out when a sensor is changed:
888 EVENT
889 Object Type: Sensor
890 Name: <sensor>
891 Operation: Change
892 %**SENSOR INFO**
893
894The following comes out when a control gets an event:
895 EVENT
896 Object Type: Control
897 Name: <control>
898 Operation: Event
899 Value
900 Number: <integer>
901 Value: <integer>
902 %Event
903 **EVENT INFO**
904
905The following comes out when a control is added:
906 EVENT
907 Object Type: Control
908 Name: <control>
909 Operation: Add
910 %**CONTROL INFO**
911
912The following comes out when a control is deleted:
913 EVENT
914 Object Type: Control
915 Name: <control>
916 Operation: Delete
917
918The following comes out when a control is changed:
919 EVENT
920 Object Type: Control
921 Name: <control>
922 Operation: Change
923 %**CONTROL INFO**
924
925
926OBJECT INFO
927===========
928
929**EVENT INFO**
930 MC: <mc>
931 Record ID: <integer>
932 Event type: <integer>
933 Timestamp: <integer>
934 Data: <data bytes>
935
936
937**DOMAIN INFO**
938 Type: <domain type>
939 SEL Rescan Time: <time>
940 IPMB Rescan Time: <time>
941
942
943**ENTITY INFO**
944 Type: unknown | mc | fru | generic
945 Present: true | false
946 Presence sensor always there: true | false
947 Hot swappable: true | false
948 Parents
949 Name: <entity>
950 Name: <entity>
951 .
952 .
953 Children
954 Name: <entity>
955 Name: <entity>
956 .
957 .
958
959Note that Parents and Children fields will not be present if the
960entity has no parents or children. Each entity type except "unknown"
961will have its own output info. These are:
962
963mc:
964 Channel: <channel>
965 LUN: <lun>
966 OEM: <oem field from SDR>
967 Slave Address: <ipmb>
968 ACPI_system_power_notify_required: true | false
969 ACPI_device_power_notify_required: true | false
970 controller_logs_init_agent_errors: true | false
971 log_init_agent_errors_accessing: true | false
972 global_init: true | false
973 chassis_device: true | false
974 bridge: true | false
975 IPMB_event_generator: true | false
976 IPMB_event_receiver: true | false
977 FRU_inventory_device: true | false
978 SEL_device: true | false
979 SDR_repository_device: true | false
980 sensor_device: true | false
981
982fru:
983 Channel: <channel>
984 LUN: <lun>
985 OEM: <oem field from SDR>
986 Slave Address: <ipmb>
987 access_address: <ipmb>
988 private_bus_id: <integer>
989 device_type: <integer>
990 device_modifier: <integer>
991 is_logical_fru: true | false
992 fru_device_id: <integer>
993
994generic:
995 Channel: <channel>
996 LUN: <lun>
997 OEM: <oem field from SDR>
998 access_address: <ipmb>
999 private_bus_id: <integer>
1000 device_type: <integer>
1001 device_modifier: <integer>
1002 slave_address: <ipmb>
1003 address_span: <integer>
1004
1005
1006**MC INFO **
1007 provides_device_sdrs: true | false
1008 device_available: true | false
1009 chassis_support: true | false
1010 bridge_support: true | false
1011 ipmb_event_generator: true | false
1012 ipmb_event_receiver: true | false
1013 fru_inventory_support: true | false
1014 sel_device_support: true | false
1015 sdr_repository_support: true | false
1016 sensor_device_support: true | false
1017 device_id: <ipmb>
1018 device_revision: <integer>
1019 fw_revision: <integer>.<integer>
1020 version: <integer>.<integer>
1021 manufacturer_id: <integer>
1022 product_id: <integer>
1023 aux_fw_revision: <integer> <integer> <integer> <integer>
1024
1025
1026*SENSOR INFO**
1027 LUN: <integer>
1028 Number: <integer>
1029 Event Reading Type: <integer>
1030 Event Reading Type Name: one of:
1031 unspecified threshold discrete_usage discrete_state
1032 discrete_predictive_failure discrete_limit_exceeded
1033 discrete_performance_met discrete_severity discrete_device_presence
1034 discrete_device_enable discrete_availability discrete_redundancy
1035 discrete_acpi_power
1036
1037 Type: <integer>
1038 Type Name: <sensor type (a generic string)>
1039 %Event Support: per state | entire sensor | global
1040 Init Scanning: true | false
1041 Init Events: true | false
1042 Init Thresholds: true | false
1043 Init Hysteresis: true | false
1044 Init Type: true | false
1045 Init Power Up Events: true | false
1046 Init Power Up Scanning: true | false
1047 Ignore If No Entity: true | false
1048 Auto Rearm: true | false
1049 OEM1: <integer>
1050 Id: <string>
1051
1052For sensors of type "threshold", the following exist:
1053 Threshold Access: none | readable | settable | fixed
1054 Threshold
1055 Name: lower non critical | lower critical | lower non recoverable
1056 | upper non critical | upper critical | upper non recoverable
1057 Readable: true | false
1058 Settable: true | false
1059 Supports: going high assertion | going low assertion
1060 | going high deassertion | going low deassertion
1061 .
1062 .
1063 .
1064 .
1065 Hysteresis Support: none | readable | settable | fixed
1066 %Nominal Reading: <float>
1067 %Normal Max: <float>
1068 %Normal Min: <float>
1069 %Sensor Max: <float>
1070 %Sensor Min: <float>
1071 Base Unit: <integer>
1072 Base Unit Name: <string>
1073 %Rate Unit: <integer>
1074 %Rate Unit Name: <string>
1075 %Modifier Use: / | *
1076 %Modifier Unit: <integer>
1077 %Modifier Unit Name: <string>
1078
1079For sensors of type not "threshold", the following exist:
1080 Event
1081 Offset: <integer>
1082 Supports: assertion | deassertion
1083 .
1084 .
1085 .
1086 .
1087
1088Fields marked with % are optional
1089
1090
1091**CONTROL INFO**
1092 Type: <control type>
1093 Generates Events: true | false
1094 Settable: true | false
1095 Readable: true | false
1096 Num Values: <integer>
1097 Id: <string>
1098
1099 Controls of type light that are set with settings have the
1100 following:
1101 Set with: settings
1102 Local Control: true | false
1103 Color: black | white | red | green | blue | yellow | orange
1104 .
1105 .
1106 One color is listed for each supported color
1107
1108 Controls of type light that are set with transitions have the
1109 following:
1110 Light
1111 Number: <integer>
1112 Num Values: <integer>
1113 Value
1114 Number: <integer>
1115 Num Transitions: <integer>
1116 Transition
1117 Number: <integer>
1118 Color: black | white | red | green | blue | yellow | orange
1119 Time: <integer>
1120 .
1121 .
1122 .
1123 .
1124 .
1125 .
1126
1127 Controls of type identifier have the following:
1128 Max Length: <integer>
1129
1130
1131**FRU INFO**
1132 %Internal area version: <integer>
1133 %Internal area length: <integer>
1134 %Internal area data: <data bytes>
1135 %Chassis info version: <integer>
1136 %Chassis info type: <integer>
1137 %Record
1138 Name: Chassis info part number
1139 Type: binary | ascii | unicode
1140 Data: <data in the above format>
1141 %Record
1142 Name: Chassis info serial number
1143 Type: binary | ascii | unicode
1144 Data: <data in the above format>
1145 %String Field
1146 Name: Chassis info
1147 Number: <integer>
1148 Type: binary | ascii | unicode
1149 Data: <data in the above format>
1150 .
1151 .
1152 %Board info version: <integer>
1153 %Board info lang code: <integer>
1154 %Board info mfg time: <integer>
1155 %Record
1156 Name: Board info board manufacturer
1157 Type: binary | ascii | unicode
1158 Data: <data in the above format>
1159 %Record
1160 Name: Board info board product name
1161 Type: binary | ascii | unicode
1162 Data: <data in the above format>
1163 %Record
1164 Name: Board info board serial number
1165 Type: binary | ascii | unicode
1166 Data: <data in the above format>
1167 %Record
1168 Name: Board info board part number
1169 Type: binary | ascii | unicode
1170 Data: <data in the above format>
1171 %Record
1172 Name: Board info fru file id
1173 Type: binary | ascii | unicode
1174 Data: <data in the above format>
1175 %String Field
1176 Name: Board info
1177 Number: <integer>
1178 Type: binary | ascii | unicode
1179 Data: <data in the above format>
1180 .
1181 .
1182 %Product info version: <integer>
1183 %Product info lang code: <integer>
1184 %Record
1185 Name: Product info manufacturer name
1186 Type: binary | ascii | unicode
1187 Data: <data in the above format>
1188 %Record
1189 Name: Product info product name
1190 Type: binary | ascii | unicode
1191 Data: <data in the above format>
1192 %Record
1193 Name: Product info product part model number
1194 Type: binary | ascii | unicode
1195 Data: <data in the above format>
1196 %Record
1197 Name: Product info product version
1198 Type: binary | ascii | unicode
1199 Data: <data in the above format>
1200 %Record
1201 Name: Product info product serial number
1202 Type: binary | ascii | unicode
1203 Data: <data in the above format>
1204 %Record
1205 Name: Product info asset tag
1206 Type: binary | ascii | unicode
1207 Data: <data in the above format>
1208 %Record
1209 Name: Product info fru file id
1210 Type: binary | ascii | unicode
1211 Data: <data in the above format>
1212 %String Field
1213 Name: Product info
1214 Number: <integer>
1215 Type: binary | ascii | unicode
1216 Data: <data in the above format>
1217 .
1218 .
1219 %Multi-record
1220 Number: <integer>
1221 Type: binary | ascii | unicode
1222 Data: <data in the above format>
1223
1224
1225** LANPARM CONFIG **
1226 support_auth_oem: true | false
1227 support_auth_straight: true | false
1228 support_auth_md5: true | false
1229 support_auth_md2: true | false
1230 support_auth_none: true | false
1231 ip_addr_source: <integer>
1232 num_alert_destinations: <integer>
1233 %ipv4_ttl: <integer>
1234 %ipv4_flags: <integer>
1235 %ipv4_precedence: <integer>
1236 %ipv4_tos: <integer>
1237 %ip_addr: <ip addr>
1238 %mac_addr: <mac addr>
1239 %subnet_mask: <ip addr>
1240 %primary_rmcp_port <integer>
1241 %secondary_rmcp_port <integer>
1242 %bmc_generated_arps: true | false
1243 %bmc_generated_garps: true | false
1244 %garp_interval: <integer>
1245 %default_gateway_ip_addr: <ip addr>
1246 %default_gateway_mac_addr: <mac addr>
1247 %backup_gateway_ip_addr: <ip addr>
1248 %backup_gateway_mac_addr: <mac addr>
1249 community_string: <string>
1250 User
1251 Name: callback
1252 enable_auth_oem: true | false
1253 enable_auth_straight: true | false
1254 enable_auth_md5: true | false
1255 enable_auth_md2: true | false
1256 enable_auth_none: true | false
1257 User
1258 Name: user
1259 enable_auth_oem: true | false
1260 enable_auth_straight: true | false
1261 enable_auth_md5: true | false
1262 enable_auth_md2: true | false
1263 enable_auth_none: true | false
1264 User
1265 Name: operator
1266 enable_auth_oem: true | false
1267 enable_auth_straight: true | false
1268 enable_auth_md5: true | false
1269 enable_auth_md2: true | false
1270 enable_auth_none: true | false
1271 User
1272 Name: admin
1273 enable_auth_oem: true | false
1274 enable_auth_straight: true | false
1275 enable_auth_md5: true | false
1276 enable_auth_md2: true | false
1277 enable_auth_none: true | false
1278 User
1279 Name: oem
1280 enable_auth_oem: true | false
1281 enable_auth_straight: true | false
1282 enable_auth_md5: true | false
1283 enable_auth_md2: true | false
1284 enable_auth_none: true | false
1285 Alert Destination
1286 Number: <integer>
1287 alert_ack: true | false
1288 dest_type: <integer>
1289 alert_retry_interval: <integer>
1290 max_alert_retries: <integer>
1291 dest_format: <integer>
1292 gw_to_use: <integer>
1293 dest_ip_addr: <ip addr>
1294 dest_mac_addr: <mac addr>
1295 .
1296 .
1297
1298
1299** PEF CONFIG **
1300 alert_startup_delay_enabled: true | false
1301 startup_delay_enabled: true | false
1302 event_messages_enabled: true | false
1303 pef_enabled: true | false
1304 diagnostic_interrupt_enabled: true | false
1305 oem_action_enabled: true | false
1306 power_cycle_enabled: true | false
1307 reset_enabled: true | false
1308 power_down_enabled: true | false
1309 alert_enabled: true | false
1310 %startup_delay: <integer>
1311 %alert_startup_delay: <integer>
1312 guid_enabled: true | false
1313 guid_val: <guid>
1314 num_event_filters: <integer>
1315 num_alert_policies: <integer>
1316 num_alert_strings: <integer>
1317 Event Filter
1318 Number: <integer>
1319 enable_filter: true | false
1320 filter_type: <integer>
1321 diagnostic_interrupt: true | false
1322 oem_action: true | false
1323 power_cycle: true | false
1324 reset: true | false
1325 power_down: true | false
1326 alert: true | false
1327 alert_policy_number: <integer>
1328 event_severity: <integer>
1329 generator_id_addr: <integer>
1330 generator_id_channel_lun: <integer>
1331 sensor_type: <integer>
1332 sensor_number: <integer>
1333 event_trigger: <integer>
1334 data1_offset_mask: <integer>
1335 data1_mask: <integer>
1336 data1_compare1: <integer>
1337 data1_compare2: <integer>
1338 data2_mask: <integer>
1339 data2_compare1: <integer>
1340 data2_compare2: <integer>
1341 data3_mask: <integer>
1342 data3_compare1: <integer>
1343 data3_compare2: <integer>
1344 .
1345 .
1346 Alert Policy
1347 Number: <integer>
1348 policy_num: <integer>
1349 enabled: true | false
1350 policy: <integer>
1351 channel: <integer>
1352 destination_selector: <integer>
1353 alert_string_event_specific: true | false
1354 alert_string_selector: <integer>
1355 .
1356 .
1357 Alert String
1358 event_filter: <integer>
1359 alert_string_set: <integer>
1360 alert_string: <string>
1361 .
1362 .
1363
1364**CONNECTION INFO**
1365 Active: true | false
1366
1367**PEF INFO**
1368 MC: <mc>
1369
1370**PET INFO**
1371 MC: <mc>
1372 Channel: <channel>
1373 IP Address: <ip address>
1374 MAC Address: <mac address>
1375 EFT Selector: <eft selector>
1376 Policy Number: <policy number>
1377 APT Selector: <apt selector>
1378 LAN Dest Selector: <lan dest selector>
1379
1380**LANPARM INFO**
1381 MC: <mc>
1382 Channel: <integer>
1383