1IPMI-PET(8)                     System Commands                    IPMI-PET(8)
2
3
4

NAME

6       IPMI - IPMI Platform Event Trap Interpreter
7

SYNOPSIS

9       ipmi-pet [OPTION...] [SPECIFIC TRAP] [VARIABLE BINDING HEX BYTES ...]
10

DESCRIPTION

12       Ipmi-pet interprets hex bytes from a platform event trap (PET) and out‐
13       puts a string representing its contents. Hex values may be input on the
14       command  line, a file via the --file option, or via stdin if neither of
15       the previous are specified.
16
17       Ipmi-pet is commonly used in conjunction with an SNMP  trap  daemon  to
18       intrepret  the  results  from  an IPMI PET trap captured by the daemon.
19       While ipmi-pet could be called directly from such a daemon, typically a
20       script  is called to parse the SNMP daemon's output and convert it into
21       a form that can be input into ipmi-pet.  On some systems, you may  wish
22       to also send a PET acknowledge to a remote system to inform it the trap
23       was received and parsed. One can be sent  using  the  --pet-acknowledge
24       option.
25
26       While an IPMI session is not required to interpret a PET, data from the
27       sensor data repository (SDR) is required to properly  interpret  sensor
28       names  and  other  information  in  the PET. IPMI session configuration
29       below, such as driver, hostname, username, etc. should be configured to
30       load  the SDR of the host where the trap originated.  If this is diffi‐
31       cult to perform, it may be wise to cache and load a specific SDR  cache
32       using  the --sdr-cache-file option.  If the SDR is difficult to obtain,
33       the --ignore-sdr-cache option can be specified so that an SDR will  not
34       be  loaded,  and  an IPMI session will not be required. The PET will be
35       interpreted as best as possible given no  SDR.  The  --ignore-sdr-cache
36       option  may affect other options such as --interpret-oem-data too. Some
37       options, such as --manufacturer-id and --product-id may alleviate  some
38       of these issues.
39
40       If  the  SNMP daemon does not output a SNMPv1 specific trap on its own,
41       it is typically output as the last element of the OID  in  SNMPv2.   If
42       for  some  reason a specific trap cannot be determined, the value of NA
43       may be input for the specific trap to indicate  it  is  not  available.
44       Ipmi-pet will output as much as possible based on the variable bindings
45       information. Some of the specific trap information may be obtained  via
46       SDR information.
47
48       Listed  below  are general IPMI options, tool specific options, trouble
49       shooting  information,  workaround  information,  examples,  and  known
50       issues. For a general introduction to FreeIPMI please see freeipmi(7).
51

GENERAL OPTIONS

53       The following options are general options for configuring IPMI communi‐
54       cation and executing general tool commands.
55
56       -D IPMIDRIVER, --driver-type=IPMIDRIVER
57              Specify the driver type to use instead of doing an  auto  selec‐
58              tion.   The  currently  available  outofband drivers are LAN and
59              LAN_2_0, which perform IPMI 1.5 and IPMI 2.0  respectively.  The
60              currently  available inband drivers are KCS, SSIF, OPENIPMI, and
61              SUNBMC.
62
63       --disable-auto-probe
64              Do not probe in-band IPMI devices for default settings.
65
66       --driver-address=DRIVER-ADDRESS
67              Specify the in-band driver address to be  used  instead  of  the
68              probed  value. DRIVER-ADDRESS should be prefixed with "0x" for a
69              hex value and '0' for an octal value.
70
71       --driver-device=DEVICE
72              Specify the in-band driver device path to be used instead of the
73              probed path.
74
75       --register-spacing=REGISTER-SPACING
76              Specify  the  in-band  driver  register  spacing  instead of the
77              probed value. Argument is in bytes (i.e. 32bit register  spacing
78              = 4)
79
80       --target-channel-number=CHANNEL-NUMBER
81              Specify  the  in-band  driver target channel number to send IPMI
82              requests to.
83
84       --target-slave-address=SLAVE-ADDRESS
85              Specify the in-band driver target  slave  number  to  send  IPMI
86              requests to.
87
88       -h IPMIHOST, --hostname=IPMIHOST[:PORT]
89              Specify  the  remote  host to communicate with. An optional port
90              can be specified, which may be useful in port forwarding or sim‐
91              ilar situations.
92
93       -u USERNAME, --username=USERNAME
94              Specify  the username to use when authenticating with the remote
95              host.  If not specified, a null  (i.e.  anonymous)  username  is
96              assumed. The user must have atleast OPERATOR privileges in order
97              for this tool to operate fully.
98
99       -p PASSWORD, --password=PASSWORD
100              Specify the password to use when authenticationg with the remote
101              host.   If  not  specified,  a null password is assumed. Maximum
102              password length is 16 for IPMI 1.5 and 20 for IPMI 2.0.
103
104       -P, --password-prompt
105              Prompt for password  to  avoid  possibility  of  listing  it  in
106              process lists.
107
108       -k K_G, --k-g=K_G
109              Specify  the  K_g  BMC  key  to use when authenticating with the
110              remote host for IPMI 2.0.  If  not  specified,  a  null  key  is
111              assumed. To input the key in hexadecimal form, prefix the string
112              with '0x'. E.g., the key 'abc' can be entered  with  the  either
113              the string 'abc' or the string '0x616263'
114
115       -K, --k-g-prompt
116              Prompt  for  k-g  to  avoid possibility of listing it in process
117              lists.
118
119       --session-timeout=MILLISECONDS
120              Specify the session timeout in milliseconds. Defaults  to  20000
121              milliseconds (20 seconds) if not specified.
122
123       --retransmission-timeout=MILLISECONDS
124              Specify  the  packet  retransmission  timeout  in  milliseconds.
125              Defaults to 1000 milliseconds (1 second) if not  specified.  The
126              retransmission  timeout  cannot be larger than the session time‐
127              out.
128
129       -a AUTHENTICATION-TYPE, --authentication-type=AUTHENTICATION-TYPE
130              Specify the IPMI 1.5 authentication type to use.  The  currently
131              available  authentication types are NONE, STRAIGHT_PASSWORD_KEY,
132              MD2, and MD5. Defaults to MD5 if not specified.
133
134       -I CIPHER-SUITE-ID, --cipher-suite-id=CIPHER-SUITE-ID
135              Specify the IPMI 2.0 cipher suite ID to use. The Cipher Suite ID
136              identifies a set of authentication, integrity, and confidential‐
137              ity algorithms to use for IPMI 2.0 communication. The  authenti‐
138              cation  algorithm  identifies  the  algorithm to use for session
139              setup, the integrity algorithm identifies the algorithm  to  use
140              for session packet signatures, and the confidentiality algorithm
141              identifies the algorithm to use for payload encryption. Defaults
142              to  cipher  suite  ID  3  if not specified. The following cipher
143              suite ids are currently supported:
144
145              0 - Authentication Algorithm = None; Integrity Algorithm = None;
146              Confidentiality Algorithm = None
147
148              1  - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm =
149              None; Confidentiality Algorithm = None
150
151              2 - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm  =
152              HMAC-SHA1-96; Confidentiality Algorithm = None
153
154              3  - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm =
155              HMAC-SHA1-96; Confidentiality Algorithm = AES-CBC-128
156
157              6 - Authentication Algorithm = HMAC-MD5; Integrity  Algorithm  =
158              None; Confidentiality Algorithm = None
159
160              7  -  Authentication Algorithm = HMAC-MD5; Integrity Algorithm =
161              HMAC-MD5-128; Confidentiality Algorithm = None
162
163              8 - Authentication Algorithm = HMAC-MD5; Integrity  Algorithm  =
164              HMAC-MD5-128; Confidentiality Algorithm = AES-CBC-128
165
166              11  - Authentication Algorithm = HMAC-MD5; Integrity Algorithm =
167              MD5-128; Confidentiality Algorithm = None
168
169              12 - Authentication Algorithm = HMAC-MD5; Integrity Algorithm  =
170              MD5-128; Confidentiality Algorithm = AES-CBC-128
171
172              15 - Authentication Algorithm = HMAC-SHA256; Integrity Algorithm
173              = None; Confidentiality Algorithm = None
174
175              16 - Authentication Algorithm = HMAC-SHA256; Integrity Algorithm
176              = HMAC_SHA256_128; Confidentiality Algorithm = None
177
178              17 - Authentication Algorithm = HMAC-SHA256; Integrity Algorithm
179              = HMAC_SHA256_128; Confidentiality Algorithm = AES-CBC-128
180
181       -l PRIVILEGE-LEVEL, --privilege-level=PRIVILEGE-LEVEL
182              Specify the privilege level to be used. The currently  available
183              privilege  levels  are  USER,  OPERATOR,  and ADMIN. Defaults to
184              OPERATOR if not specified.
185
186       --config-file=FILE
187              Specify an alternate configuration file.
188
189       -W WORKAROUNDS, --workaround-flags=WORKAROUNDS
190              Specify workarounds to vendor compliance issues. Multiple  work‐
191              arounds  can be specified separated by commas. A special command
192              line flag of "none", will indicate no workarounds (may be useful
193              for overriding configured defaults). See WORKAROUNDS below for a
194              list of available workarounds.
195
196       --debug
197              Turn on debugging.
198
199       -?, --help
200              Output a help list and exit.
201
202       --usage
203              Output a usage message and exit.
204
205       -V, --version
206              Output the program version and exit.
207

IPMI-PET OPTIONS

209       The following options are specific to Ipmi-pet.
210
211       -v     Output verbose output. This option will output  event  direction
212              and OEM custom messages from the trap.
213
214       -vv    Output  very  verbose output. This option will output additional
215              information available in the trap, such  as  GUID,  manufacturer
216              ID, and system ID.
217
218       -vvv   Output  very  very verbose output. This option will output addi‐
219              tional information than verbose output.  Most  notably  it  will
220              output  additional  hex  codes to given information on ambiguous
221              events. For example, it will output Generator ID hex  codes  for
222              sensors without names.
223
224       --pet-acknowledge
225              Send  PET  acknowledge  using inputted trap data instead of out‐
226              putting data. In some  circumstances,  this  may  be  useful  to
227              inform  a  remote system that a trap was received and parsed. If
228              specified, a hostname must be specified via -h or --hostname  to
229              inform  ipmi-pet  where  to  send  the acknowledge to. When this
230              option is specified, the SDR cache is  not  loaded  and  is  not
231              required.
232
233       --file=CMD-FILE
234              Specify  a  file to read PET specific trap and variable bindings
235              hex from instead of command line.
236
237       --output-event-severity
238              Output event severity in output. This  will  add  an  additional
239              output  of an event severity. The outputs may be Monitor, Infor‐
240              mation, OK, Non-critical condition, Critical condition, or  Non-
241              recoverable  condition.  This  differs from the output of --out‐
242              put-event-state, as event severity is not interpreted, it  is  a
243              value  reported  in  the  SNMP trap. However, not all events may
244              report a severity, or some manufacturers  may  not  support  the
245              report  of a severity. Event severity will automatically be out‐
246              put under verbose output.
247
248       --output-event-state
249              Output event state in output. This will add an additional output
250              reporting  if  an event should be viewed as NOMINAL, WARNING, or
251              CRITICAL. This differs from the output of  --output-event-sever‐
252              ity,  as this output is an interpreted value that will be inter‐
253              preted identically to the --output-event-state output  in  ipmi-
254              sel(8).   As  long  as an event interpretation is supported, all
255              events will have outputted state. The event state is  an  inter‐
256              preted     value     based    on    the    configuration    file
257              /etc//freeipmi_interpret_sel.conf and the event  direction.  See
258              freeipmi_interpret_sel.conf(5) for more information.
259
260       --event-state-config-file=FILE
261              Specify  an  alternate  event  state  configuration file. Option
262              ignored if --output-event-state not specified.
263
264       --manufacturer-id=NUMBER
265              Specify a specific manufacturer id to assume. Useful if you wish
266              to  specify --interpret-oem-data, but the manufacturer id cannot
267              be determined by IPMI access or is not  available  in  the  SNMP
268              trap.   The  manufacturer  id of a motherboard can be determined
269              with bmc-info(8).  If this option is specified, so must  --prod‐
270              uct-id.
271
272       --product-id=NUMBER
273              Specify  a  specific product id to assume. Useful if you wish to
274              specify --interpret-oem-data,  but  the  product  id  cannot  be
275              determined  by IPMI access or is not available in the SNMP trap.
276              The product id of a motherboard  can  be  determined  with  bmc-
277              info(8).   If  this  option  is  specified,  so  must --manufac‐
278              turer-id.
279
280       --interpret-oem-data
281              Attempt to interpret OEM data, such as event data, sensor  read‐
282              ings,  or  general  extra info, etc. If an OEM interpretation is
283              not available, the default output will be generated. Correctness
284              of  OEM  interpretations  cannot  be guaranteed due to potential
285              changes OEM vendors may make in products, firmware, etc. See OEM
286              INTERPRETATION  below for confirmed supported motherboard inter‐
287              pretations.
288
289       --entity-sensor-names
290              Output sensor names prefixed with their entity id  and  instance
291              number  when  appropriate. This may be necessary on some mother‐
292              boards to help identify what sensors are referencing. For  exam‐
293              ple,  a  motherboard may have multiple sensors named 'TEMP'. The
294              entity id and instance number  may  help  clarify  which  sensor
295              refers to "Processor 1" vs. "Processor 2".
296
297       --no-sensor-type-output
298              Do  not show sensor type output for each entry. On many systems,
299              the sensor type is redundant to the name of the sensor. This can
300              especially  be  true  if --entity-sensor-names is specified.  If
301              the sensor name is sufficient, or if the sensor type  is  of  no
302              interest  to  the user, this option can be specified to condense
303              output.
304
305       --comma-separated-output
306              Output fields in comma separated format.
307
308       --no-header-output
309              Do not output column headers. May be useful in scripting.
310
311       --non-abbreviated-units
312              Output non-abbreviated units (e.g. 'Amps' instead of  'A').  May
313              aid  in  disambiguation  of  units  (e.g.  'C'  for  Celsius  or
314              Coulombs).
315

SDR CACHE OPTIONS

317       This tool requires access to the sensor data repository (SDR) cache for
318       general  operation.  By default, SDR data will be downloaded and cached
319       on the local machine. The following options apply to the SDR cache.
320
321       -f, --flush-cache
322              Flush a cached version  of  the  sensor  data  repository  (SDR)
323              cache. The SDR is typically cached for faster subsequent access.
324              However, it may need to be flushed and re-generated if  the  SDR
325              has been updated on a system.
326
327       -Q, --quiet-cache
328              Do  not output information about cache creation/deletion. May be
329              useful in scripting.
330
331       --sdr-cache-recreate
332              If the SDR cache is out of date or invalid, automatically recre‐
333              ate  the  sensor data repository (SDR) cache. This option may be
334              useful for scripting purposes.
335
336       --sdr-cache-file=FILE
337              Specify a specific sensor data repository (SDR) cache file to be
338              stored  or read from. If this option is used when multiple hosts
339              are specified, the same SDR cache file  will  be  used  for  all
340              hosts.
341
342       --sdr-cache-directory=DIRECTORY
343              Specify  an alternate directory for sensor data repository (SDR)
344              caches to be stored or read from. Defaults to the home directory
345              if not specified.
346
347       --ignore-sdr-cache
348              Ignore  SDR  cache related processing. May lead to incomplete or
349              less useful information being  output,  however  it  will  allow
350              functionality  for  systems without SDRs or when the correct SDR
351              cannot be loaded.
352

GENERAL TROUBLESHOOTING

354       Most often, IPMI problems are due to configuration problems.
355
356       IPMI over  LAN  problems  involve  a  misconfiguration  of  the  remote
357       machine's  BMC.  Double check to make sure the following are configured
358       properly in the remote machine's BMC: IP address, MAC  address,  subnet
359       mask,  username,  user enablement, user privilege, password, LAN privi‐
360       lege, LAN enablement, and allowed authentication type(s). For IPMI  2.0
361       connections,  double  check  to make sure the cipher suite privilege(s)
362       and K_g key are configured properly. The bmc-config(8) tool can be used
363       to check and/or change these configuration settings.
364
365       Inband  IPMI  problems  are  typically  caused by improperly configured
366       drivers or non-standard BMCs.
367
368       In addition to the troubleshooting tips below, please  see  WORKAROUNDS
369       below to also if there are any vendor specific bugs that have been dis‐
370       covered and worked around.
371
372       Listed below are many of the common issues  for  error  messages.   For
373       additional  support, please e-mail the <freeipmi-users@gnu.org> mailing
374       list.
375
376       "username invalid" - The username entered (or a NULL username  if  none
377       was  entered)  is  not  available on the remote machine. It may also be
378       possible the remote BMC's username configuration is incorrect.
379
380       "password invalid" - The password entered (or a NULL password  if  none
381       was  entered)  is not correct. It may also be possible the password for
382       the user is not correctly configured on the remote BMC.
383
384       "password verification timeout" - Password verification has timed  out.
385       A  "password  invalid"  error  (described  above) or a generic "session
386       timeout" (described below) occurred.  During this point in the protocol
387       it cannot be differentiated which occurred.
388
389       "k_g  invalid"  -  The  K_g  key entered (or a NULL K_g key if none was
390       entered) is not correct. It may also be possible the  K_g  key  is  not
391       correctly configured on the remote BMC.
392
393       "privilege level insufficient" - An IPMI command requires a higher user
394       privilege than the one authenticated with. Please try  to  authenticate
395       with a higher privilege. This may require authenticating to a different
396       user which has a higher maximum privilege.
397
398       "privilege level cannot be obtained for  this  user"  -  The  privilege
399       level  you are attempting to authenticate with is higher than the maxi‐
400       mum allowed for this user. Please try again with a lower privilege.  It
401       may  also be possible the maximum privilege level allowed for a user is
402       not configured properly on the remote BMC.
403
404       "authentication type unavailable for attempted privilege level"  -  The
405       authentication  type you wish to authenticate with is not available for
406       this privilege level. Please try again with an alternate authentication
407       type  or  alternate privilege level. It may also be possible the avail‐
408       able authentication types you can authenticate with are  not  correctly
409       configured on the remote BMC.
410
411       "cipher suite id unavailable" - The cipher suite id you wish to authen‐
412       ticate with is not available on the remote BMC. Please try  again  with
413       an  alternate  cipher  suite  id. It may also be possible the available
414       cipher suite ids are not correctly configured on the remote BMC.
415
416       "ipmi 2.0 unavailable" - IPMI 2.0 was  not  discovered  on  the  remote
417       machine. Please try to use IPMI 1.5 instead.
418
419       "connection  timeout"  - Initial IPMI communication failed. A number of
420       potential errors are possible, including an invalid hostname specified,
421       an  IPMI  IP  address  cannot  be  resolved, IPMI is not enabled on the
422       remote server, the network connection is bad, etc. Please  verify  con‐
423       figuration and connectivity.
424
425       "session  timeout"  - The IPMI session has timed out. Please reconnect.
426       If this error occurs often, you may wish to increase the retransmission
427       timeout. Some remote BMCs are considerably slower than others.
428
429       "device  not  found"  - The specified device could not be found. Please
430       check configuration or inputs and try again.
431
432       "driver timeout" - Communication with the driver or  device  has  timed
433       out. Please try again.
434
435       "message  timeout"  - Communication with the driver or device has timed
436       out. Please try again.
437
438       "BMC busy" - The BMC is currently busy. It may be  processing  informa‐
439       tion  or have too many simultaneous sessions to manage. Please wait and
440       try again.
441
442       "could not find inband device" - An inband device could not  be  found.
443       Please  check configuration or specify specific device or driver on the
444       command line.
445
446       "driver timeout" - The inband driver has timed out communicating to the
447       local  BMC  or  service  processor. The BMC or service processor may be
448       busy or (worst case) possibly non-functioning.
449

WORKAROUNDS

451       With so many different vendors implementing their own  IPMI  solutions,
452       different  vendors  may implement their IPMI protocols incorrectly. The
453       following describes a number of workarounds currently available to han‐
454       dle  discovered compliance issues. When possible, workarounds have been
455       implemented so they will be transparent to the user. However, some will
456       require the user to specify a workaround be used via the -W option.
457
458       The hardware listed below may only indicate the hardware that a problem
459       was discovered on. Newer versions of  hardware  may  fix  the  problems
460       indicated  below.  Similar machines from vendors may or may not exhibit
461       the same problems. Different vendors may license  their  firmware  from
462       the  same IPMI firmware developer, so it may be worthwhile to try work‐
463       arounds listed below even if your motherboard is not listed.
464
465       If you believe your hardware has an additional  compliance  issue  that
466       needs a workaround to be implemented, please contact the FreeIPMI main‐
467       tainers on <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.
468
469       assumeio - This workaround flag will assume inband interfaces  communi‐
470       cate  with  system  I/O rather than being memory-mapped. This will work
471       around systems that report invalid base addresses. Those  hitting  this
472       issue  may see "device not supported" or "could not find inband device"
473       errors.  Issue observed on HP ProLiant DL145 G1.
474
475       spinpoll - This workaround flag will inform some inband  drivers  (most
476       notably  the  KCS driver) to spin while polling rather than putting the
477       process to sleep. This may significantly improve the wall clock running
478       time  of  tools because an operating system scheduler's granularity may
479       be much larger than the time it takes to perform a single IPMI  message
480       transaction.  However,  by spinning, your system may be performing less
481       useful work by not contexting out the tool for a more useful task.
482
483       authcap - This workaround flag will  skip  early  checks  for  username
484       capabilities,  authentication  capabilities,  and K_g support and allow
485       IPMI authentication to succeed. It  works  around  multiple  issues  in
486       which the remote system does not properly report username capabilities,
487       authentication capabilities, or K_g status. Those  hitting  this  issue
488       may  see  "username  invalid",  "authentication  type  unavailable  for
489       attempted privilege level", or "k_g invalid" errors.  Issue observed on
490       Asus  P5M2/P5MT-R/RS162-E4/RX4,  Intel  SR1520ML/X38ML,  and  Sun  Fire
491       2200/4150/4450 with ELOM.
492
493       idzero - This workaround flag  will  allow  empty  session  IDs  to  be
494       accepted by the client. It works around IPMI sessions that report empty
495       session IDs to the client. Those hitting this issue  may  see  "session
496       timeout" errors. Issue observed on Tyan S2882 with M3289 BMC.
497
498       unexpectedauth  -  This  workaround flag will allow unexpected non-null
499       authcodes to be checked as though they were expected. It  works  around
500       an  issue  when  packets contain non-null authentication data when they
501       should be null due to disabled per-message authentication.  Those  hit‐
502       ting  this  issue  may  see "session timeout" errors. Issue observed on
503       Dell PowerEdge 2850,SC1425. Confirmed fixed on newer firmware.
504
505       forcepermsg - This workaround flag will force  per-message  authentica‐
506       tion  to  be used no matter what is advertised by the remote system. It
507       works around an issue when per-message authentication is advertised  as
508       disabled on the remote system, but it is actually required for the pro‐
509       tocol. Those hitting this  issue  may  see  "session  timeout"  errors.
510       Issue observed on IBM eServer 325.
511
512       endianseq  -  This  workaround flag will flip the endian of the session
513       sequence numbers to allow the session to continue  properly.  It  works
514       around  IPMI  1.5  session  sequence numbers that are the wrong endian.
515       Those hitting this  issue  may  see  "session  timeout"  errors.  Issue
516       observed  on  some  Sun  ILOM  1.0/2.0  (depends  on  service processor
517       endian).
518
519       noauthcodecheck - This workaround flag will tell FreeIPMI to not  check
520       the  authentication  codes returned from IPMI 1.5 command responses. It
521       works around systems to return  invalid  authentication  codes  due  to
522       hashing  or  implementation  errors.  Users are cautioned on the use of
523       this option, as it removes an authentication check verifying the valid‐
524       ity of a packet. However, in most organizations, this is unlikely to be
525       a security issue. Those hitting this issue may  see  "connection  time‐
526       out",  "session  timeout",  or  "password verification timeout" errors.
527       Issue observed on Xyratex FB-H8-SRAY.
528
529       intel20 - This workaround flag will work around several Intel IPMI  2.0
530       authentication issues. The issues covered include padding of usernames,
531       and password  truncation  if  the  authentication  algorithm  is  HMAC-
532       MD5-128. Those hitting this issue may see "username invalid", "password
533       invalid", or "k_g invalid" errors. Issue observed  on  Intel  SE7520AF2
534       with Intel Server Management Module (Professional Edition).
535
536       supermicro20 - This workaround flag will work around several Supermicro
537       IPMI 2.0  authentication  issues  on  motherboards  w/  Peppercon  IPMI
538       firmware.  The issues covered include handling invalid length authenti‐
539       cation codes. Those hitting  this  issue  may  see  "password  invalid"
540       errors.   Issue  observed on Supermicro H8QME with SIMSO daughter card.
541       Confirmed fixed on newerver firmware.
542
543       sun20 - This workaround flag will work work around several Sun IPMI 2.0
544       authentication issues. The issues covered include invalid lengthed hash
545       keys, improperly hashed keys, and invalid cipher suite  records.  Those
546       hitting  this  issue  may see "password invalid" or "bmc error" errors.
547       Issue observed on Sun Fire 4100/4200/4500 with ILOM.   This  workaround
548       automatically includes the "opensesspriv" workaround.
549
550       opensesspriv - This workaround flag will slightly alter FreeIPMI's IPMI
551       2.0 connection protocol to workaround an invalid hashing algorithm used
552       by  the remote system. The privilege level sent during the Open Session
553       stage of an IPMI 2.0 connection is used for hashing keys instead of the
554       privilege  level  sent during the RAKP1 connection stage. Those hitting
555       this issue may see "password invalid", "k_g invalid", or "bad  rmcpplus
556       status  code"  errors.   Issue observed on Sun Fire 4100/4200/4500 with
557       ILOM, Inventec 5441/Dell Xanadu II, Supermicro X8DTH, Supermicro X8DTG,
558       Intel S5500WBV/Penguin Relion 700, Intel S2600JF/Appro 512X, and Quanta
559       QSSC-S4R//Appro GB812X-CN. This workaround is  automatically  triggered
560       with the "sun20" workaround.
561
562       integritycheckvalue  - This workaround flag will work around an invalid
563       integrity check value during an IPMI  2.0  session  establishment  when
564       using  Cipher Suite ID 0. The integrity check value should be 0 length,
565       however the remote motherboard responds with a non-empty  field.  Those
566       hitting  this  issue  may  see  "k_g invalid" errors. Issue observed on
567       Supermicro X8DTG, Supermicro X8DTU, and Intel  S5500WBV/Penguin  Relion
568       700, and Intel S2600JF/Appro 512X.
569
570       assumemaxsdrrecordcount  -  This  workaround will inform SDR reading to
571       stop reading after a known maximum numer of SDR records have been read.
572       This  will  work  around  systems that have mis-implemented SDR reading
573       functions that. Those hitting this issue  may  see  "SDR  record  count
574       invalid" errors. Issue observed on unspecified Inspur motherboard.
575
576       malformedack  - This workaround flag will ignore malformed PET acknowl‐
577       edge responses and assume any PET acknowledge response from the  remote
578       machine  is valid. It works around remote systems that respond with PET
579       acknowledge requests with invalid/malformed IPMI payloads.  Those  hit‐
580       ting  this  issue may see "session timeout" errors when executing a PET
581       acknowledge. Issue observed on Dell Poweredge R610.
582
583       No IPMI 1.5 Support - Some motherboards that support IPMI 2.0 have been
584       found  to  not support IPMI 1.5. Those hitting this issue may see "ipmi
585       2.0 unavailable" or "connection timeout"  errors.  This  issue  can  be
586       worked  around  by  using  IPMI  2.0  instead of IPMI 1.5 by specifying
587       --driver-address=LAN_2_0. Issue observed on HP Proliant DL 145.
588

OEM INTERPRETATION

590       The following motherboards are confirmed to have atleast  some  support
591       by  the --interpret-oem-data option. While highly probable the OEM data
592       interpretations would work across other motherboards by the same  manu‐
593       facturer,  there  are no guarantees. Some of the motherboards below may
594       be rebranded by vendors/distributors.
595
596       Currently None
597

EXAMPLES

599       Interpret a PET using the local SDR cache.
600
601       # ipmi-pet 356224 0x44 0x45 0x4c 0x4c 0x50 0x00  0x10  0x59  0x80  0x43
602       0xb2  0xc0  0x4f 0x33 0x33 0x58 0x00 0x02 0x19 0xe8 0x7e 0x26 0xff 0xff
603       0x20 0x20 0x04 0x20 0x73 0x18 0x00 0x80 0x01 0xff 0x00 0x00  0x00  0x00
604       0x00 0x19 0x00 0x00 0x02 0xa2 0x01 0x00 0xc1
605
606       Interpret a PET using a remote SDR cache.
607
608       #  ipmi-pet  -h ahost -u myusername -p mypassword 356224 0x44 0x45 0x4c
609       0x4c 0x50 0x00 0x10 0x59 0x80 0x43 0xb2 0xc0 0x4f 0x33 0x33  0x58  0x00
610       0x02  0x19  0xe8 0x7e 0x26 0xff 0xff 0x20 0x20 0x04 0x20 0x73 0x18 0x00
611       0x80 0x01 0xff 0x00 0x00 0x00 0x00 0x00 0x19 0x00 0x00 0x02  0xa2  0x01
612       0x00 0xc1
613
614       Interpret a PET using a previously stored SDR cache.
615
616       #  ipmi-pet  356224  0x44  0x45 0x4c 0x4c 0x50 0x00 0x10 0x59 0x80 0x43
617       0xb2 0xc0 0x4f 0x33 0x33 0x58 0x00 0x02 0x19 0xe8 0x7e 0x26  0xff  0xff
618       0x20  0x20  0x04 0x20 0x73 0x18 0x00 0x80 0x01 0xff 0x00 0x00 0x00 0x00
619       0x00 0x19 0x00 0x00 0x02 0xa2 0x01 0x00 0xc1 --sdr-cache-file=/tmp/mys‐
620       drcache
621
622       Instead of outputting trap interpretation, send a PET acknowledge using
623       the trap data.
624
625       # ipmi-pet -h ahost --pet-acknowledge 356224 0x44 0x45 0x4c  0x4c  0x50
626       0x00  0x10  0x59 0x80 0x43 0xb2 0xc0 0x4f 0x33 0x33 0x58 0x00 0x02 0x19
627       0xe8 0x7e 0x26 0xff 0xff 0x20 0x20 0x04 0x20 0x73 0x18 0x00  0x80  0x01
628       0xff 0x00 0x00 0x00 0x00 0x00 0x19 0x00 0x00 0x02 0xa2 0x01 0x00 0xc1
629

DIAGNOSTICS

631       Upon  successful  execution, exit status is 0. On error, exit status is
632       1.
633

KNOWN ISSUES

635       On older operating systems, if you input your username,  password,  and
636       other  potentially  security  relevant information on the command line,
637       this information may be discovered by other users when using tools like
638       the  ps(1) command or looking in the /proc file system. It is generally
639       more secure to input password information with options like the  -P  or
640       -K  options.  Configuring security relevant information in the FreeIPMI
641       configuration file would also be an appropriate way to hide this infor‐
642       mation.
643
644       In  order  to  prevent  brute force attacks, some BMCs will temporarily
645       "lock up" after a number of remote authentication errors. You may  need
646       to  wait awhile in order to this temporary "lock up" to pass before you
647       may authenticate again.
648

REPORTING BUGS

650       Report bugs to <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.
651
653       Copyright © 2011-2012 FreeIPMI Core Team
654
655       This program is free software; you can redistribute it and/or modify it
656       under  the  terms of the GNU General Public License as published by the
657       Free Software Foundation; either version 3 of the License, or (at  your
658       option) any later version.
659

SEE ALSO

661       freeipmi(7),      bmc-info(8),     ipmi-pef-config(8),     ipmi-sel(8),
662       freeipmi_interpret_sel.conf(5)
663
664       http://www.gnu.org/software/freeipmi/
665
666
667
668IPMI-PET version 1.2.1            2017-03-22                       IPMI-PET(8)
Impressum