diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/Makefile | 30 | ||||
-rw-r--r-- | doc/UserGuide | 166 | ||||
-rw-r--r-- | doc/ipmiutil.spec | 32 | ||||
-rw-r--r-- | doc/isensor.8 | 18 |
4 files changed, 141 insertions, 105 deletions
diff --git a/doc/Makefile b/doc/Makefile index dbb2ee0..4c9b615 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -46,12 +46,12 @@ CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /usr/dev/ipmiutil-2.9.8/missing --run aclocal-1.11 -AMTAR = ${SHELL} /usr/dev/ipmiutil-2.9.8/missing --run tar +ACLOCAL = ${SHELL} /usr/dev/ipmiutil-2.9.9/missing --run aclocal-1.11 +AMTAR = ${SHELL} /usr/dev/ipmiutil-2.9.9/missing --run tar AR = ar -AUTOCONF = ${SHELL} /usr/dev/ipmiutil-2.9.8/missing --run autoconf -AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-2.9.8/missing --run autoheader -AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-2.9.8/missing --run automake-1.11 +AUTOCONF = ${SHELL} /usr/dev/ipmiutil-2.9.9/missing --run autoconf +AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-2.9.9/missing --run autoheader +AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-2.9.9/missing --run automake-1.11 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 @@ -99,13 +99,13 @@ LIB_DIR = /usr/lib64 LIPO = LN_S = ln -s LTLIBOBJS = -MAKEINFO = ${SHELL} /usr/dev/ipmiutil-2.9.8/missing --run makeinfo +MAKEINFO = ${SHELL} /usr/dev/ipmiutil-2.9.9/missing --run makeinfo MKDIR_P = /bin/mkdir -p NM = /usr/bin/nm -B NMEDIT = OBJDUMP = objdump OBJEXT = o -OS_CFLAGS = -DLINUX -fPIC -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 +OS_CFLAGS = -DLINUX -fPIC -Wno-pointer-sign -Wno-sign-conversion -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 OS_DRIVERS = imbapi.c ipmimv.c ipmild.c ipmidir.c OS_LFLAGS = OTOOL = @@ -113,9 +113,9 @@ OTOOL64 = PACKAGE = ipmiutil PACKAGE_BUGREPORT = PACKAGE_NAME = ipmiutil -PACKAGE_STRING = ipmiutil 2.9.8 +PACKAGE_STRING = ipmiutil 2.9.9 PACKAGE_TARNAME = ipmiutil -PACKAGE_VERSION = 2.9.8 +PACKAGE_VERSION = 2.9.9 PATH_SEPARATOR = : PKG_DIR = /root/rpmbuild RANLIB = ranlib @@ -127,11 +127,11 @@ SHR_LINK = libipmiutil.so.1 STRIP = strip SUBDIR_S = doc scripts lib util SYSTEMD_DIR = /usr/share/ipmiutil -VERSION = 2.9.8 -abs_builddir = /usr/dev/ipmiutil-2.9.8/doc -abs_srcdir = /usr/dev/ipmiutil-2.9.8/doc -abs_top_builddir = /usr/dev/ipmiutil-2.9.8 -abs_top_srcdir = /usr/dev/ipmiutil-2.9.8 +VERSION = 2.9.9 +abs_builddir = /usr/dev/ipmiutil-2.9.9/doc +abs_srcdir = /usr/dev/ipmiutil-2.9.9/doc +abs_top_builddir = /usr/dev/ipmiutil-2.9.9 +abs_top_srcdir = /usr/dev/ipmiutil-2.9.9 ac_ct_CC = gcc ac_ct_DUMPBIN = am__include = include @@ -159,7 +159,7 @@ host_vendor = redhat htmldir = ${docdir} includedir = ${prefix}/include infodir = ${datarootdir}/info -install_sh = ${SHELL} /usr/dev/ipmiutil-2.9.8/install-sh +install_sh = ${SHELL} /usr/dev/ipmiutil-2.9.9/install-sh libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale diff --git a/doc/UserGuide b/doc/UserGuide index fef91aa..142ecb2 100644 --- a/doc/UserGuide +++ b/doc/UserGuide @@ -1,6 +1,6 @@ IPMIUTIL USER GUIDE - VERSION 2.9.8 + VERSION 2.9.9 An easy-to-use IPMI server management utility @@ -2088,7 +2088,7 @@ NAME ipmiutil_sensor - show Sensor Data Records SYNOPSIS - ipmiutil sensor [-abcdefgmpqrstuvwx -i id -n snum -h tval -l tval + ipmiutil sensor [-abcdefgjkmpqrstuvwxL -i id -n snum -h tval -l tval -NUPREFJTVY] @@ -2118,141 +2118,157 @@ OPTIONS information is shown. (same as -s). -d <file> - Dump the SDRs to a specified binary file. + Dump the SDRs to a specified binary file. This file can be used + with -j to jumpstart getting the sensor readings. - -e Show Every SDR in a bladed system by traversing the child MCs + -e 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 nor- + Restore the SDRs from the specified binary File. This is nor- mally 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 Sen- - sor Types. Multiple types can be listed, separated by a comma + sens_type string can be "fan", "temp", "voltage", or any string + or substring matching those in the IPMI 2.0 Table 42-3 for Sen- + sor 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 + 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 + 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 + -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 + 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 + 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 + 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 + 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 + 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. - -o Output the memory DIMM information from SMBIOS, including size. + -o 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 - -p Persist the threshold being set (as specified via -l or -h). - This writes a "sensor -i" script line to the file + -p 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 thresh- + each reboot by starting the /etc/init.d/ipmi_port service for + the desired runlevels. For Windows, the filename is thresh- olds.cmd. - -q Show any thresholds for each sensor in short format with ’:’ - delimiters, useful as an example for setting thresholds with - ’-u’. + -q 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’. -r Show Raw SDR bytes also. - -s Show sensor list in a simpler/canonical format without uninter- + -s Show sensor list in a simpler/canonical format without uninter- preted binary values. Only the user-friendly interpreted sensor information is shown. (same as -c). -t Show any Thresholds for each sensor also, in text format. - -u 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 + -u 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, + would mean 0x06=noncrit_lo, 0x05=crit_lo, 0x04=nonrec_lo, 0x3c=noncrit_hi, 0x41=crit_hi, 0x45=nonrec_hi. - -v Show Verbose output, including volatile thresholds, SDR thresh- + -v Show Verbose output, including volatile thresholds, SDR thresh- olds, max/min, hysteresis, and BMC_TAM decoding. - -w Wrap the threshold data onto the same line as the sensor. This + -w Wrap the threshold data onto the same line as the sensor. This may be convenient for scripting. -x Causes eXtra debug messages to be displayed. - -L n Loop n times. This is useful along with -i. Default is one - loop. + -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 node- - name is specified, IPMI LAN interface is used. Otherwise the + Nodename or IP address of the remote target system. If a node- + name 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 + 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 + Remote username for the nodename given. The default is a null username. -E Use the remote password from Environment variable IPMI_PASSWORD. -F drv_t - Force the driver type to one of the followng: imb, va, open, + 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 + lan2 with intelplus. The default is to detect any available driver type and use it. - -J Use the specified LanPlus cipher suite (0 thru 17): - 0=none/none/none, 1=sha1/none/none, 2=sha1/sha1/none, + -J 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. - -T Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, + -T Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM. - -V Use a specified IPMI LAN privilege level. 1=Callback level, + -V Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level. - -Y Yes, do prompt the user for the IPMI LAN remote password. + -Y Yes, do prompt the user for the IPMI LAN remote password. Alternatives for the password are -E or -P. @@ -2263,11 +2279,11 @@ EXAMPLES -- BMC version 0.17, IPMI version 2.0 _ID_ SDR_Type_xx ET Own Typ S_Num Sens_Description Hex & Interp Read- ing - 000b SDR Full 01 01 20 a 01 snum 30 Baseboard Temp = 2e OK 46.00 + 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 + 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 + 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 @@ -2276,31 +2292,31 @@ EXAMPLES [...] Output Columns: - _ID_: This is an SDR ID or index number, in hex. This may vary from + _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_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, + 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 man- ually rearmed, respectively. - Typ: This is the Sensor Type as defined in Table 42-3 of the IPMI 2.0 + 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 + 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 + 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 GetSensor- + Hex & Interp Reading: This is the raw hex value returned by GetSensor- Reading, and its interpreted meaning. SEE ALSO - 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) + 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) @@ -5198,8 +5214,10 @@ directory and then run showsel.reg, so that the Windows EventLog service can find information about the showsel events. Note that the openssl crypto libraries (libeay32.dll and ssleay32.dll) -should be copied to %SystemRoot%\System32 also to provide crypto functions +should be copied to %SystemRoot%\System32 to provide crypto functions for the lanplus logic, if they are not already present. +For WinPE 64-bit, or other variants without openssl, see also +http://www.indyproject.org/Sockets/fpc/OpenSSLforWin64.en.aspx Note that for Windows Vista/7 workstation and later, make sure to 'Run as administrator' when installing. Windows Server should not diff --git a/doc/ipmiutil.spec b/doc/ipmiutil.spec index facb897..bff272f 100644 --- a/doc/ipmiutil.spec +++ b/doc/ipmiutil.spec @@ -3,7 +3,7 @@ # Copyright (c) 2012 Andy Cress # Name: ipmiutil -Version: 2.9.8 +Version: 2.9.9 Release: 1%{?dist} Summary: Easy-to-use IPMI server management utilities License: BSD @@ -13,30 +13,32 @@ URL: http://ipmiutil.sourceforge.net BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) # Suggests: cron or vixie-cron or cronie or similar %if 0%{?fedora} >= 15 -BuildRequires: systemd autoconf automake +BuildRequires: systemd autoconf automake systemd-units Requires: systemd-units %endif -%if 0%{?suse_version} >= 1210 -%define req_systemd 1 -%endif %if 0%{?sles_version} >= 10 BuildRequires: libopenssl-devel %else BuildRequires: openssl-devel %endif -%if 0%{?req_systemd} +%if 0%{?suse_version} >= 1210 BuildRequires: gcc gcc-c++ libtool systemd +%define req_systemd 1 %define unit_dir %{_unitdir} %define systemd_fls %{unit_dir} # Requires: %{?systemd_requires} %else BuildRequires: gcc gcc-c++ libtool +%define systemd_fls %{_datadir}/%{name} %if 0%{?fedora} == 16 %define unit_dir /lib/systemd/system %else +%if 0%{?rhel} >= 7 +BuildRequires: systemd-units %define unit_dir %{_unitdir} %endif -%define systemd_fls %{_datadir}/%{name} +%{!?unit_dir: %define unit_dir /usr/lib/systemd/system} +%endif %endif %define init_dir %{_initrddir} @@ -213,11 +215,17 @@ then fi %endif + # Test whether an IPMI interface is known to the motherboard + IPMIret=1 + %{_sbindir}/dmidecode |grep -q IPMI && IPMIret=0 # Run some ipmiutil command to see if any IPMI interface works. - IPMIret=0 - %{_bindir}/ipmiutil sel -v >/dev/null 2>&1 || IPMIret=1 - # If IPMIret==0, the IPMI cmd was successful, and IPMI is enabled locally. + # Some may not have IPMI on the motherboard, so need to check, but + # some kernels may have IPMI driver partially loaded, which breaks this + %{_bindir}/ipmiutil sel -v >/dev/null 2>&1 && IPMIret=0 if [ $IPMIret -eq 0 ]; then + if [ ! -x %{init_dir}/ipmi ]; then + cp -f %{scr_dir}/ipmi.init.basic %{init_dir}/ipmi + fi # If IPMI is enabled, automate managing the IPMI SEL if [ -d %{_sysconfdir}/cron.daily ]; then cp -f %{_datadir}/%{name}/checksel %{_sysconfdir}/cron.daily @@ -228,9 +236,9 @@ then touch ${scr_dir}/ipmi_port.service elif [ -x /sbin/chkconfig ]; then /sbin/chkconfig --add ipmi_port - /sbin/chkconfig --add ipmiutil_wdt - /sbin/chkconfig --add ipmiutil_evt /sbin/chkconfig --add ipmi_info + # /sbin/chkconfig --add ipmiutil_wdt + # /sbin/chkconfig --add ipmiutil_evt fi fi diff --git a/doc/isensor.8 b/doc/isensor.8 index dcfdd1a..1345f58 100644 --- a/doc/isensor.8 +++ b/doc/isensor.8 @@ -2,7 +2,7 @@ .SH NAME ipmiutil_sensor \- show Sensor Data Records .SH SYNOPSIS -.B "ipmiutil sensor [-abcdefgmpqrstuvwx -i id -n snum -h tval -l tval -NUPREFJTVY]" +.B "ipmiutil sensor [-abcdefgjkmpqrstuvwxL -i id -n snum -h tval -l tval -NUPREFJTVY]" .SH DESCRIPTION .I ipmiutil sensor @@ -29,7 +29,8 @@ Show sensor list in a simpler/Canonical format without uninterpreted binary values. Only the user-friendly interpreted sensor information is shown. (same as \-s). .IP "-d <file>" -Dump the SDRs to a specified binary file. +Dump the SDRs to a specified binary file. This file can be used with -j to +jumpstart getting the sensor readings. .IP "-e" Show Every SDR in a bladed system by traversing the child MCs (same as \-b). .IP "-f <file>" @@ -56,6 +57,15 @@ 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. +.IP "-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. +.IP "-k K" +When looping with \-L, wait K seconds between loops. Default is 1 second. .IP "-l tval" Lowest threshold value to set for the specified sensor. This tval can be in decimal, or of the form 0x1a, @@ -86,7 +96,7 @@ 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. .IP "-q" -Show any thresholds for each sensor in short format with ':' delimiters, useful as an example for setting thresholds with '\-u'. +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'. .IP "-r" Show Raw SDR bytes also. .IP "-s" @@ -112,7 +122,7 @@ This may be convenient for scripting. .IP "-x" Causes eXtra debug messages to be displayed. .IP "-L n" -Loop n times. This is useful along with \-i. Default is one loop. +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. .IP "-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 |