ipmiutil sensor [-abcdefgjkmpqrstuvwxL -i id -n snum -h tval -l tval -NUPREFJTVYZ]
ipmiutil sensor is a program that uses IPMI commands to show and decode Sensor Data Records and current sensor readings for all sensors in the system. This utility can use either the /dev/ipmi0 driver from OpenIPMI, the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux, direct user-space IOs, or the IPMI LAN interface if -N.
Note that this utility by default only displays Sensor Data Records reported by from the Baseboard Management Controller. To show sensors for other controllers, see options -b and -m below.
Command line options are described below.
- -a snum
ReArms the sensor number for events
Shows SDRs for Bladed (PICMG or ATCA) systems by traversing the child MCs (same as -e).
Show sensor list in a simpler/Canonical format without uninterpreted binary values. Only the user-friendly interpreted sensor information is shown. (same as -s).
- -d <file>
Dump the SDRs to a specified binary file. This file can be used with -j to jumpstart getting the sensor readings.
Show Every SDR in a bladed system by traversing the child MCs (same as -b).
- -f <file>
Restore the SDRs from the specified binary File. This is normally only done with the initial factory provisioning.
- -g sens_type
Shows only those SDRs matching the given sensor type group. The sens_type string can be "fan", "temp", "voltage", or any string or substring matching those in the IPMI 2.0 Table 42-3 for Sensor Types. Multiple types can be listed, separated by a comma (,) but no spaces.
- -h tval
Highest threshold value to set for the specified sensor. This tval can be in decimal, or of the form 0x1a, to match the raw reading value shown by sensor following the " = ". The value passed is set as the non-critical threshold value, with the more critical ones set by the utility as incrementally lower. This simplifies the interface and ensures that the threshold values do not get out of order. This requires specifying the sensor number via -n.
- -i ID
Show or set only the sensor Index corresponding to ID, where ID is the hex ID of the SDR as shown in the sensor output under "_ID_". The ID argument can be one hex number (e.g. 0x0e or 0e), or a range of hex numbers (e.g. 0e-1a or 1a,2a or 0x0e-0x2a). This is useful to repeatedly view just a few sensor readings for changes, or to set just one sensor quickly without reading all of the SDRs.
- -j file
Jump-start by caching the SDRs from a file. This uses an SDR binary file to read the SDRs, so that only the sensor readings need to be read from the firmware. This avoids getting the SDR reservation and reading each SDR, so it makes getting the sensor readings more efficient. The SDR binary file can be created using the -d option to dump the SDRs to a file, or -j will try to create the file if not there.
- -k K
When looping with -L, wait K seconds between loops. Default is 1 second.
- -l tval
Lowest threshold value to set for the specified sensor. This tval can be in decimal, or of the form 0x1a, to match the raw reading value shown by sensor following the " = ". The value passed is set as the non-critical threshold value, with the more critical ones set by the utility as incrementally higher. This simplifies the interface and ensures that the threshold values do not get out of order. This requires specifying the sensor number via -n.
- -m 002000s
Show SDRs for a specific MC (e.g. bus 00, sa 20, lun 00). This could be used for PICMG or ATCA blade systems. The trailing character, if present, indicates SMI addressing if 's', or IPMB addressing if 'i' or not present.
- -n snum
Number of the sensor to set. This num can be in decimal, or of the form 0x1a, to match the value shown by sensor following the "snum" tag. This is required if setting hi/lo thresholds via -h/-l.
Output the memory DIMM information from SMBIOS, including size. Not available if using IPMI LAN via -N. Sample output:
Memory Device (0,0): DIMM_A1 : size=2048MB
Memory Device (0,1): DIMM_A2 : not present
Persist the threshold being set (as specified via -l or -h). This writes a "sensor -i" script line to the file /usr/share/ipmiutil/thresholds.sh, which can then be executed at each reboot by starting the /etc/init.d/ipmi_port service for the desired runlevels. For Windows, the filename is thresholds.cmd.
Show threshold values in d:d:d format. Thresholds are shown for each sensor in short format with ':' delimiters, which is useful as an example for setting thresholds with '-u'.
Show Raw SDR bytes also.
Show sensor list in a simpler/canonical format without uninterpreted binary values. Only the user-friendly interpreted sensor information is shown. (same as -c).
Show any Thresholds for each sensor also, in text format.
Set unique threshold values. The values are specified in a string of threshold values. It can be in raw hex characters or in float values. All 6 possible thresholds must be specified, but only the ones that are valid for this sensor will be applied. These values are validated for ordering. For example:
-u 6:5:4:60:65:69 (float) or
-u 0x0605043c4145 (raw hex)
would mean 0x06=noncrit_lo, 0x05=crit_lo, 0x04=nonrec_lo, 0x3c=noncrit_hi, 0x41=crit_hi, 0x45=nonrec_hi.
Show Verbose output, including volatile thresholds, SDR thresholds, max/min, hysteresis, and BMC_TAM decoding.
Wrap the threshold data onto the same line as the sensor. This may be convenient for scripting.
Causes eXtra debug messages to be displayed.
- -L n
Loop n times every K seconds. Default is one loop and K defaults to 1 second. See option -k to change K seconds if desired. This is useful along with -i or -g to read some sensors as they change. Using -j with this option makes run it quicker.
- -N nodename
Nodename or IP address of the remote target system. If a nodename is specified, IPMI LAN interface is used. Otherwise the local system management interface is used.
- -P/-R rmt_pswd
Remote password for the nodename given. The default is a null password.
- -U rmt_user
Remote username for the nodename given. The default is a null username.
Use the remote password from Environment variable IPMI_PASSWORD.
- -F drv_t
Force the driver type to one of the followng: imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means lan2 with intelplus. The default is to detect any available driver type and use it.
Use the specified LanPlus cipher suite (0 thru 17): 0=none/none/none, 1=sha1/none/none, 2=sha1/sha1/none, 3=sha1/sha1/cbc128, 4=sha1/sha1/xrc4_128, 5=sha1/sha1/xrc4_40, 6=md5/none/none, ... 14=md5/md5/xrc4_40. Default is 3.
Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
Yes, do prompt the user for the IPMI LAN remote password. Alternatives for the password are -E or -P.
Set the slave address for a local MC
ipmiutil sensor sample output is below.
ipmiutil ver 2.21
sensor: version 2.21
-- BMC version 0.17, IPMI version 2.0
_ID_ SDR_Type_xx ET Own Typ S_Num Sens_Description Hex & Interp Reading
000b SDR Full 01 01 20 a 01 snum 30 Baseboard Temp = 2e OK 46.00 degrees C
000e SDR Full 01 01 20 m 04 snum 50 Fan 1A = 6f OK 7659.00 RPM
0042 SDR Comp 02 6f 20 a 21 snum e0 DIMM 1A = 00 c0 04 00 Present
004e SDR FRU 11 1b dev: 20 03 80 00 0a 01 Pwr Supply 1 FRU
0050 SDR IPMB 12 1b dev: 20 00 bf 07 01 Basbrd Mgmt Ctlr
0051 SDR OEM c0 09 Intel: 02 02 00 01 70 71
0065 SDR OEM c0 11 Intel: SDR Package 17
_ID_: This is an SDR ID or index number, in hex. This may vary from chassis to chassis.
SDR_Type_xx: This shows the SDR Type and its hex representation. Some SDR types have a custom display. The OEM SDRs only show the OEM vendor by IANA number and then usually the data is listed in hex.
ET: For Full or Comp SDRs, this shows the Event Type. For other SDRs, this shows the size of the SDR entry in hex (Sz).
Own: This is the hex slave address of the SDR Owner, usually 20 if BMC.
a/m: This indicates whether this sensor is either automatically or manually rearmed, respectively.
Typ: This is the Sensor Type as defined in Table 42-3 of the IPMI 2.0 spec. (01 = Temperature, 02 = Voltage, 03 = Current, 04 = Fan, etc.)
S_Num: This is the sensor number in hex. This remains consistent across baseboards of the same type. The output can be parsed with the "snum" delimiter to extract this value.
Sens_Description: This is the text description of this SDR, which is stored within the SDR on the BMC.
Hex & Interp Reading: This is the raw hex value returned by GetSensorReading, and its interpreted meaning.
ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) iserial(8) isol(8) iwdt(8)
See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
Copyright (C) 2009 Kontron America, Inc.
See the file COPYING in the distribution for more details regarding redistribution.
This utility is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.
Andy Cress <arcress at users.sourceforge.net>
ialarms(8), icmd(8), iconfig(8), idcmi(8), idelloem(8), idiscover(8), iekanalyzer(8), ievents(8), ifirewall(8), ifru(8), ifwum(8), igetevent(8), ihealth(8), ihpm(8), ilan(8), ipicmg(8), ipmi_port(8), ipmiutil(8), ireset(8), isel(8), iseltime(8), iserial(8), ismcoem(8), isol(8), isunoem(8), itsol(8), iuser(8), iwdt(8).