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

NAME

6       ipmi-fru - display FRU information
7

SYNOPSIS

9       ipmi-fru [OPTION...]
10

DESCRIPTION

12       Ipmi-fru displays Field Replaceable Unit (FRU) Information.
13
14       Listed  below  are general IPMI options, tool specific options, trouble
15       shooting  information,  workaround  information,  examples,  and  known
16       issues. For a general introduction to FreeIPMI please see freeipmi(7).
17

GENERAL OPTIONS

19       The following options are general options for configuring IPMI communi‐
20       cation and executing general tool commands.
21
22       -D, --driver-type=IPMIDRIVER
23              Specify the driver type to use instead of doing an  auto  selec‐
24              tion.   The  currently  available  outofband drivers are LAN and
25              LAN_2_0, which perform IPMI 1.5 and IPMI 2.0  respectively.  The
26              currently  available inband drivers are KCS, SSIF, OPENIPMI, and
27              SUNBMC.
28
29       --disable-auto-probe
30              Do not probe in-band IPMI devices for default settings.
31
32       --driver-address=DRIVER-ADDRESS
33              Specify the in-band driver address to be  used  instead  of  the
34              probed  value. DRIVER-ADDRESS should be prefixed with "0x" for a
35              hex value and '0' for an octal value.
36
37       --driver-device=DEVICE
38              Specify the in-band driver device path to be used instead of the
39              probed path.
40
41       --register-spacing=REGISTER-SPACING
42              Specify  the  in-band  driver  register  spacing  instead of the
43              probed value.
44
45       -h, --hostname=IPMIHOST1,IPMIHOST2,...
46              Specify the remote host(s) to communicate with.  Multiple  host‐
47              names  may  be separated by comma or may be specified in a range
48              format; see HOSTRANGED SUPPORT below.
49
50       -u, --username=USERNAME
51              Specify the username to use when authenticating with the  remote
52              host.   If  not  specified,  a null (i.e. anonymous) username is
53              assumed. The user must have atleast USER privileges in order for
54              this tool to operate fully.
55
56       -p, --password=PASSWORD
57              Specify the password to use when authenticationg with the remote
58              host.  If not specified, a null  password  is  assumed.  Maximum
59              password length is 16 for IPMI 1.5 and 20 for IPMI 2.0.
60
61       -P, --password-prompt
62              Prompt  for  password  to  avoid  possibility  of  listing it in
63              process lists.
64
65       -k, --k-g=K_G
66              Specify the K_g BMC key to  use  when  authenticating  with  the
67              remote  host  for  IPMI  2.0.  If  not  specified, a null key is
68              assumed. To input the key in hexadecimal form, prefix the string
69              with  '0x'.  E.g.,  the key 'abc' can be entered with the either
70              the string 'abc' or the string '0x616263'
71
72       -K, --k-g-prompt
73              Prompt for k-g to avoid possibility of  listing  it  in  process
74              lists.
75
76       --session-timeout=MILLISECONDS
77              Specify  the  session timeout in milliseconds. Defaults to 20000
78              milliseconds (20 seconds) if not specified.
79
80       --retransmission-timeout=MILLISECONDS
81              Specify  the  packet  retransmission  timeout  in  milliseconds.
82              Defaults  to  1000 milliseconds (1 second) if not specified. The
83              retransmission timeout cannot be larger than the  session  time‐
84              out.
85
86       -a, --authentication-type=AUTHENTICATION-TYPE
87              Specify  the  IPMI 1.5 authentication type to use. The currently
88              available authentication types are NONE,  STRAIGHT_PASSWORD_KEY,
89              MD2, and MD5. Defaults to MD5 if not specified.
90
91       -I, --cipher-suite-id=CIPHER-SUITE-ID
92              Specify the IPMI 2.0 cipher suite ID to use. The Cipher Suite ID
93              identifies a set of authentication, integrity, and confidential‐
94              ity  algorithms to use for IPMI 2.0 communication. The authenti‐
95              cation algorithm identifies the algorithm  to  use  for  session
96              setup,  the  integrity algorithm identifies the algorithm to use
97              for session packet signatures, and the confidentiality algorithm
98              identifies the algorithm to use for payload encryption. Defaults
99              to cipher suite ID 3 if  not  specified.  The  following  cipher
100              suite ids are currently supported:
101
102              0 - Authentication Algorithm = None; Integrity Algorithm = None;
103              Confidentiality Algorithm = None
104
105              1 - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm  =
106              None; Confidentiality Algorithm = None
107
108              2  - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm =
109              HMAC-SHA1-96; Confidentiality Algorithm = None
110
111              3 - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm  =
112              HMAC-SHA1-96; Confidentiality Algorithm = AES-CBC-128
113
114              6  -  Authentication Algorithm = HMAC-MD5; Integrity Algorithm =
115              None; Confidentiality Algorithm = None
116
117              7 - Authentication Algorithm = HMAC-MD5; Integrity  Algorithm  =
118              HMAC-MD5-128; Confidentiality Algorithm = None
119
120              8  -  Authentication Algorithm = HMAC-MD5; Integrity Algorithm =
121              HMAC-MD5-128; Confidentiality Algorithm = AES-CBC-128
122
123              11 - Authentication Algorithm = HMAC-MD5; Integrity Algorithm  =
124              MD5-128; Confidentiality Algorithm = None
125
126              12  - Authentication Algorithm = HMAC-MD5; Integrity Algorithm =
127              MD5-128; Confidentiality Algorithm = AES-CBC-128
128
129       -l, --privilege-level=PRIVILEGE-LEVEL
130              Specify the privilege level to be used. The currently  available
131              privilege levels are USER, OPERATOR, and ADMIN. Defaults to USER
132              if not specified.
133
134       --config-file=FILE
135              Specify an alternate configuration file.
136
137       -W, --workaround-flags=WORKAROUNDS
138              Specify workarounds to vendor compliance issues. Multiple  work‐
139              arounds  can  be  specified separated by commas. See WORKAROUNDS
140              below for a list of available workarounds.
141
142       --debug
143              Turn on debugging.
144
145       -?, --help
146              Output a help list and exit.
147
148       --usage
149              Output a usage message and exit.
150
151       -V, --version
152              Output the program version and exit.
153

IPMI-FRU OPTIONS

155       The following options are specific to Ipmi-fru.
156
157       -e, --device-id
158              Specify a specific FRU device ID.
159
160       -v, --verbose
161              Increase verbosity in output to include additional output.
162
163       -s, --skip-checks
164              Skip FRU checksum checks. Some FRUs  have  incorrect  checksums,
165              but  the FRU data is correct. Use this option to skip the checks
166              checksum.  Output may be unknown, pray for the best. This option
167              is  confirmed  to  work  around  compliances  issues on Inventec
168              5441/Dell Xanadu II, Dell Poweredge  R610,  and  Dell  Poweredge
169              R710 motherboards.
170
171       --interpret-oem-data
172              Attempt  to interpret OEM data, such as event data, sensor read‐
173              ings, or general extra info, etc. If an  OEM  interpretation  is
174              not available, the default output will be generated. Correctness
175              of OEM interpretations cannot be  guaranteed  due  to  potential
176              changes OEM vendors may make in products, firmware, etc. See OEM
177              INTERPRETATION below for confirmed supported motherboard  inter‐
178              pretations.
179

SDR CACHE OPTIONS

181       This tool requires access to the sensor data repository (SDR) cache for
182       general operation. By default, SDR data will be downloaded  and  cached
183       on the local machine. The following options apply to the SDR cache.
184
185       -f, --flush-cache
186              Flush  a  cached  version  of  the  sensor data repository (SDR)
187              cache. The SDR is typically cached for faster subsequent access.
188              However,  it  may need to be flushed and re-generated if the SDR
189              has been updated on a system.
190
191       -Q, --quiet-cache
192              Do not output information about cache creation/deletion. May  be
193              useful in scripting.
194
195       --sdr-cache-directory=DIRECTORY
196              Specify  an alternate directory for sensor data repository (SDR)
197              caches to be stored or read from. Defaults to the home directory
198              if not specified.
199
200       --sdr-cache-recreate
201              If the SDR cache is out of date or invalid, automatically recre‐
202              ate the sensor data repository (SDR) cache. This option  may  be
203              useful for scripting purposes.
204
205       --ignore-sdr-cache
206              Ignore  SDR  cache related processing. May lead to incomplete or
207              less useful information being  output,  however  it  will  allow
208              functionality for those systems without SDRs.
209

HOSTRANGED OPTIONS

211       The following options manipulate hostranged output. See HOSTRANGED SUP‐
212       PORT below for additional information on hostranges.
213
214       -B, --buffer-output
215              Buffer hostranged output. For each node, buffer standard  output
216              until the node has completed its IPMI operation. When specifying
217              this option, data may appear to output slower to the user  since
218              the  the entire IPMI operation must complete before any data can
219              be output.  See HOSTRANGED SUPPORT below for additional informa‐
220              tion.
221
222       -C, --consolidate-output
223              Consolidate hostranged output. The complete standard output from
224              every node specified will be consolidated  so  that  nodes  with
225              identical  output are not output twice. A header will list those
226              nodes with the consolidated output. When this option  is  speci‐
227              fied,  no  output  can  be seen until the IPMI operations to all
228              nodes has completed. If the  user  breaks  out  of  the  program
229              early,  all  currently  consolidated  output will be dumped. See
230              HOSTRANGED SUPPORT below for additional information.
231
232       -F, --fanout
233              Specify multiple host fanout. A  "sliding  window"  (or  fanout)
234              algorithm is used for parallel IPMI communication so that slower
235              nodes or timed out nodes will not impede parallel communication.
236              The maximum number of threads available at the same time is lim‐
237              ited by the fanout. The default is 64.
238
239       -E, --eliminate
240              Eliminate hosts determined as undetected  by  ipmidetect.   This
241              attempts to remove the common issue of hostranged execution tim‐
242              ing out due to several nodes being removed  from  service  in  a
243              large  cluster.  The  ipmidetectd  daemon must be running on the
244              node executing the command.
245
246       --always-prefix
247              Always prefix output, even if only one host is specified or com‐
248              municating  in-band. This option is primarily useful for script‐
249              ing purposes. Option will be ignored if specified  with  the  -C
250              option.
251

HOSTRANGED SUPPORT

253       Multiple hosts can be input either as an explicit comma separated lists
254       of hosts or a range of hostnames in  the  general  form:  prefix[n-m,l-
255       k,...],  where  n < m and l < k, etc. The later form should not be con‐
256       fused with regular expression character classes (also denoted  by  []).
257       For example, foo[19] does not represent foo1 or foo9, but rather repre‐
258       sents a degenerate range: foo19.
259
260       This range syntax is meant only as a convenience  on  clusters  with  a
261       prefixNN  naming  convention  and specification of ranges should not be
262       considered necessary -- the list foo1,foo9 could be specified as  such,
263       or by the range foo[1,9].
264
265       Some examples of range usage follow:
266           foo[01-05] instead of foo01,foo02,foo03,foo04,foo05
267           foo[7,9-10] instead of foo7,foo9,foo10
268           foo[0-3] instead of foo0,foo1,foo2,foo3
269
270       As a reminder to the reader, some shells will interpret brackets ([ and
271       ]) for pattern matching. Depending on your shell, it may  be  necessary
272       to enclose ranged lists within quotes.
273
274       When  multiple  hosts  are specified by the user, a thread will be exe‐
275       cuted for each host in parallel up to the configured fanout (which  can
276       be  adjusted via the -F option). This will allow communication to large
277       numbers of nodes far more quickly than if done in serial.
278
279       By default, standard output from each node  specified  will  be  output
280       with the hostname prepended to each line. Although this output is read‐
281       able in many situations, it may be difficult to read  in  other  situa‐
282       tions.  For  example, output from multiple nodes may be mixed together.
283       The -B and -C options can be used to change this default.
284
285       In-band IPMI Communication will be used when the  host  "localhost"  is
286       specified.  This  allows  the  user  to add the localhost into the hos‐
287       tranged output.
288

GENERAL TROUBLESHOOTING

290       Most often, IPMI problems are due  to  configuration  problems.  Inband
291       IPMI  problems are typically caused by improperly configured drivers or
292       non-standard BMCs. IPMI over LAN problems involve a misconfiguration of
293       the  remote machine's BMC.  Double check to make sure the following are
294       configured properly in  the  remote  machine's  BMC:  IP  address,  MAC
295       address,  subnet mask, username, user enablement, user privilege, pass‐
296       word,  LAN  privilege,  LAN  enablement,  and  allowed   authentication
297       type(s). For IPMI 2.0 connections, double check to make sure the cipher
298       suite privilege(s) and K_g key are configured  properly.  The  bmc-con‐
299       fig(8) tool can be used to check and/or change these configuration set‐
300       tings.
301
302       The following are common issues for given error messages:
303
304       "username invalid" - The username entered (or a NULL username  if  none
305       was  entered)  is  not  available on the remote machine. It may also be
306       possible the remote BMC's username configuration is incorrect.
307
308       "password invalid" - The password entered (or a NULL password  if  none
309       was  entered)  is not correct. It may also be possible the password for
310       the user is not correctly configured on the remote BMC.
311
312       "password verification timeout" - Password verification has timed  out.
313       A  "password  invalid"  error  (described  above) or a generic "session
314       timeout" (described below) occurred.  During this point in the protocol
315       it cannot be differentiated which occurred.
316
317       "k_g  invalid"  -  The  K_g  key entered (or a NULL K_g key if none was
318       entered) is not correct. It may also be possible the  K_g  key  is  not
319       correctly configured on the remote BMC.
320
321       "privilege level insufficient" - An IPMI command requires a higher user
322       privilege than the one authenticated with. Please try  to  authenticate
323       with a higher privilege. This may require authenticating to a different
324       user which has a higher maximum privilege.
325
326       "privilege level cannot be obtained for  this  user"  -  The  privilege
327       level  you are attempting to authenticate with is higher than the maxi‐
328       mum allowed for this user. Please try again with a lower privilege.  It
329       may  also be possible the maximum privilege level allowed for a user is
330       not configured properly on the remote BMC.
331
332       "authentication type unavailable for attempted privilege level"  -  The
333       authentication  type you wish to authenticate with is not available for
334       this privilege level. Please try again with an alternate authentication
335       type  or  alternate privilege level. It may also be possible the avail‐
336       able authentication types you can authenticate with are  not  correctly
337       configured on the remote BMC.
338
339       "cipher suite id unavailable" - The cipher suite id you wish to authen‐
340       ticate with is not available on the remote BMC. Please try  again  with
341       an  alternate  cipher  suite  id. It may also be possible the available
342       cipher suite ids are not correctly configured on the remote BMC.
343
344       "ipmi 2.0 unavailable" - IPMI 2.0 was  not  discovered  on  the  remote
345       machine. Please try to use IPMI 1.5 instead.
346
347       "connection  timeout"  - Initial IPMI communication failed. A number of
348       potential errors are possible, including an invalid hostname specified,
349       an  IPMI  IP  address  cannot  be  resolved, IPMI is not enabled on the
350       remote server, the network connection is bad, etc. Please  verify  con‐
351       figuration and connectivity.
352
353       "session  timeout"  - The IPMI session has timed out. Please reconnect.
354       If this error occurs often, you may wish to increase the retransmission
355       timeout. Some remote BMCs are considerably slower than others.
356
357       "device  not  found"  - The specified device could not be found. Please
358       check configuration or inputs and try again.
359
360       "driver timeout" - Communication with the driver or  device  has  timed
361       out. Please try again.
362
363       "message  timeout"  - Communication with the driver or device has timed
364       out. Please try again.
365
366       "BMC busy" - The BMC is currently busy. It may be  processing  informa‐
367       tion  or have too many simultaneous sessions to manage. Please wait and
368       try again.
369
370       "could not find inband device" - An inband device could not  be  found.
371       Please  check configuration or specify specific device or driver on the
372       command line.
373
374       Please see WORKAROUNDS below to also if there are any  vendor  specific
375       bugs that have been discovered and worked around.
376

WORKAROUNDS

378       With  so  many different vendors implementing their own IPMI solutions,
379       different vendors may implement their IPMI protocols  incorrectly.  The
380       following  lists  the workarounds currently available to handle discov‐
381       ered compliance issues.
382
383       When possible, workarounds have been implemented so they will be trans‐
384       parent  to  the  user. However, some will require the user to specify a
385       workaround be used via the -W option.
386
387       The hardware listed below may only indicate the hardware that a problem
388       was  discovered  on.  Newer  versions  of hardware may fix the problems
389       indicated below. Similar machines from vendors may or may  not  exhibit
390       the  same  problems.  Different vendors may license their firmware from
391       the same IPMI firmware developer, so it may be worthwhile to try  work‐
392       arounds listed below even if your motherboard is not listed.
393
394       "idzero"  -  This  workaround option will allow empty session IDs to be
395       accepted by the client. It works around IPMI sessions that report empty
396       session  IDs  to  the client. Those hitting this issue may see "session
397       timeout" errors. Issue observed on Tyan S2882 with M3289 BMC.
398
399       "unexpectedauth" - This workaround option will  allow  unexpected  non-
400       null  authcodes  to  be  checked as though they were expected. It works
401       around an issue when packets contain non-null authentication data  when
402       they  should  be null due to disabled per-message authentication. Those
403       hitting this issue may see "session timeout" errors. Issue observed  on
404       Dell PowerEdge 2850,SC1425. Confirmed fixed on newer firmware.
405
406       "forcepermsg" - This workaround option will force per-message authenti‐
407       cation to be used no matter what is advertised by the remote system. It
408       works  around an issue when per-message authentication is advertised as
409       disabled on the remote system, but it is actually required for the pro‐
410       tocol.  Those  hitting  this  issue  may  see "session timeout" errors.
411       Issue observed on IBM eServer 325.
412
413       "endianseq" - This workaround option will flip the endian of  the  ses‐
414       sion  sequence  numbers  to allow the session to continue properly.  It
415       works around IPMI 1.5 session  sequence  numbers  that  are  the  wrong
416       endian.  Those  hitting  this  issue  may see "session timeout" errors.
417       Issue observed on some Sun ILOM 1.0/2.0 (depends on  service  processor
418       endian).
419
420       "authcap"  - This workaround option will skip early checks for username
421       capabilities, authentication capabilities, and K_g  support  and  allow
422       IPMI  authentication  to  succeed.  It  works around multiple issues in
423       which the remote system does not properly report username capabilities,
424       authentication  capabilities,  or  K_g status. Those hitting this issue
425       may  see  "username  invalid",  "authentication  type  unavailable  for
426       attempted privilege level", or "k_g invalid" errors.  Issue observed on
427       Asus  P5M2/P5MT-R/RS162-E4/RX4,  Intel  SR1520ML/X38ML,  and  Sun  Fire
428       2200/4150/4450 with ELOM.
429
430       "intel20"  - This workaround option will work around several Intel IPMI
431       2.0 authentication issues. The issues covered include padding of  user‐
432       names,  automatic  acceptance of a RAKP 4 response integrity check when
433       using the integrity algorithm MD5-128, and password truncation  if  the
434       authentication  algorithm is HMAC-MD5-128. Those hitting this issue may
435       see "username invalid", "password invalid", or  "k_g  invalid"  errors.
436       Issue  observed  on Intel SE7520AF2 with Intel Server Management Module
437       (Professional Edition).
438
439       "supermicro20" - This workaround option will work around several Super‐
440       micro  IPMI 2.0 authentication issues on motherboards w/ Peppercon IPMI
441       firmware. The issues covered include handling invalid length  authenti‐
442       cation  codes.  Those  hitting  this  issue  may see "password invalid"
443       errors.  Issue observed on Supermicro H8QME with SIMSO  daughter  card.
444       Confirmed fixed on newerver firmware.
445
446       "sun20" - This workaround option will work work around several Sun IPMI
447       2.0 authentication issues. The issues covered include invalid  lengthed
448       hash  keys,  improperly  hashed keys, and invalid cipher suite records.
449       Those hitting this issue may see  "password  invalid"  or  "bmc  error"
450       errors.   Issue  observed  on  Sun Fire 4100/4200/4500 with ILOM.  This
451       workaround automatically includes the "opensesspriv" workaround.
452
453       "opensesspriv" - This workaround option will slightly alter  FreeIPMI's
454       IPMI 2.0 connection protocol to workaround an invalid hashing algorithm
455       used by the remote system. The privilege level  sent  during  the  Open
456       Session  stage  of an IPMI 2.0 connection is sometimes invalid and used
457       for hashing keys instead of the privilege level sent during  the  RAKP1
458       connection  stage. Those hitting this issue may see "password invalid",
459       "k_g invalid", "bad rmcpplus status code", or "privilege  level  cannot
460       be  obtained  for  this  user  "  errors.  Issue  observed  on Sun Fire
461       4100/4200/4500 with ILOM,  Inventec  5441/Dell  Xanadu  II,  Supermicro
462       X8DTH,  Supermicro  X8DTG, Supermicro X8DTU, and Intel S5500WBV/Penguin
463       Relion 700. This workaround is automatically triggered with the "sun20"
464       workaround.
465
466       "integritycheckvalue"  -  This  workaround  option  will work around an
467       invalid integrity check value during an IPMI 2.0 session  establishment
468       when  using  Cipher  Suite  ID 0. The integrity check value should be 0
469       length, however the remote motherboard responds with a non-empty field.
470       Those  hitting  this issue may see "k_g invalid" errors. Issue observed
471       on Supermicro  X8DTG,  Supermicro  X8DTU,  and  Intel  S5500WBV/Penguin
472       Relion 700.
473
474       "skipchecks"  -  This  workaround option will skip FRU checksum checks.
475       Some FRUs have incorrect checksums, but the FRU data is correct.   Out‐
476       put may be unknown, pray for the best. This option is confirmed to work
477       around compliances issues on Inventec 5441/Dell Xanadu  II,  Dell  Pow‐
478       eredge R610, and Dell Poweredge R710 motherboards. This option is iden‐
479       tical to using the --skip-checks option above.
480

OEM INTERPRETATION

482       The following motherboards are confirmed to have atleast  some  support
483       by  the --interpret-oem-data option. While highly probable the OEM data
484       interpretations would work across other motherboards by the same  manu‐
485       facturer, there are no guarantees.
486
487       Currently None
488

EXAMPLES

490       # ipmi-fru
491
492       Get FRU information of the local machine.
493
494       # ipmi-fru --verbose
495
496       Get verbose FRU information of the local machine.
497
498       # ipmi-fru -h ahost -u myusername -p mypassword
499
500       Get FRU information of a remote machine using IPMI over LAN.
501
502       # ipmi-fru -h mycluster[0-127] -u myusername -p mypassword
503
504       Get FRU information across a cluster using IPMI over LAN.
505

IPMI-FRU KNOWN ISSUES

507       Not  all  language codes are supported in ipmi-fru.  If additional lan‐
508       guage code support is required please contact the FreeIPMI maintainers.
509

KNOWN ISSUES

511       On older operating systems, if you input your username,  password,  and
512       other  potentially  security  relevant information on the command line,
513       this information may be discovered by other users when using tools like
514       the  ps(1) command or looking in the /proc file system. It is generally
515       more secure to input password information with options like the  -P  or
516       -K  options.  Configuring security relevant information in the FreeIPMI
517       configuration file would also be an appropriate way to hide this infor‐
518       mation.
519
520       In  order  to  prevent  brute force attacks, some BMCs will temporarily
521       "lock up" after a number of remote authentication errors. You may  need
522       to  wait awhile in order to this temporary "lock up" to pass before you
523       may authenticate again.
524

REPORTING BUGS

526       Report bugs to <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.
527
529       Copyright (C) 2007-2010 Lawrence Livermore National Security, LLC.
530       Copyright (C) 2007 The Regents of the University of California.
531
532       This program is free software; you can redistribute it and/or modify it
533       under  the  terms of the GNU General Public License as published by the
534       Free Software Foundation; either version 2 of the License, or (at  your
535       option) any later version.
536

SEE ALSO

538       freeipmi(7), bmc-config(8)
539
540       http://www.gnu.org/software/freeipmi/
541
542
543
544ipmi-fru 0.8.8                    2010-07-21                       IPMI-FRU(8)
Impressum