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

NAME

6       ipmi-sensors - display IPMI sensor information
7

SYNOPSIS

9       ipmi-sensors [OPTION...]
10

DESCRIPTION

12       Ipmi-sensors  displays  current  readings  of  sensors  and sensor data
13       repository (SDR) information. The default display outputs each sensor's
14       record  id, sensor name, sensor type name, sensor reading (if appropri‐
15       ate), and the current sensor event. More  verbose  information  can  be
16       found using the verbose options specified below.
17
18       Ipmi-sensors  does  not inform the user if a problem exists with a par‐
19       ticular sensor because sensor readings and events are not  analyzed  by
20       default. Users may wish to use the --output-sensor-state option to out‐
21       put the analyzed sensor state.
22
23       Some sensors may have a sensor reading or sensor event of "N/A" if  the
24       information  is  unavailable.  This  is typical of a sensor that is not
25       enabled or not owned by a BMC. Please see --bridge-sensors option below
26       to  deal  with  sensors not owned by a BMC. Sensors may output a sensor
27       event of "Unknown" if the sensor reading cannot be read. This is  typi‐
28       cal of a sensor that is busy or a reading that cannot be calculated. If
29       sensors report "Unrecognized State", it is indicative of an unkown sen‐
30       sor  type, typically an OEM sensor. If the sensor OEM interpretation is
31       available, the --intepret-oem-data may be able to report the  appropri‐
32       ate sensor state. Sensors need not always report a sensor event. When a
33       sensor event is not present, "OK" is typically reported.
34
35       Listed below are general IPMI options, tool specific  options,  trouble
36       shooting  information,  workaround  information,  examples,  and  known
37       issues. For a general introduction to FreeIPMI please see  freeipmi(7).
38       To  perform  IPMI  sensor  configuration,  please see ipmi-sensors-con‐
39       fig(8).  To perform some  advanced  SDR  management,  please  see  bmc-
40       device(8).
41

GENERAL OPTIONS

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

IPMI-SENSORS OPTIONS

202       The following options are specific to Ipmi-sensors.
203
204       -v, --verbose
205              Output verbose sensor output. This option will output additional
206              information about sensors such as thresholds,  ranges,  numbers,
207              and event/reading type codes.
208
209       -vv    Output  very verbose sensor output. This option will output more
210              additional information than the verbose option such as  informa‐
211              tion about events, other sensor types, and oem sensors.
212
213       -i, --sdr-info
214              Show sensor data repository (SDR) information
215
216       -q, --quiet-readings
217              Do  not  output sensor reading values by default. This option is
218              particularly useful if you want to use hostranged output  across
219              a cluster and want to consolidate the output.
220
221       -r RECORD-IDS-LIST, --record-ids=RECORD-IDS-LIST
222              Specify sensors to show by record id. Multiple record ids can be
223              separated by commas or spaces. If both --record-ids  and  --sen‐
224              sor-types  are  specified, --record-ids takes precedence. A spe‐
225              cial command line record id of "all", will indicate  all  record
226              ids  should  be  shown  (may be useful for overriding configured
227              defaults).
228
229       -R RECORD-IDS-LIST, --exclude-record-ids=RECORD-IDS-LIST
230              Specify sensors to not show by record id.  Multiple  record  ids
231              can  be  separated  by  commas or spaces. A special command line
232              record id of "none", will  indicate  no  record  ids  should  be
233              excluded (may be useful for overriding configured defaults).
234
235       -t SENSOR-TYPE-LIST, --sensor-types=SENSOR-TYPE-LIST
236              Specify  sensor types to show outputs for. Multiple types can be
237              separated by commas or spaces. If both --record-ids  and  --sen‐
238              sor-types  are specified, --record-ids takes precedence.  A spe‐
239              cial command line type of "all", will indicate all types  should
240              be  shown  (may  be  useful for overriding configured defaults).
241              Users may  specify  sensor  types  by  string  (see  --list-sen‐
242              sor-types below) or by number (decimal or hex).
243
244       -T SENSOR-TYPE-LIST, --exclude-sensor-types=SENSOR-TYPE-LIST
245              Specify sensor types to not show outputs for. Multiple types can
246              be eparated by commas or spaces. A special command line type  of
247              "none", will indicate no types should be excluded (may be useful
248              for overriding configured defaults). Users  may  specify  sensor
249              types  by  string  (see  --list-sensor-types below) or by number
250              (decimal or hex).
251
252       -L, --list-sensor-types
253              List sensor types.
254
255       -b, --bridge-sensors
256              By default, sensors readings are not attempted  for  sensors  on
257              non-BMC  owners.  By setting this option, sensor requests can be
258              bridged to non-BMC owners to obtain  sensor  readings.  Bridging
259              may not work on some interfaces/driver types.
260
261       --shared-sensors
262              Some  sensors  share  the same sensor data record (SDR). This is
263              typically utilized for system event log (SEL)  entries  and  not
264              for  sensor readings. However, there may be some motherboards in
265              which this format is utilized for multiple  active  sensors,  or
266              the  user  simply  has  interest  in  seeing  the permutation of
267              entries shared by a SDR entry. By setting this option, each sen‐
268              sor number shared by a record will be iterated over and output.
269
270       --interpret-oem-data
271              Attempt  to interpret OEM data, such as event data, sensor read‐
272              ings, or general extra info, etc. If an  OEM  interpretation  is
273              not available, the default output will be generated. Correctness
274              of OEM interpretations cannot be  guaranteed  due  to  potential
275              changes OEM vendors may make in products, firmware, etc. See OEM
276              INTERPRETATION below for confirmed supported motherboard  inter‐
277              pretations.
278
279       --ignore-not-available-sensors
280              Ignore not-available (i.e. N/A) sensors in output.
281
282       --ignore-unrecognized-events
283              Ignore  unrecognized sensor events. This will suppress output of
284              unrecognized events, typically shown as  'Unrecognized  Event  =
285              XXXXh'  in  output.  In  addition,  unrecognized  events will be
286              ignored when calculating sensor state with --output-sensor-state
287              below.
288
289       --output-event-bitmask
290              Output event bitmask value instead of the string representation.
291
292       --output-sensor-state
293              Output  sensor state in output. This will add an additional out‐
294              put reporting if a sensor is in a NOMINAL, WARNING, or  CRITICAL
295              state.   The  sensor  state is an interpreted value based on the
296              current sensor  event.  The  sensor  state  interpretations  are
297              determined   by  the  configuration  file  /etc//freeipmi_inter‐
298              pret_sensor.conf.   See  freeipmi_interpret_sensor.conf(5)   for
299              more  information.   This  option  gives identical output to the
300              sensor state previously output by ipmimonitoring(8).
301
302       --sensor-state-config-file=FILE
303              Specify an alternate sensor  state  configuration  file.  Option
304              ignored if --output-sensor-state not specified.
305
306       --entity-sensor-names
307              Output  sensor  names prefixed with their entity id and instance
308              number when appropriate. This may be necessary on  some  mother‐
309              boards  to help identify what sensors are referencing. For exam‐
310              ple, a motherboard may have multiple sensors named  'TEMP'.  The
311              entity  id  and  instance  number  may help clarify which sensor
312              refers to "Processor 1" vs. "Processor 2".
313
314       --output-sensor-thresholds
315              Output sensor thresholds in output. This will add columns to the
316              default  output for lower non-recoverable, lower critical, lower
317              non-critical, upper non-critical, upper critical, and upper non-
318              recoverable thresholds.
319
320       --no-sensor-type-output
321              Do  not show sensor type output for each entry. On many systems,
322              the sensor type is redundant to the name of the sensor. This can
323              especially  be  true  if --entity-sensor-names is specified.  If
324              the sensor name is sufficient, or if the sensor type  is  of  no
325              interest  to  the user, this option can be specified to condense
326              output.
327
328       --comma-separated-output
329              Output fields in comma separated format.
330
331       --no-header-output
332              Do not output column headers. May be useful in scripting.
333
334       --non-abbreviated-units
335              Output non-abbreviated units (e.g. 'Amps' instead of  'A').  May
336              aid  in  disambiguation  of  units  (e.g.  'C'  for  Celsius  or
337              Coulombs).
338
339       --legacy-output
340              Output in legacy format. Newer options may not be applicable  to
341              legacy output.
342
343       --ipmimonitoring-legacy-output
344              Output  legacy  format  of  legacy  ipmimonitoring  tool.  Newer
345              options may not be applicable to legacy output.
346

SDR CACHE OPTIONS

348       This tool requires access to the sensor data repository (SDR) cache for
349       general  operation.  By default, SDR data will be downloaded and cached
350       on the local machine. The following options apply to the SDR cache.
351
352       -f, --flush-cache
353              Flush a cached version  of  the  sensor  data  repository  (SDR)
354              cache. The SDR is typically cached for faster subsequent access.
355              However, it may need to be flushed and re-generated if  the  SDR
356              has been updated on a system.
357
358       -Q, --quiet-cache
359              Do  not output information about cache creation/deletion. May be
360              useful in scripting.
361
362       --sdr-cache-recreate
363              If the SDR cache is out of date or invalid, automatically recre‐
364              ate  the  sensor data repository (SDR) cache. This option may be
365              useful for scripting purposes.
366
367       --sdr-cache-file=FILE
368              Specify a specific sensor data repository (SDR) cache file to be
369              stored  or read from. If this option is used when multiple hosts
370              are specified, the same SDR cache file  will  be  used  for  all
371              hosts.
372
373       --sdr-cache-directory=DIRECTORY
374              Specify  an alternate directory for sensor data repository (SDR)
375              caches to be stored or read from. Defaults to the home directory
376              if not specified.
377

HOSTRANGED OPTIONS

379       The following options manipulate hostranged output. See HOSTRANGED SUP‐
380       PORT below for additional information on hostranges.
381
382       -B, --buffer-output
383              Buffer hostranged output. For each node, buffer standard  output
384              until the node has completed its IPMI operation. When specifying
385              this option, data may appear to output slower to the user  since
386              the  the entire IPMI operation must complete before any data can
387              be output.  See HOSTRANGED SUPPORT below for additional informa‐
388              tion.
389
390       -C, --consolidate-output
391              Consolidate hostranged output. The complete standard output from
392              every node specified will be consolidated  so  that  nodes  with
393              identical  output are not output twice. A header will list those
394              nodes with the consolidated output. When this option  is  speci‐
395              fied,  no  output  can  be seen until the IPMI operations to all
396              nodes has completed. If the  user  breaks  out  of  the  program
397              early,  all  currently  consolidated  output will be dumped. See
398              HOSTRANGED SUPPORT below for additional information.
399
400       -F NUM, --fanout=NUM
401              Specify multiple host fanout. A  "sliding  window"  (or  fanout)
402              algorithm is used for parallel IPMI communication so that slower
403              nodes or timed out nodes will not impede parallel communication.
404              The maximum number of threads available at the same time is lim‐
405              ited by the fanout. The default is 64.
406
407       -E, --eliminate
408              Eliminate hosts determined as undetected  by  ipmidetect.   This
409              attempts to remove the common issue of hostranged execution tim‐
410              ing out due to several nodes being removed  from  service  in  a
411              large  cluster.  The  ipmidetectd  daemon must be running on the
412              node executing the command.
413
414       --always-prefix
415              Always prefix output, even if only one host is specified or com‐
416              municating  in-band. This option is primarily useful for script‐
417              ing purposes. Option will be ignored if specified  with  the  -C
418              option.
419

HOSTRANGED SUPPORT

421       Multiple hosts can be input either as an explicit comma separated lists
422       of hosts or a range of hostnames in  the  general  form:  prefix[n-m,l-
423       k,...],  where  n < m and l < k, etc. The later form should not be con‐
424       fused with regular expression character classes (also denoted  by  []).
425       For example, foo[19] does not represent foo1 or foo9, but rather repre‐
426       sents a degenerate range: foo19.
427
428       This range syntax is meant only as a convenience  on  clusters  with  a
429       prefixNN  naming  convention  and specification of ranges should not be
430       considered necessary -- the list foo1,foo9 could be specified as  such,
431       or by the range foo[1,9].
432
433       Some examples of range usage follow:
434           foo[01-05] instead of foo01,foo02,foo03,foo04,foo05
435           foo[7,9-10] instead of foo7,foo9,foo10
436           foo[0-3] instead of foo0,foo1,foo2,foo3
437
438       As a reminder to the reader, some shells will interpret brackets ([ and
439       ]) for pattern matching. Depending on your shell, it may  be  necessary
440       to enclose ranged lists within quotes.
441
442       When  multiple  hosts  are specified by the user, a thread will be exe‐
443       cuted for each host in parallel up to the configured fanout (which  can
444       be  adjusted via the -F option). This will allow communication to large
445       numbers of nodes far more quickly than if done in serial.
446
447       By default, standard output from each node  specified  will  be  output
448       with the hostname prepended to each line. Although this output is read‐
449       able in many situations, it may be difficult to read  in  other  situa‐
450       tions.  For  example, output from multiple nodes may be mixed together.
451       The -B and -C options can be used to change this default.
452
453       In-band IPMI Communication will be used when the  host  "localhost"  is
454       specified.  This  allows  the  user  to add the localhost into the hos‐
455       tranged output.
456

GENERAL TROUBLESHOOTING

458       Most often, IPMI problems are due to configuration problems.
459
460       IPMI over  LAN  problems  involve  a  misconfiguration  of  the  remote
461       machine's  BMC.  Double check to make sure the following are configured
462       properly in the remote machine's BMC: IP address, MAC  address,  subnet
463       mask,  username,  user enablement, user privilege, password, LAN privi‐
464       lege, LAN enablement, and allowed authentication type(s). For IPMI  2.0
465       connections,  double  check  to make sure the cipher suite privilege(s)
466       and K_g key are configured properly. The bmc-config(8) tool can be used
467       to check and/or change these configuration settings.
468
469       Inband  IPMI  problems  are  typically  caused by improperly configured
470       drivers or non-standard BMCs.
471
472       In addition to the troubleshooting tips below, please  see  WORKAROUNDS
473       below to also if there are any vendor specific bugs that have been dis‐
474       covered and worked around.
475
476       Listed below are many of the common issues  for  error  messages.   For
477       additional  support, please e-mail the <freeipmi-users@gnu.org> mailing
478       list.
479
480       "username invalid" - The username entered (or a NULL username  if  none
481       was  entered)  is  not  available on the remote machine. It may also be
482       possible the remote BMC's username configuration is incorrect.
483
484       "password invalid" - The password entered (or a NULL password  if  none
485       was  entered)  is not correct. It may also be possible the password for
486       the user is not correctly configured on the remote BMC.
487
488       "password verification timeout" - Password verification has timed  out.
489       A  "password  invalid"  error  (described  above) or a generic "session
490       timeout" (described below) occurred.  During this point in the protocol
491       it cannot be differentiated which occurred.
492
493       "k_g  invalid"  -  The  K_g  key entered (or a NULL K_g key if none was
494       entered) is not correct. It may also be possible the  K_g  key  is  not
495       correctly configured on the remote BMC.
496
497       "privilege level insufficient" - An IPMI command requires a higher user
498       privilege than the one authenticated with. Please try  to  authenticate
499       with a higher privilege. This may require authenticating to a different
500       user which has a higher maximum privilege.
501
502       "privilege level cannot be obtained for  this  user"  -  The  privilege
503       level  you are attempting to authenticate with is higher than the maxi‐
504       mum allowed for this user. Please try again with a lower privilege.  It
505       may  also be possible the maximum privilege level allowed for a user is
506       not configured properly on the remote BMC.
507
508       "authentication type unavailable for attempted privilege level"  -  The
509       authentication  type you wish to authenticate with is not available for
510       this privilege level. Please try again with an alternate authentication
511       type  or  alternate privilege level. It may also be possible the avail‐
512       able authentication types you can authenticate with are  not  correctly
513       configured on the remote BMC.
514
515       "cipher suite id unavailable" - The cipher suite id you wish to authen‐
516       ticate with is not available on the remote BMC. Please try  again  with
517       an  alternate  cipher  suite  id. It may also be possible the available
518       cipher suite ids are not correctly configured on the remote BMC.
519
520       "ipmi 2.0 unavailable" - IPMI 2.0 was  not  discovered  on  the  remote
521       machine. Please try to use IPMI 1.5 instead.
522
523       "connection  timeout"  - Initial IPMI communication failed. A number of
524       potential errors are possible, including an invalid hostname specified,
525       an  IPMI  IP  address  cannot  be  resolved, IPMI is not enabled on the
526       remote server, the network connection is bad, etc. Please  verify  con‐
527       figuration and connectivity.
528
529       "session  timeout"  - The IPMI session has timed out. Please reconnect.
530       If this error occurs often, you may wish to increase the retransmission
531       timeout. Some remote BMCs are considerably slower than others.
532
533       "device  not  found"  - The specified device could not be found. Please
534       check configuration or inputs and try again.
535
536       "driver timeout" - Communication with the driver or  device  has  timed
537       out. Please try again.
538
539       "message  timeout"  - Communication with the driver or device has timed
540       out. Please try again.
541
542       "BMC busy" - The BMC is currently busy. It may be  processing  informa‐
543       tion  or have too many simultaneous sessions to manage. Please wait and
544       try again.
545
546       "could not find inband device" - An inband device could not  be  found.
547       Please  check configuration or specify specific device or driver on the
548       command line.
549
550       "driver timeout" - The inband driver has timed out communicating to the
551       local  BMC  or  service  processor. The BMC or service processor may be
552       busy or (worst case) possibly non-functioning.
553
554       "sensor config file parse error" - A parse error was found in the  sen‐
555       sor  interpretation  configuration  file.  Please  see  freeipmi_inter‐
556       pret_sensor.conf(5).
557

WORKAROUNDS

559       With so many different vendors implementing their own  IPMI  solutions,
560       different  vendors  may implement their IPMI protocols incorrectly. The
561       following describes a number of workarounds currently available to han‐
562       dle  discovered compliance issues. When possible, workarounds have been
563       implemented so they will be transparent to the user. However, some will
564       require the user to specify a workaround be used via the -W option.
565
566       The hardware listed below may only indicate the hardware that a problem
567       was discovered on. Newer versions of  hardware  may  fix  the  problems
568       indicated  below.  Similar machines from vendors may or may not exhibit
569       the same problems. Different vendors may license  their  firmware  from
570       the  same IPMI firmware developer, so it may be worthwhile to try work‐
571       arounds listed below even if your motherboard is not listed.
572
573       If you believe your hardware has an additional  compliance  issue  that
574       needs a workaround to be implemented, please contact the FreeIPMI main‐
575       tainers on <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.
576
577       assumeio - This workaround flag will assume inband interfaces  communi‐
578       cate  with  system  I/O rather than being memory-mapped. This will work
579       around systems that report invalid base addresses. Those  hitting  this
580       issue  may see "device not supported" or "could not find inband device"
581       errors.  Issue observed on HP ProLiant DL145 G1.
582
583       spinpoll - This workaround flag will inform some inband  drivers  (most
584       notably  the  KCS driver) to spin while polling rather than putting the
585       process to sleep. This may significantly improve the wall clock running
586       time  of  tools because an operating system scheduler's granularity may
587       be much larger than the time it takes to perform a single IPMI  message
588       transaction.  However,  by spinning, your system may be performing less
589       useful work by not contexting out the tool for a more useful task.
590
591       authcap - This workaround flag will  skip  early  checks  for  username
592       capabilities,  authentication  capabilities,  and K_g support and allow
593       IPMI authentication to succeed. It  works  around  multiple  issues  in
594       which the remote system does not properly report username capabilities,
595       authentication capabilities, or K_g status. Those  hitting  this  issue
596       may  see  "username  invalid",  "authentication  type  unavailable  for
597       attempted privilege level", or "k_g invalid" errors.  Issue observed on
598       Asus  P5M2/P5MT-R/RS162-E4/RX4,  Intel  SR1520ML/X38ML,  and  Sun  Fire
599       2200/4150/4450 with ELOM.
600
601       idzero - This workaround flag  will  allow  empty  session  IDs  to  be
602       accepted by the client. It works around IPMI sessions that report empty
603       session IDs to the client. Those hitting this issue  may  see  "session
604       timeout" errors. Issue observed on Tyan S2882 with M3289 BMC.
605
606       unexpectedauth  -  This  workaround flag will allow unexpected non-null
607       authcodes to be checked as though they were expected. It  works  around
608       an  issue  when  packets contain non-null authentication data when they
609       should be null due to disabled per-message authentication.  Those  hit‐
610       ting  this  issue  may  see "session timeout" errors. Issue observed on
611       Dell PowerEdge 2850,SC1425. Confirmed fixed on newer firmware.
612
613       forcepermsg - This workaround flag will force  per-message  authentica‐
614       tion  to  be used no matter what is advertised by the remote system. It
615       works around an issue when per-message authentication is advertised  as
616       disabled on the remote system, but it is actually required for the pro‐
617       tocol. Those hitting this  issue  may  see  "session  timeout"  errors.
618       Issue observed on IBM eServer 325.
619
620       endianseq  -  This  workaround flag will flip the endian of the session
621       sequence numbers to allow the session to continue  properly.  It  works
622       around  IPMI  1.5  session  sequence numbers that are the wrong endian.
623       Those hitting this  issue  may  see  "session  timeout"  errors.  Issue
624       observed  on  some  Sun  ILOM  1.0/2.0  (depends  on  service processor
625       endian).
626
627       noauthcodecheck - This workaround flag will tell FreeIPMI to not  check
628       the  authentication  codes returned from IPMI 1.5 command responses. It
629       works around systems to return  invalid  authentication  codes  due  to
630       hashing  or  implementation  errors.  Users are cautioned on the use of
631       this option, as it removes an authentication check verifying the valid‐
632       ity of a packet. However, in most organizations, this is unlikely to be
633       a security issue. Those hitting this issue may  see  "connection  time‐
634       out",  "session  timeout",  or  "password verification timeout" errors.
635       Issue observed on Xyratex FB-H8-SRAY.
636
637       intel20 - This workaround flag will work around several Intel IPMI  2.0
638       authentication issues. The issues covered include padding of usernames,
639       and password  truncation  if  the  authentication  algorithm  is  HMAC-
640       MD5-128. Those hitting this issue may see "username invalid", "password
641       invalid", or "k_g invalid" errors. Issue observed  on  Intel  SE7520AF2
642       with Intel Server Management Module (Professional Edition).
643
644       supermicro20 - This workaround flag will work around several Supermicro
645       IPMI 2.0  authentication  issues  on  motherboards  w/  Peppercon  IPMI
646       firmware.  The issues covered include handling invalid length authenti‐
647       cation codes. Those hitting  this  issue  may  see  "password  invalid"
648       errors.   Issue  observed on Supermicro H8QME with SIMSO daughter card.
649       Confirmed fixed on newerver firmware.
650
651       sun20 - This workaround flag will work work around several Sun IPMI 2.0
652       authentication issues. The issues covered include invalid lengthed hash
653       keys, improperly hashed keys, and invalid cipher suite  records.  Those
654       hitting  this  issue  may see "password invalid" or "bmc error" errors.
655       Issue observed on Sun Fire 4100/4200/4500 with ILOM.   This  workaround
656       automatically includes the "opensesspriv" workaround.
657
658       opensesspriv - This workaround flag will slightly alter FreeIPMI's IPMI
659       2.0 connection protocol to workaround an invalid hashing algorithm used
660       by  the remote system. The privilege level sent during the Open Session
661       stage of an IPMI 2.0 connection is used for hashing keys instead of the
662       privilege  level  sent during the RAKP1 connection stage. Those hitting
663       this issue may see "password invalid", "k_g invalid", or "bad  rmcpplus
664       status  code"  errors.   Issue observed on Sun Fire 4100/4200/4500 with
665       ILOM, Inventec 5441/Dell Xanadu II, Supermicro X8DTH, Supermicro X8DTG,
666       Intel S5500WBV/Penguin Relion 700, Intel S2600JF/Appro 512X, and Quanta
667       QSSC-S4R//Appro GB812X-CN. This workaround is  automatically  triggered
668       with the "sun20" workaround.
669
670       integritycheckvalue  - This workaround flag will work around an invalid
671       integrity check value during an IPMI  2.0  session  establishment  when
672       using  Cipher Suite ID 0. The integrity check value should be 0 length,
673       however the remote motherboard responds with a non-empty  field.  Those
674       hitting  this  issue  may  see  "k_g invalid" errors. Issue observed on
675       Supermicro X8DTG, Supermicro X8DTU, and Intel  S5500WBV/Penguin  Relion
676       700, and Intel S2600JF/Appro 512X.
677
678       assumemaxsdrrecordcount  -  This  workaround will inform SDR reading to
679       stop reading after a known maximum numer of SDR records have been read.
680       This  will  work  around  systems that have mis-implemented SDR reading
681       functions that. Those hitting this issue  may  see  "SDR  record  count
682       invalid" errors. Issue observed on unspecified Inspur motherboard.
683
684       discretereading - This workaround option will allow analog sensor read‐
685       ings (i.e. rpm, degrees, etc.) to be read  even  if  the  event/reading
686       type  code  for  the  sensor  is for a discrete sensor (i.e. assert vs.
687       deassert). This option works around poorly defined (and arguably  ille‐
688       gal)  SDR  records that expect analog sensor readings to be read along‐
689       side discrete sensors. This option is confirmed to work  around  issues
690       on HP Proliant DL380 G7 and HP ProLiant ML310 G5 motherboards.
691
692       ignorescanningdisabled - This workaround option will allow sensor read‐
693       ings to be read even if the sensor scanning bit indicates a  sensor  is
694       disabled.  This option works around motherboards that incorrectly indi‐
695       cate sensors as disabled. This may problem may exist  on  your  mother‐
696       board  if sensors are listed as "N/A" even if they should be available.
697       This option is confirmed to work around issues on Dell Poweredge  2900,
698       Dell  Poweredge  2950, Dell Poweredge R410, Dell Poweredge R610, and HP
699       Integrity rx3600 motherboards.
700
701       assumebmcowner - This workaround option will allow sensor  readings  to
702       be  read  if the sensor owner is the BMC, but the reported sensor owner
703       is not the BMC. Typically, sensors owned by a non-BMC sensor owner must
704       be bridged (e.g. with the --bridge-sensors option), however if the non-
705       BMC sensor owner is invalid, bridging fails. This option  works  around
706       motherboards  that incorrectly report an non-BMC sensor owner by always
707       assuming the sensor owner is the BMC. This problem may  exist  on  your
708       motherboard  if  sensors  are  listed  as  "N/A" even if they should be
709       available. This option is confirmed to work around  issues  on  Fujitsu
710       RX300 and Fujitsu RX300S2 motherboards.
711
712       ignoreauthcode  -  This workaround option will allow sensor readings to
713       be read if the remote machine is invalidly  calculating  authentication
714       codes  (i.e.  authentication  hashes) when communicating over LAN. This
715       problem may exist on your system if the error "session timeout"  errors
716       or there is an appearance of a hang.  Users are cautioned on the use of
717       this option, as it removes an authentication check verifying the valid‐
718       ity of a packet. However, in most organizations, this is unlikely to be
719       a security issue. The ignoring of authentication packets is  only  lim‐
720       ited  to  the period in which sensor readings are done, and not for any
721       portion of the session authentication or session teardown. This  option
722       is  confirmed  to  work  on  Inventec  5441/Dell Xanadu II and Inventec
723       5442/Dell Xanadu III.  (Note: On the above systems, this issue has only
724       been observed when the --bridge-sensors is used.)
725
726       No IPMI 1.5 Support - Some motherboards that support IPMI 2.0 have been
727       found to not support IPMI 1.5. Those hitting this issue may  see  "ipmi
728       2.0  unavailable"  or  "connection  timeout"  errors. This issue can be
729       worked around by using IPMI 2.0  instead  of  IPMI  1.5  by  specifying
730       --driver-address=LAN_2_0. Issue observed on HP Proliant DL 145.
731

OEM INTERPRETATION

733       The  following  motherboards are confirmed to have atleast some support
734       by the --interpret-oem-data option. While highly probable the OEM  data
735       interpretations  would work across other motherboards by the same manu‐
736       facturer, there are no guarantees. Some of the motherboards  below  may
737       be rebranded by vendors/distributors.
738
739       Dell  Poweredge R210, Dell Poweredge R610, Dell Poweredge R710, Fujitsu
740       iRMC S1 and iRMC S2 systems,  Intel  S5500WB/Penguin  Computing  Relion
741       700,  Intel  S2600JF/Appro  512X,  Intel  S5000PAL, Supermicro X7DBR-3,
742       Supermicro X7DB8, Supermicro X8DTN,  Supermicro  X7SBI-LN4,  Supermicro
743       X8DTH,  Supermicro  X8DTG,  Supermicro  X8DTU,  Supermicro  X8DT3-LN4F,
744       Supermicro X8DTU-6+, Supermicro X8DTL, Supermicro X8DTL-3F,  Supermicro
745       X8SIL-F,  Supermicro  X9SCL,  Supermicro  X9SCM,  Supermicro  X8DTN+-F,
746       Supermicro X8SIE, Supermicro X9SCA-F-O, Supermicro H8DGU-F,  Supermicro
747       X9DRi-F, Wistron/Dell Poweredge C6220.
748

EXAMPLES

750       # ipmi-sensors
751
752       Show all sensors and readings on the local machine.
753
754       # ipmi-sensors --verbose
755
756       Show verbose sensors and readings on the local machine.
757
758       # ipmi-sensors --record-ids="7,11,102"
759
760       Show sensor record ids 7, 11, and 102 on the local machine.
761
762       # ipmi-sensors --sensor-types=fan
763
764       Show all sensors of type fan on the local machine.
765
766       # ipmi-sensors -h ahost -u myusername -p mypassword
767
768       Show all sensors on a remote machine using IPMI over LAN.
769
770       # ipmi-sensors -h mycluster[0-127] -u myusername -p mypassword
771
772       Show all sensors across a cluster using IPMI over LAN.
773

DIAGNOSTICS

775       Upon  successful  execution, exit status is 0. On error, exit status is
776       1.
777
778       If multiple hosts are specified for communication, the exit status is 0
779       if  and  only  if  all targets successfully execute. Otherwise the exit
780       status is 1.
781

KNOWN ISSUES

783       On older operating systems, if you input your username,  password,  and
784       other  potentially  security  relevant information on the command line,
785       this information may be discovered by other users when using tools like
786       the  ps(1) command or looking in the /proc file system. It is generally
787       more secure to input password information with options like the  -P  or
788       -K  options.  Configuring security relevant information in the FreeIPMI
789       configuration file would also be an appropriate way to hide this infor‐
790       mation.
791
792       In  order  to  prevent  brute force attacks, some BMCs will temporarily
793       "lock up" after a number of remote authentication errors. You may  need
794       to  wait awhile in order to this temporary "lock up" to pass before you
795       may authenticate again.
796
797       Some sensors may be output as not  available  (i.e.  N/A)  because  the
798       owner  of  the  sensor is not the BMC. To attempt to bridge sensors and
799       access sensors not on the  BMC,  users  may  wish  to  try  the  -b  or
800       --bridge-sensors options.
801

REPORTING BUGS

803       Report bugs to <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.
804
806       Copyright © 2003-2012 FreeIPMI Core Team.
807
808       This program is free software; you can redistribute it and/or modify it
809       under the terms of the GNU General Public License as published  by  the
810       Free  Software Foundation; either version 3 of the License, or (at your
811       option) any later version.
812

SEE ALSO

814       freeipmi(7),  bmc-config(8),   bmc-device(8),   ipmi-sensors-config(8),
815       freeipmi_interpret_sensor.conf(5)
816
817       http://www.gnu.org/software/freeipmi/
818
819
820
821IPMI Sensors version 1.2.1        2017-03-22                   IPMI-SENSORS(8)
Impressum