diff options
-rw-r--r-- | COPYING.win | 3 | ||||
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | NEWS | 87 | ||||
-rwxr-xr-x | configure | 20 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | debian/changelog | 6 | ||||
-rw-r--r-- | debpkg/changelog | 6 | ||||
-rw-r--r-- | doc/Makefile | 28 | ||||
-rw-r--r-- | doc/UserGuide | 6 | ||||
-rw-r--r-- | doc/ipmiutil.spec | 2 | ||||
-rw-r--r-- | lib/Makefile | 28 | ||||
-rw-r--r-- | lib/libipmiutil.pc | 2 | ||||
-rw-r--r-- | scripts/Makefile | 28 | ||||
-rwxr-xr-x | setver | 2 | ||||
-rw-r--r-- | util/ievents.c | 4 | ||||
-rw-r--r-- | util/ipmiutil.c | 2 | ||||
-rw-r--r-- | util/isensor.c | 16 | ||||
-rw-r--r-- | util/isensor.h | 2 | ||||
-rw-r--r-- | util/oem_hp.c | 101 |
19 files changed, 189 insertions, 160 deletions
diff --git a/COPYING.win b/COPYING.win index e4acdb2..ad2af4b 100644 --- a/COPYING.win +++ b/COPYING.win @@ -14,7 +14,8 @@ Files: getopt.h Copyright: 2007 Andy Cress <arcress at users.sourceforge.net> License: BSD-3-clause -Files: openssl-0.9.8x/* +Files: openssl-0.9.8x/* (libeay32.dll, ssleay32.dll binaries) +See https://www.openssl.org/source/license.html Copyright: 1998-2011, The OpenSSL Project 1995-1998, Eric Young (eay@cryptsoft.com) Comment: @@ -4330,3 +4330,7 @@ wdt.8 iwdt.8 (ipmiutil wdt) util/ifru.c - add invalid type/len check for mult-record area doc/iseltime.8 - new (was in UserGuide), added for RHBZ#1600386 util/Makefile.am - added $(EXEEXT) to all targets for RHBZ#1604378 + +09/13/2018 ARCress ipmiutil-3.1.3 changes (iver 3.13) + util/oem_hp.c - handle analog readings in HP discrete Fan sensors + (SF_Feat#9) @@ -18,61 +18,44 @@ See http://ipmiutil.sourceforge.net for binaries, documentation, etc. In Oct 2001 (0.8.1), started panicsel. In Dec 2001 (1.0.0), released with Intel Telecom Linux Technology project -In July 2002 (1.2.1), released with MontaVista CGE 2.1 -In Jan 2004 (1.4.1), compile flags for Windows 2000 & 2003 support were added. -In August 2004 (1.4.8), the project was moved from panicsel.sf.net to - ipmiutil.sf.net. The new name more clearly reflects the purpose of the - project in its current state. -In November 2004 (1.5.0), support for IPMI LAN was added using FreeIPMI. - The FreeIPMI library includes KCS and IPMI LAN protocols. +In Jul 2002 (1.2.1), released with MontaVista CGE 2.1 +In Jan 2004 (1.4.1), added support for Windows 2000 & 2003 +In Aug 2004 (1.4.8), the project was moved from panicsel.sf.net to ipmiutil.sf.net. The new name more clearly reflects the purpose of the project in its current state. +In Nov 2004 (1.5.0), support for IPMI LAN was added using FreeIPMI. In May 2006 (1.7.0), built-in IPMI LAN support was added. -In August 2006 (1.7.5), driverless direct I/O support was added, to no longer - depend upon libfreeipmi.so, since ipmilan.c and ipmidir.c replace that - functionality, so the utilities are now more portable. -In Jan 2007 (1.8.0), two major new features were added: - 1) The 'ipmiutil' meta-command, which may be more user-friendly for some - users, and maintains the existing syntax for each sub-command. - 2) Support for IPMI LAN 2.0 RMCP+ in both Linux and Windows. Support for - IPMI LAN 1.5 or 2.0 is detected by default, or can be explicitly - specified/forced with the -Flan2 option. -In Feb 2007 (1.9.2), Linux Serial-Over-Lan console feature was added. -In Oct 2007 (2.0.0), Windows SOL console and remote soft-shutdown features - were added. -In Mar 2008 (ipmiutil-2.1.0), the Windows SOL client application was completed. -In Aug 2008 (ipmiutil-2.2.0), a new function was added to save/restore the BMC - configuration parameters for lan, serial, user, channel, pef, and sol. - The command is "ipmiutil config" for this. +In Aug 2006 (1.7.5), driverless direct I/O support was added +In Jan 2007 (1.8.0), added ipmiutil meta-command, IPMI LAN 2.0 (lanplus) support +In Feb 2007 (1.9.2), added Linux Serial-Over-Lan console feature +In Oct 2007 (2.0.0), added Windows SOL console and remote soft-shutdown features +In Mar 2008 (2.1.0), the Windows SOL client application was completed. +In Aug 2008 (2.2.0), iconfig function was added to save/restore the BMC configuration parameters In Sep 2008 (2.2.1), support for the Microsoft IPMI driver was added. In Nov 2008 (2.3.0), support for the Sun Solaris bmc driver was added. In Mar 2009 (2.3.5), support for the FreeBSD OS was added. -In Oct 2009 (2.5.0), added several new features: - Full ANSI VT100 emulation for Windows SOL console - Two-character escape sequence (~.) for SOL console, adding send-Break. - Added canonical output option -c for fru,config,sensor,health,lan - Added ipmiutil getevt -r to run specified script when an event occurs -In Feb 2010 (2.6.0), new subcommand naming scheme: - Renamed subcommands to match the meta-command name plus the prefix 'i'. - For instance, 'showsel' is now 'isel' and 'pefconfig' is now 'ilan'. - This may affect some scripts that use the old subcommand shortcuts. - Also included some spec file cleanup/standardization. - Support added for some CG2100 firmware differences. -In Apr 2010 (2.6.2) ifruset was added to set all FRU Product Area fields -In Jun 2010 (2.6.5) added picmg and firewall functionality -In Aug 2010 (2.6.8) Fedora 14 version of ipmiutil submitted -In Sep 2010 (2.6.9) added fwum/hpm functionality, and OEM Fujitsu sensor/sel -In Sep 2010 (2.7.0) added sunoen, ekanalyzer, fru_picmg, oem_kontron -In Sep 2010 (2.7.1) added ppc64, mips64, sparc arch support -In Nov 2010 (2.7.2) added Debian package support +In Oct 2009 (2.5.0), added ANSI VT100 emulation for Windows SOL console +In Feb 2010 (2.6.0), new subcommand naming scheme (i+subcmd) +In Apr 2010 (2.6.2), ifruset was added to set all FRU Product Area fields +In Jun 2010 (2.6.5), added picmg and firewall functionality +In Aug 2010 (2.6.8), Fedora 14 version of ipmiutil submitted +In Sep 2010 (2.6.9), added fwum/hpm functionality, and OEM Fujitsu sensor/sel +In Sep 2010 (2.7.0), added sunoen, ekanalyzer, fru_picmg, oem_kontron +In Sep 2010 (2.7.1), added ppc64, mips64, sparc arch support +In Nov 2010 (2.7.2), added Debian package support In Nov 2010 Fedora 14 released with ipmiutil-2.6.8 -In Dec 2010 (2.7.3) added SuperMicro OEM functions +In Dec 2010 (2.7.3), added SuperMicro OEM functions In Mar 2011 OpenSuSE 11.4 released with ipmiutil-2.7.2 -In May 2011 (2.7.6) added VLAN support and WIN64 fixes -In Sep 2011 (2.7.8) added IPv6, systemd, Dell OEM functions, PICMG 2.3, tsol -In Oct 2011 (2.7.9) support Wind River and ARM cross-compile, Intel S2600 -In Dec 2011 (2.8.0) added DCMI 1.1 commands, devel pkg, MSI package -In Feb 2012 (2.8.1) added Quanta S99Q functions, Dell fixes, Intel ME fixes -In Mar 2012 (2.8.2) added Intel Romley OEM support -In Jun 2012 (2.8.4) added support for HP-UX builds and DCMI 1.1 commands -In Oct 2012 (2.8.6) added pre-built Windows DLL for sample development apps -In Feb 2013 (2.8.8) added much more SuperMicro OEM support -In May 2013 (2.9.1) added support for MacOSX client +In May 2011 (2.7.6), added VLAN support and WIN64 fixes +In Sep 2011 (2.7.8), added IPv6, systemd, Dell OEM functions, PICMG 2.3, tsol +In Oct 2011 (2.7.9), support Wind River and ARM cross-compile, Intel S2600 +In Dec 2011 (2.8.0), added DCMI 1.1 commands, devel pkg, MSI package +In Feb 2012 (2.8.1), added Quanta S99Q functions, Dell fixes, Intel ME fixes +In Mar 2012 (2.8.2), added Intel Romley OEM support +In Jun 2012 (2.8.4), added support for HP-UX builds and DCMI 1.1 commands +In Oct 2012 (2.8.6), added pre-built Windows DLL for sample development apps +In Feb 2013 (2.8.8), added much more SuperMicro OEM support +In Apr 2013 (2.9.0), added iseltime to sync sys/RTC/SEL times +In May 2013 (2.9.1), added support for MacOSX client +In Dec 2016 (3.0.1), added support for Lenovo OEM sensors +In Feb 2017 (3.0.1), added support for ASUS OEM sensors +In Mar 2017 (3.0.3), added iuser to consolidate user functions + @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for ipmiutil 3.1.2. +# Generated by GNU Autoconf 2.63 for ipmiutil 3.1.3. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @@ -743,8 +743,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='ipmiutil' PACKAGE_TARNAME='ipmiutil' -PACKAGE_VERSION='3.1.2' -PACKAGE_STRING='ipmiutil 3.1.2' +PACKAGE_VERSION='3.1.3' +PACKAGE_STRING='ipmiutil 3.1.3' PACKAGE_BUGREPORT='' ac_unique_file="util/ipmiutil.c" @@ -1503,7 +1503,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures ipmiutil 3.1.2 to adapt to many kinds of systems. +\`configure' configures ipmiutil 3.1.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1573,7 +1573,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of ipmiutil 3.1.2:";; + short | recursive ) echo "Configuration of ipmiutil 3.1.3:";; esac cat <<\_ACEOF @@ -1683,7 +1683,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -ipmiutil configure 3.1.2 +ipmiutil configure 3.1.3 generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1697,7 +1697,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by ipmiutil $as_me 3.1.2, which was +It was created by ipmiutil $as_me 3.1.3, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -2551,7 +2551,7 @@ fi # Define the identity of the package. PACKAGE='ipmiutil' - VERSION='3.1.2' + VERSION='3.1.3' cat >>confdefs.h <<_ACEOF @@ -13957,7 +13957,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by ipmiutil $as_me 3.1.2, which was +This file was extended by ipmiutil $as_me 3.1.3, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14020,7 +14020,7 @@ Report bugs to <bug-autoconf@gnu.org>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -ipmiutil config.status 3.1.2 +ipmiutil config.status 3.1.3 configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index 65c6576..139004e 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(ipmiutil,3.1.2) +AC_INIT(ipmiutil,3.1.3) AC_CONFIG_SRCDIR(util/ipmiutil.c) echo "ipmiutil version ${PACKAGE_VERSION}" AC_CONFIG_HEADERS(config.h) diff --git a/debian/changelog b/debian/changelog index 00309e0..4d07e5a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +ipmiutil (3.1.3-1) UNRELEASED; urgency=medium + + * Nwe upstream release. + + -- Jörg Frings-Fürst <debian@jff.email> Mon, 01 Oct 2018 22:45:21 +0200 + ipmiutil (3.1.2-1) unstable; urgency=medium * New upstream release. diff --git a/debpkg/changelog b/debpkg/changelog index 6254d00..42171a0 100644 --- a/debpkg/changelog +++ b/debpkg/changelog @@ -1,3 +1,9 @@ +ipmiutil (3.1.3-1) unstable; urgency=low + + * New upstream version. + + -- Andy Cress <arcress@users.sourceforge.net> Thu, 13 Sep 2018 11:29:04 -0400 + ipmiutil (3.1.2-1) unstable; urgency=low * New upstream version. diff --git a/doc/Makefile b/doc/Makefile index 744aae1..ec426c2 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-3.1.2/missing --run aclocal-1.11 -AMTAR = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run tar +ACLOCAL = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run aclocal-1.11 +AMTAR = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run tar AR = ar -AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run autoconf -AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run autoheader -AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run automake-1.11 +AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run autoconf +AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run autoheader +AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run automake-1.11 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 @@ -99,7 +99,7 @@ LIB_DIR = /usr/lib64 LIPO = LN_S = ln -s LTLIBOBJS = -MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run makeinfo +MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run makeinfo MKDIR_P = /bin/mkdir -p NM = /usr/bin/nm -B NMEDIT = @@ -113,9 +113,9 @@ OTOOL64 = PACKAGE = ipmiutil PACKAGE_BUGREPORT = PACKAGE_NAME = ipmiutil -PACKAGE_STRING = ipmiutil 3.1.2 +PACKAGE_STRING = ipmiutil 3.1.3 PACKAGE_TARNAME = ipmiutil -PACKAGE_VERSION = 3.1.2 +PACKAGE_VERSION = 3.1.3 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 = 3.1.2 -abs_builddir = /usr/dev/ipmiutil-3.1.2/doc -abs_srcdir = /usr/dev/ipmiutil-3.1.2/doc -abs_top_builddir = /usr/dev/ipmiutil-3.1.2 -abs_top_srcdir = /usr/dev/ipmiutil-3.1.2 +VERSION = 3.1.3 +abs_builddir = /usr/dev/ipmiutil-3.1.3/doc +abs_srcdir = /usr/dev/ipmiutil-3.1.3/doc +abs_top_builddir = /usr/dev/ipmiutil-3.1.3 +abs_top_srcdir = /usr/dev/ipmiutil-3.1.3 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-3.1.2/install-sh +install_sh = ${SHELL} /usr/dev/ipmiutil-3.1.3/install-sh libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale diff --git a/doc/UserGuide b/doc/UserGuide index ee16696..5c35b6b 100644 --- a/doc/UserGuide +++ b/doc/UserGuide @@ -1,6 +1,6 @@ IPMIUTIL USER GUIDE - VERSION 3.1.2 + VERSION 3.1.3 An easy-to-use IPMI server management utility @@ -5178,6 +5178,10 @@ Open the file /etc/ttys with an editor and set up a line like this: For more details, see http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/serialconsole-setup.html +---- FOR VMware ESXi SERIAL CONSOLE ----- +# Enable tty1Port for serial console as COM2 +esxcli system settings kernel set -s tty1Port -v com2 + ---------------------------------------------------------------- 4.9 Using ipmiutil Library APIs for custom programs diff --git a/doc/ipmiutil.spec b/doc/ipmiutil.spec index c1f0278..3587484 100644 --- a/doc/ipmiutil.spec +++ b/doc/ipmiutil.spec @@ -3,7 +3,7 @@ # Copyright (c) 2012 Andy Cress # Name: ipmiutil -Version: 3.1.2 +Version: 3.1.3 Release: 1%{?dist} Summary: Easy-to-use IPMI server management utilities License: BSD diff --git a/lib/Makefile b/lib/Makefile index 9eb78de..b21e936 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -47,12 +47,12 @@ CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run aclocal-1.11 -AMTAR = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run tar +ACLOCAL = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run aclocal-1.11 +AMTAR = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run tar AR = ar -AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run autoconf -AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run autoheader -AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run automake-1.11 +AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run autoconf +AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run autoheader +AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run automake-1.11 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 @@ -101,7 +101,7 @@ LIB_DIR = /usr/lib64 LIPO = LN_S = ln -s LTLIBOBJS = -MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run makeinfo +MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run makeinfo MKDIR_P = /bin/mkdir -p NM = /usr/bin/nm -B NMEDIT = @@ -115,9 +115,9 @@ OTOOL64 = PACKAGE = ipmiutil PACKAGE_BUGREPORT = PACKAGE_NAME = ipmiutil -PACKAGE_STRING = ipmiutil 3.1.2 +PACKAGE_STRING = ipmiutil 3.1.3 PACKAGE_TARNAME = ipmiutil -PACKAGE_VERSION = 3.1.2 +PACKAGE_VERSION = 3.1.3 PATH_SEPARATOR = : PKG_DIR = /root/rpmbuild RANLIB = ranlib @@ -129,11 +129,11 @@ SHR_LINK = libipmiutil.so.1 STRIP = strip SUBDIR_S = doc scripts lib util SYSTEMD_DIR = /usr/share/ipmiutil -VERSION = 3.1.2 -abs_builddir = /usr/dev/ipmiutil-3.1.2/lib -abs_srcdir = /usr/dev/ipmiutil-3.1.2/lib -abs_top_builddir = /usr/dev/ipmiutil-3.1.2 -abs_top_srcdir = /usr/dev/ipmiutil-3.1.2 +VERSION = 3.1.3 +abs_builddir = /usr/dev/ipmiutil-3.1.3/lib +abs_srcdir = /usr/dev/ipmiutil-3.1.3/lib +abs_top_builddir = /usr/dev/ipmiutil-3.1.3 +abs_top_srcdir = /usr/dev/ipmiutil-3.1.3 ac_ct_CC = gcc ac_ct_DUMPBIN = am__include = include @@ -161,7 +161,7 @@ host_vendor = redhat htmldir = ${docdir} includedir = ${prefix}/include infodir = ${datarootdir}/info -install_sh = ${SHELL} /usr/dev/ipmiutil-3.1.2/install-sh +install_sh = ${SHELL} /usr/dev/ipmiutil-3.1.3/install-sh libdir = $(iprefix)/lib libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale diff --git a/lib/libipmiutil.pc b/lib/libipmiutil.pc index 9fa5d2e..e0c50a2 100644 --- a/lib/libipmiutil.pc +++ b/lib/libipmiutil.pc @@ -8,6 +8,6 @@ nutuser=@RUN_AS_USER@ Name: libipmiutil Description: Library for ipmiutil -Version: 3.1.2 +Version: 3.1.3 Libs: -L${libdir} -lipmi_lanplus Cflags: -I${includedir} diff --git a/scripts/Makefile b/scripts/Makefile index dd52ce7..269da3c 100644 --- a/scripts/Makefile +++ b/scripts/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-3.1.2/missing --run aclocal-1.11 -AMTAR = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run tar +ACLOCAL = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run aclocal-1.11 +AMTAR = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run tar AR = ar -AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run autoconf -AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run autoheader -AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run automake-1.11 +AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run autoconf +AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run autoheader +AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run automake-1.11 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 @@ -99,7 +99,7 @@ LIB_DIR = /usr/lib64 LIPO = LN_S = ln -s LTLIBOBJS = -MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.1.2/missing --run makeinfo +MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.1.3/missing --run makeinfo MKDIR_P = /bin/mkdir -p NM = /usr/bin/nm -B NMEDIT = @@ -113,9 +113,9 @@ OTOOL64 = PACKAGE = ipmiutil PACKAGE_BUGREPORT = PACKAGE_NAME = ipmiutil -PACKAGE_STRING = ipmiutil 3.1.2 +PACKAGE_STRING = ipmiutil 3.1.3 PACKAGE_TARNAME = ipmiutil -PACKAGE_VERSION = 3.1.2 +PACKAGE_VERSION = 3.1.3 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 = 3.1.2 -abs_builddir = /usr/dev/ipmiutil-3.1.2/scripts -abs_srcdir = /usr/dev/ipmiutil-3.1.2/scripts -abs_top_builddir = /usr/dev/ipmiutil-3.1.2 -abs_top_srcdir = /usr/dev/ipmiutil-3.1.2 +VERSION = 3.1.3 +abs_builddir = /usr/dev/ipmiutil-3.1.3/scripts +abs_srcdir = /usr/dev/ipmiutil-3.1.3/scripts +abs_top_builddir = /usr/dev/ipmiutil-3.1.3 +abs_top_srcdir = /usr/dev/ipmiutil-3.1.3 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-3.1.2/install-sh +install_sh = ${SHELL} /usr/dev/ipmiutil-3.1.3/install-sh libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale @@ -6,7 +6,7 @@ # [doinc?] is 'n'. # if [doinc?] is 'r', reverse increment (decrement). # -ver=3.1.2 +ver=3.1.3 rel=1 tmped=/tmp/edver.tmp tmpspec=/tmp/edspec.tmp diff --git a/util/ievents.c b/util/ievents.c index 3958138..4053eab 100644 --- a/util/ievents.c +++ b/util/ievents.c @@ -80,7 +80,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. extern char *progver; /*from ipmiutil.c*/ static char * progname = "ipmiutil events"; #else -static char *progver = "3.12"; +static char *progver = "3.13"; static char *progname = "ievents"; #endif static char fsensdesc = 0; /* 1= get extended sensor descriptions*/ @@ -1268,7 +1268,7 @@ int get_sensor_tag(int isdr, int genid, uchar snum, char *tag, rv = ERR_NOT_FOUND; /*got tag, but did not get SDR*/ } } - if (rv != 0) strcpy(tag,"na"); + if (rv != 0) strcpy(tag,"na "); if (fdebug) printf("get_sensor_tag(%d): find_sdr(%x,%x) rv=%d tag=/%s/\n", fsensdesc,snum,genid,rv,tag); return(rv); diff --git a/util/ipmiutil.c b/util/ipmiutil.c index 20ce7c3..6cbdf76 100644 --- a/util/ipmiutil.c +++ b/util/ipmiutil.c @@ -57,7 +57,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "ipmiutil.h" static char *progname = "ipmiutil"; -char *progver = "3.12"; +char *progver = "3.13"; // static char fdebug = 0; /*int ipmiutil(int argc, char **argv); */ diff --git a/util/isensor.c b/util/isensor.c index 8bb2935..df4a911 100644 --- a/util/isensor.c +++ b/util/isensor.c @@ -2635,11 +2635,11 @@ ShowSDR(char *tag, uchar *sdr) memcpy(idstr,&sdr[ioff],ilen); for (i=ilen; i<16; i++) { idstr[i] = ' '; ilen++; } idstr[ilen] = 0; /* stringify */ - if ((sdr01->sens_capab & 0x40) == 0) brearm = 'm'; /*manual rearm*/ - else brearm = 'a'; /*automatic rearm*/ + if ((sdr01->sens_capab & 0x40) == 0) brearm = 'm'; /*manual rearm*/ + else brearm = 'a'; /*automatic rearm*/ if (fdebug) printf("entity %d.%d, idlen=%d sizeof=%lu idstr0=%c s0=%x\n", - sdr01->entity_id, sdr01->entity_inst, - ilen,sizeof(SDR01REC),idstr[0],sdr[ioff]); + sdr01->entity_id, sdr01->entity_inst, + ilen,sizeof(SDR01REC),idstr[0],sdr[ioff]); rc = GetSensorReading(sdr01->sens_num,sdr01,sens); if (rc != 0) { /* if rc != 0, leave sens values zero */ i = 41; /* Unknown */ @@ -2662,8 +2662,8 @@ ShowSDR(char *tag, uchar *sdr) sdr01->sens_num); } else val = RawToFloat(sens[0],sdr); - typestr = get_unit_type(sdr01->sens_units, sdr01->sens_base, - sdr01->sens_mod, fsimple); + typestr = get_unit_type(sdr01->sens_units, sdr01->sens_base, + sdr01->sens_mod, fsimple); #ifdef WRONG if (is_romley(vend_id,prod_id) && (sdr01->sens_type == 0x0C) && (sdr01->sens_units & 0x01)) @@ -2683,11 +2683,11 @@ ShowSDR(char *tag, uchar *sdr) else snprintf(rdgstr,sizeof(rdgstr),"%02x %s %.2f %s", sens[0], sensor_dstatus[i],val,typestr); - } + } sep[0] = 0; /*null string*/ printf("%s", tag); if (fsimple) { - sprintf(sep,"%c ",bdelim); + sprintf(sep,"%c ",bdelim); printf("%04x %c Full %c %s %c %02x %c %s %c %s%c", sdr01->recid, bdelim, bdelim, get_stype_str(sdr01->sens_type), diff --git a/util/isensor.h b/util/isensor.h index f578274..d08a0a8 100644 --- a/util/isensor.h +++ b/util/isensor.h @@ -155,6 +155,8 @@ void ShowSDR(char *tag, uchar *sdr); int GetSDRRepositoryInfo(int *nret, int *fdev); int GetSensorThresholds(uchar sens_num, uchar *data); int GetSensorReading(uchar sens_num, void *psdr, uchar *sens_data); +int GetSensorReadingFactors(uchar snum, uchar raw, int *m, int *b, int * b_exp, + int *r, int *a); double RawToFloat(uchar raw, uchar *psdr); char *decode_entity_id(int id); char *get_unit_type(int iunits, int ibase, int imod, int fshort); diff --git a/util/oem_hp.c b/util/oem_hp.c index f551176..98ba86e 100644 --- a/util/oem_hp.c +++ b/util/oem_hp.c @@ -48,7 +48,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. extern char * progver; /*from ipmiutil.c*/ static char * progname = "ipmiutil hpoem"; #else -static char * progver = "3.08"; +static char * progver = "3.13"; static char * progname = "ihpoem"; #endif @@ -81,6 +81,11 @@ int decode_sensor_hp(uchar *sdr,uchar *reading,char *pstring, int slen) char *pstr = NULL; uchar stype, evtype, b; ushort v; + int analog = 0; + int fshort = 1; + double val; + char *typestr = NULL; + SDR01REC *sdr01 = (SDR01REC *)sdr; if (sdr == NULL || reading == NULL) return(rv); if (pstring == NULL || slen == 0) return(rv); @@ -92,8 +97,8 @@ int decode_sensor_hp(uchar *sdr,uchar *reading,char *pstring, int slen) rv = 0; } else { #ifdef OLD - int vend, prod; - get_mfgid(&vend,&prod); + int vend, prod; + get_mfgid(&vend,&prod); /* This was an anomaly for an older HP DL380 but is no longer valid */ if ((prod == 0x2000) && ((reading[2] & 0x40) == 0x40)) { /*custom Init/Unavail state if DL380*/ @@ -101,48 +106,66 @@ int decode_sensor_hp(uchar *sdr,uchar *reading,char *pstring, int slen) rv = 0; } else #endif + /* HP has packed analog readings into some of their non-Threshold sensors + * so we have to handle that. */ + if (sdr[3] == 0x01) { /*only full sensors can be analog*/ + if (evtype == 0x01) analog = 1; /*threshold*/ + else { /*if units are defined, assume analog reading */ + if ((sdr01->sens_units & 0x07) != 0) analog = 1; + if (sdr01->sens_base != 0) analog = 1; + if (sdr01->sens_mod != 0) analog = 1; + } + if ((reading[1] & 0x20) != 0) analog = 0; /*Init state, no analog*/ + else if (sdr01->sens_units == 0xC0) analog = 0; /*reading NotAvailable*/ + else if (reading[2] == 0xc7) analog = 0; /* Absent (Intel) */ + } if (evtype == 0x6f) { /*evtype==0x6f special*/ - pstr = "DiscreteEvt"; - if (stype == 0x08) { /*Power Supply presence*/ - if (reading[2] & 0x01) pstr = "Present"; - else pstr = "Absent"; - } - snprintf(pstring,slen,"%02x%02x %s",reading[3],reading[2],pstr); - rv = 0; + pstr = "DiscreteEvt"; + if (stype == 0x08) { /*Power Supply presence*/ + if (reading[2] & 0x01) pstr = "Present"; + else pstr = "Absent"; + } + rv = 0; } else if (evtype == 0x0B) { /*Redundancy*/ - b = reading[2] & 0x3f; - pstr = "DiscretePS"; /*Power Supplies*/ - if (evtype == 0x0b) pstr = redund_str(b); - snprintf(pstring,slen,"%02x%02x %s",reading[3],reading[2],pstr); - rv = 0; + b = reading[2] & 0x3f; + pstr = "DiscretePS"; /*Power Supplies*/ + if (evtype == 0x0b) pstr = redund_str(b); + rv = 0; } else if (evtype == 0x0A) { /*Discrete Fan*/ - v = reading[2] + (reading[3] & 0x3f); - if (v & 0x001) pstr = "Transition to Running"; - else if (v & 0x002) pstr = "Transition to In Test"; - else if (v & 0x004) pstr = "Transition to Power Off"; - else if (v & 0x008) pstr = "Transition to On Line"; - else if (v & 0x010) pstr = "Transition to Off Line"; - else if (v & 0x020) pstr = "Transition to Off Duty"; - else if (v & 0x040) pstr = "Transition to Degraded"; - else if (v & 0x080) pstr = "Transition to Power"; - else if (v & 0x100) pstr = "Install Error"; - else pstr = "Unknown"; - snprintf(pstring,slen,"%02x%02x %s",reading[3],reading[2],pstr); - rv = 0; + v = reading[2] + (reading[3] & 0x3f); + if (v & 0x001) pstr = "Transition to Running"; + else if (v & 0x002) pstr = "Transition to In Test"; + else if (v & 0x004) pstr = "Transition to Power Off"; + else if (v & 0x008) pstr = "Transition to On Line"; + else if (v & 0x010) pstr = "Transition to Off Line"; + else if (v & 0x020) pstr = "Transition to Off Duty"; + else if (v & 0x040) pstr = "Transition to Degraded"; + else if (v & 0x080) pstr = "Transition to Power"; + else if (v & 0x100) pstr = "Install Error"; + else pstr = "Unknown"; + rv = 0; } else if (evtype == 0x09) { /* stype==0x03 Power Meter */ - b = reading[2] & 0x3f; - if (b & 0x01) pstr = "Disabled"; - else if (b & 0x02) pstr = "Enabled"; - else pstr = "Unknown"; - snprintf(pstring,slen,"%02x%02x %s",reading[3],reading[2],pstr); - rv = 0; + b = reading[2] & 0x3f; + if (b & 0x01) pstr = "Disabled"; + else if (b & 0x02) pstr = "Enabled"; + else pstr = "Unknown"; + rv = 0; } else if ((sdr[20] & 0xC0) == 0xC0) { /*unit1==discrete*/ - b = reading[2] & 0x3f; - pstr = "DiscreteUnit"; - if (evtype == 0x0b) pstr = redund_str(b); - snprintf(pstring,slen,"%02x%02x %s",reading[3],reading[2],pstr); - rv = 0; + b = reading[2] & 0x3f; + pstr = "DiscreteUnit"; + if (evtype == 0x0b) pstr = redund_str(b); + rv = 0; } + if (rv == 0) { + if (analog == 1) { + val = RawToFloat(reading[0],sdr); + typestr = get_unit_type(sdr01->sens_units, sdr01->sens_base, + sdr01->sens_mod, fshort); + snprintf(pstring,slen,"%.2f %s, %s",val,typestr,pstr); + } else { + snprintf(pstring,slen,"%02x%02x %s",reading[3],reading[2],pstr); + } + } } return(rv); } |