1IPMI-FRU(8) System Commands IPMI-FRU(8)
2
3
4
6 ipmi-fru - display FRU information
7
9 ipmi-fru [OPTION...]
10
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
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
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
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
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
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
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
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
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
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
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
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
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
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)