summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2017-12-14 13:37:21 +0100
committerJörg Frings-Fürst <debian@jff-webhosting.net>2017-12-14 13:37:21 +0100
commit09863e30b4f27257be0299024d5a0de255f8ea84 (patch)
tree4176d07d460e015deffa29b82a4164561ff413c6
parent715160edeb4dfc4335f8def440806ad0d5307fec (diff)
parent1847c61e3994e17e1bd793a4fdc9f7860023826b (diff)
Merge branch 'release/3.0.7-1'3.0.7-1
-rw-r--r--.gitignore1
-rw-r--r--ChangeLog29
-rw-r--r--aclocal.m412
-rw-r--r--buildmin.cmd (renamed from buildwin2.cmd)8
-rw-r--r--buildwin.cmd7
-rw-r--r--buildwin32.cmd50
-rw-r--r--buildwin64.cmd50
-rwxr-xr-xconfigure20
-rw-r--r--configure.ac4
-rw-r--r--debian/README.source20
-rw-r--r--debian/changelog9
-rw-r--r--debian/control3
-rwxr-xr-xdebian/rules2
-rw-r--r--debpkg/changelog18
-rw-r--r--doc/Makefile28
-rw-r--r--doc/UserGuide29
-rw-r--r--doc/ipmiutil.spec2
-rw-r--r--lib/Makefile28
-rw-r--r--lib/libipmiutil.pc2
-rw-r--r--scripts/Makefile28
-rwxr-xr-xsetver2
-rw-r--r--util/ialarms.c2
-rw-r--r--util/icmd.c4
-rw-r--r--util/iconfig.c2
-rw-r--r--util/idcmi.c2
-rw-r--r--util/ievents.c8
-rw-r--r--util/ifirewall.c2
-rw-r--r--util/ifru.c2
-rw-r--r--util/ifruset.c2
-rw-r--r--util/igetevent.c2
-rw-r--r--util/ihealth.c54
-rw-r--r--util/ilan.c2
-rw-r--r--util/ipicmg.c2
-rw-r--r--util/ipmiutil.c2
-rw-r--r--util/ipmiutil2-64.mak12
-rw-r--r--util/ipmiutil2.mak12
-rw-r--r--util/ireset.c2
-rw-r--r--util/isel.c2
-rw-r--r--util/iseltime.c2
-rw-r--r--util/isensor.c29
-rw-r--r--util/isensor.h4
-rw-r--r--util/iserial.c2
-rw-r--r--util/isol.c4
-rw-r--r--util/itsol.c2
-rw-r--r--util/iuser.c2
-rw-r--r--util/iwdt.c2
-rw-r--r--util/oem_asus.c2
-rw-r--r--util/oem_dell.c2
-rw-r--r--util/oem_fujitsu.c2
-rw-r--r--util/oem_hp.c2
-rw-r--r--util/oem_intel.c2
-rw-r--r--util/oem_kontron.c2
-rw-r--r--util/oem_lenovo.c2
-rw-r--r--util/oem_newisys.c2
-rw-r--r--util/oem_quanta.c2
-rw-r--r--util/oem_sun.c2
-rw-r--r--util/oem_supermicro.c85
-rw-r--r--util/oem_supermicro.h2
-rwxr-xr-xvcvars32.bat28
-rwxr-xr-xvcvars64.bat28
60 files changed, 488 insertions, 188 deletions
diff --git a/.gitignore b/.gitignore
index e95ad62..3bac63c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
.bzr
.bzrignore
.pc
+.git
debian/files
diff --git a/ChangeLog b/ChangeLog
index f31c20c..44de16f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4261,7 +4261,7 @@ wdt.8 iwdt.8 (ipmiutil wdt)
idiscover (ipmiutil discover) ver 1.11
ipmi_port (ipmi_port) ver 1.4
-04/24/2017 ARCress ipmiutil-3.0.4 changes (iver 3.04)
+04/11/2017 ARCress ipmiutil-3.0.4 changes (iver 3.04)
util/ievents.c - resolve type 0xDB printf warning (support #24)
util/iuser.c - resolve compile warning
util/oem_dell.c - resolve compile warning
@@ -4270,3 +4270,30 @@ wdt.8 iwdt.8 (ipmiutil wdt)
util/isensor.c - add simple param to decode_sensor_supermicro
util/AnsiTerm.cpp - pick default instead of assert if bad SGR (#25)
+06/06/2017 ARCress ipmiutil-3.0.5 changes (iver 3.05)
+ util/isol.c - set -V4 default if SUPERMICRO -a
+ util/ihealth.c - retry if ccode 193 in get_power_state (SuperMicro)
+ util/oem_supermicro.c - never trust SMC threshold status, check by value
+
+08/08/2017 ARCress ipmiutil-3.0.6 changes (iver 3.06)
+ configure.ac - AM_CONFIG_HEADER -> AC_CONFIG_HEADERS (automake 1.13)
+ util/oem_supermicro.c - factory defaults detect if X11 (mode 3?),
+ handle inert VBAT sensor for X11DRi w units=0xC0,
+ OEM C8 = AC Power On asserted
+ util/isensor.c - show unit=0xC0 sensors as NotAvailable
+
+09/18/2017 ARCress ipmiutil-3.0.7 changes (iver 3.07)
+ util/oem_supermicro.c - set typestr for some OEM events
+ util/ievents.c - added undefined OS Boot types 7, 8 for SuperMicro
+ vcvars32.bat - run vcvars from VCINSTALLDIR or VSINSTALLDIR
+ vcvars64.bat - run vcvars from VCINSTALLDIR or VSINSTALLDIR
+ buildwin.cmd - detect any 64 in LIBPATH, not just amd64
+ buildwin32.cmd - new, only build 32bit
+ buildwin64.cmd - new, only build 64bit
+ buildmin.cmd - renamed from buildwin2.cmd (minimal), detect any 64
+ util/ipmiutil2.mak - add oem_lenovo, oem_asus, iuser for minimal
+ util/ipmiutil2-64.mak - add oem_lenovo, oem_asus, iuser for minimal
+ doc/UserGuide - document buildmin.cmd, separate section for WinPE
+ util/icmd.c - auto-request admin priv always if remote
+ util/ihealth.c - set do_powerstate=0 for Sun, continue if error
+
diff --git a/aclocal.m4 b/aclocal.m4
index ba9badf..d83b27b 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -8355,18 +8355,6 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
-
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
diff --git a/buildwin2.cmd b/buildmin.cmd
index c4fff81..bf40503 100644
--- a/buildwin2.cmd
+++ b/buildmin.cmd
@@ -1,6 +1,6 @@
@echo off
-REM # buildwin2.cmd
-REM # build ipmiutil for windows in standalone mode
+REM # buildmin32.cmd
+REM # build ipmiutil for windows in standalone mode (minimal, 32bit)
REM # without IPMI LAN 2.0 libraries, so no SOL. Use for bootables.
REM #
REM # First download a copy of getopt.c getopt.h.
@@ -14,14 +14,14 @@ set | findstr VCINSTALLDIR
if %errorlevel% EQU 1 goto vcerror
set UTMAKE=ipmiutil2.mak
-echo %LIBPATH% |findstr /C:amd64 >NUL
+echo %LIBPATH% |findstr /C:64 >NUL
if %errorlevel% EQU 0 set UTMAKE=ipmiutil2-64.mak
cd util
nmake /nologo -f %UTMAKE% all
cd ..
-echo buildwin2 ipmiutil done
+echo buildmin %UTMAKE% done
goto done
:vcerror
diff --git a/buildwin.cmd b/buildwin.cmd
index 2057935..4a6eb8d 100644
--- a/buildwin.cmd
+++ b/buildwin.cmd
@@ -22,7 +22,7 @@ REM check for ssl includes
REM call mkssl
set UTMAKE=ipmiutil.mak
-echo %LIBPATH% |findstr /C:amd64 >NUL
+echo %LIBPATH% |findstr /C:64 >NUL
if %errorlevel% EQU 0 set UTMAKE=ipmiutil64.mak
cd lib
@@ -35,11 +35,12 @@ nmake /nologo -f %UTMAKE% all
cd ..
REM # echo make util done
-echo buildwin ipmiutil done
+echo buildwin %UTMAKE% done
goto done
:vcerror
-echo First need to run vcvars.bat
+echo First need to run vcvars.bat
+echo Check that VCINSTALLDIR and LIBPATH are correct
:done
diff --git a/buildwin32.cmd b/buildwin32.cmd
new file mode 100644
index 0000000..adc427b
--- /dev/null
+++ b/buildwin32.cmd
@@ -0,0 +1,50 @@
+@echo off
+REM # buildwin32.cmd
+REM # build ipmiutil for windows
+REM #
+REM # First download a copy of getopt.c getopt.h.
+REM # copy getopt.* util
+REM # Then download and build a copy of openssl for Windows,
+REM # and copy the built openssl files needed to lib & inc.
+REM # copy libeay32.lib ssleay32.lib lib
+REM # copy libeay32.dll ssleay32.dll util
+REM # copy include\openssl\*.h lib\lanplus\inc\openssl
+REM #
+REM # You should either run this from the Visual Studio Command Line,
+REM # or first run the appropriate vcvars.bat script.
+set | findstr VCINSTALLDIR
+if %errorlevel% EQU 1 goto vcerror
+
+call vcvars32.bat
+
+REM TODO, prebuild checking:
+REM check for getopt.c,h
+REM check for ssl libs
+REM check for ssl includes
+REM call mkssl
+
+set UTMAKE=ipmiutil.mak
+echo %LIBPATH% |findstr /C:64 >NUL
+if %errorlevel% EQU 0 goto vcerror
+
+call cleanwin.cmd
+
+cd lib
+nmake /nologo -f ipmilib.mak all
+cd ..
+REM # echo make lib done
+
+cd util
+nmake /nologo -f %UTMAKE% all
+cd ..
+REM # echo make util done
+
+echo buildwin32 ipmiutil done
+goto done
+
+:vcerror
+echo Either VCINSTALLDIR is missing or LIBPATH includes 64bit
+echo Need to run vcvars32.bat for 32bit from a fresh session
+
+:done
+
diff --git a/buildwin64.cmd b/buildwin64.cmd
new file mode 100644
index 0000000..ae61fbf
--- /dev/null
+++ b/buildwin64.cmd
@@ -0,0 +1,50 @@
+@echo off
+REM # buildwin.cmd
+REM # build ipmiutil for windows
+REM #
+REM # First download a copy of getopt.c getopt.h.
+REM # copy getopt.* util
+REM # Then download and build a copy of openssl for Windows,
+REM # and copy the built openssl files needed to lib & inc.
+REM # copy libeay32.lib ssleay32.lib lib
+REM # copy libeay32.dll ssleay32.dll util
+REM # copy include\openssl\*.h lib\lanplus\inc\openssl
+REM #
+REM # You should either run this from the Visual Studio Command Line,
+REM # or first run the appropriate vcvars.bat script.
+set | findstr VCINSTALLDIR
+if %errorlevel% EQU 1 goto vcerror
+
+call vcvars64.bat
+
+REM TODO, prebuild checking:
+REM check for getopt.c,h
+REM check for ssl libs
+REM check for ssl includes
+REM call mkssl
+
+set UTMAKE=ipmiutil64.mak
+echo %LIBPATH% |findstr /C:64 >NUL
+if %errorlevel% EQU 1 goto vcerror
+
+call cleanwin.cmd
+
+cd lib
+nmake /nologo -f ipmilib.mak all
+cd ..
+REM # echo make lib done
+
+cd util
+nmake /nologo -f %UTMAKE% all
+cd ..
+REM # echo make util done
+
+echo buildwin64 ipmiutil done
+goto done
+
+:vcerror
+echo Either VCINSTALLDIR is missing or LIBPATH does not include 64bit
+echo Need to run vcvars64.bat for 64bit from a fresh session
+
+:done
+
diff --git a/configure b/configure
index dd13c7e..f2a9eca 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for ipmiutil 3.0.4.
+# Generated by GNU Autoconf 2.63 for ipmiutil 3.0.7.
#
# 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.0.4'
-PACKAGE_STRING='ipmiutil 3.0.4'
+PACKAGE_VERSION='3.0.7'
+PACKAGE_STRING='ipmiutil 3.0.7'
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.0.4 to adapt to many kinds of systems.
+\`configure' configures ipmiutil 3.0.7 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.0.4:";;
+ short | recursive ) echo "Configuration of ipmiutil 3.0.7:";;
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.0.4
+ipmiutil configure 3.0.7
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.0.4, which was
+It was created by ipmiutil $as_me 3.0.7, 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.0.4'
+ VERSION='3.0.7'
cat >>confdefs.h <<_ACEOF
@@ -13943,7 +13943,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.0.4, which was
+This file was extended by ipmiutil $as_me 3.0.7, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -14006,7 +14006,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-ipmiutil config.status 3.0.4
+ipmiutil config.status 3.0.7
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 9ba80e9..edbf6f2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,8 +1,8 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(ipmiutil,3.0.4)
+AC_INIT(ipmiutil,3.0.7)
AC_CONFIG_SRCDIR(util/ipmiutil.c)
echo "ipmiutil version ${PACKAGE_VERSION}"
-AM_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADERS(config.h)
AC_PREFIX_DEFAULT(/usr)
AM_INIT_AUTOMAKE()
diff --git a/debian/README.source b/debian/README.source
index 4bc7a31..66d89d0 100644
--- a/debian/README.source
+++ b/debian/README.source
@@ -1,6 +1,26 @@
ipmiutil for Debian
-------------------
+Hello,
+
+now I use the branching model from Vincent Driessen[1].
+
+I use the gitflow-avh[2]. with the Documentation[3].
+The Debian package can be found here[4].
+
+Please upload unattended uploads use a branch feature/<your title>.
+
+
+Many thanks.
+
+[1] http://nvie.com/posts/a-successful-git-branching-model/
+[2] https://github.com/petervanderdoes/gitflow-avh
+[3] https://github.com/petervanderdoes/gitflow-avh/wiki
+[4] https://tracker.debian.org/pkg/git-flow
+
+ -- Jörg Frings-Fürst <debian@jff-webhosting.net> Fri, 02 Jun 2017 19:00:40 +0200
+
+
- configure
parameter enable-landesk=yes does not work:
ipmiapi not found
diff --git a/debian/changelog b/debian/changelog
index c8d4ce9..c02b2cd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-ipmiutil (3.0.4-1) UNRELEASED; urgency=medium
+ipmiutil (3.0.7-1) unstable; urgency=medium
* New upstream release.
* Refresh patches:
@@ -6,8 +6,13 @@ ipmiutil (3.0.4-1) UNRELEASED; urgency=medium
- debian/patches/0705-crontab.patch.
* New source.lintian-overrides to override ancient-libtool warning.
- With compat level 10 autoreconf called every time.
+ * Add new section at README.source to explain the branching model used.
+ * Declare compliance with Debian Policy 4.1.1. (No changes needed).
+ * Drop autotools-dev from Build-Depends and drop "--with autotools-dev"
+ from dh because this is already default when using dh compatibility
+ level 10.
- -- Jörg Frings-Fürst <debian@jff-webhosting.net> Fri, 24 Feb 2017 21:19:36 +0100
+ -- Jörg Frings-Fürst <debian@jff-webhosting.net> Sat, 14 Oct 2017 19:41:11 +0200
ipmiutil (3.0.1-1) unstable; urgency=medium
diff --git a/debian/control b/debian/control
index 5cc948b..0322be5 100644
--- a/debian/control
+++ b/debian/control
@@ -3,13 +3,12 @@ Section: utils
Priority: optional
Maintainer: Jörg Frings-Fürst <debian@jff-webhosting.net>
Build-Depends:
- autotools-dev,
debhelper (>= 10),
libfreeipmi-dev (>= 1.1.5) | libopenipmi-dev (>=2.0.18),
libssl-dev,
libtool-bin,
openssl
-Standards-Version: 3.9.8
+Standards-Version: 4.1.1
Homepage: https://sourceforge.net/projects/ipmiutil/
Vcs-Git: https://anonscm.debian.org/cgit/collab-maint/ipmiutil.git
Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/ipmiutil.git
diff --git a/debian/rules b/debian/rules
index 3b00002..5b4d955 100755
--- a/debian/rules
+++ b/debian/rules
@@ -10,7 +10,7 @@ CFLAGS += -fPIC
CONFPARA = --enable-gpl --enable-useflags --enable-libsensors
%:
- dh $@ --with autotools-dev
+ dh $@
override_dh_auto_configure:
$(CURDIR)/beforeconf.sh
diff --git a/debpkg/changelog b/debpkg/changelog
index 247e8f8..728dcf0 100644
--- a/debpkg/changelog
+++ b/debpkg/changelog
@@ -1,3 +1,21 @@
+ipmiutil (3.0.7-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Andy Cress <arcress@users.sourceforge.net> Wed, 20 Sep 2017 10:37:47 -0400
+
+ipmiutil (3.0.6-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Andy Cress <arcress@users.sourceforge.net> Mon, 07 Aug 2017 12:27:54 -0400
+
+ipmiutil (3.0.5-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Andy Cress <arcress@users.sourceforge.net> Tue, 06 Jun 2017 12:01:00 -0400
+
ipmiutil (3.0.4-1) unstable; urgency=low
* New upstream version.
diff --git a/doc/Makefile b/doc/Makefile
index 0f23c85..381c0dc 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.0.4/missing --run aclocal-1.11
-AMTAR = ${SHELL} /usr/dev/ipmiutil-3.0.4/missing --run tar
+ACLOCAL = ${SHELL} /usr/dev/ipmiutil-3.0.7/missing --run aclocal-1.11
+AMTAR = ${SHELL} /usr/dev/ipmiutil-3.0.7/missing --run tar
AR = ar
-AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.0.4/missing --run autoconf
-AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.0.4/missing --run autoheader
-AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.0.4/missing --run automake-1.11
+AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.0.7/missing --run autoconf
+AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.0.7/missing --run autoheader
+AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.0.7/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.0.4/missing --run makeinfo
+MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.0.7/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.0.4
+PACKAGE_STRING = ipmiutil 3.0.7
PACKAGE_TARNAME = ipmiutil
-PACKAGE_VERSION = 3.0.4
+PACKAGE_VERSION = 3.0.7
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.0.4
-abs_builddir = /usr/dev/ipmiutil-3.0.4/doc
-abs_srcdir = /usr/dev/ipmiutil-3.0.4/doc
-abs_top_builddir = /usr/dev/ipmiutil-3.0.4
-abs_top_srcdir = /usr/dev/ipmiutil-3.0.4
+VERSION = 3.0.7
+abs_builddir = /usr/dev/ipmiutil-3.0.7/doc
+abs_srcdir = /usr/dev/ipmiutil-3.0.7/doc
+abs_top_builddir = /usr/dev/ipmiutil-3.0.7
+abs_top_srcdir = /usr/dev/ipmiutil-3.0.7
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.0.4/install-sh
+install_sh = ${SHELL} /usr/dev/ipmiutil-3.0.7/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
diff --git a/doc/UserGuide b/doc/UserGuide
index eb86edc..e5681f1 100644
--- a/doc/UserGuide
+++ b/doc/UserGuide
@@ -1,6 +1,6 @@
IPMIUTIL USER GUIDE
- VERSION 3.0.4
+ VERSION 3.0.7
An easy-to-use IPMI server management utility
@@ -5496,14 +5496,27 @@ or
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\vcvarsamd64.bat
-5.2.7 Run buildwin.cmd
-buildwin.cmd will build all of the Windows EXE and DLL files.
+5.2.7 For Windows builds, run buildwin.cmd
-If you are using ipmiutil for a bootable WinPE environment, and do not need
-Serial-Over-LAN functionality, the buildwin2.cmd will build the Windows EXE
-files without using the openssl libraries, to simplify the process. The
-openssl libraries are required for the IPMI LAN 2.0 crypto functions that
-Serial-Over-LAN requires.
+buildwin.cmd will build all of the Windows EXE and DLL files. It will detect
+whether the vcvars has been run with 32bit or 64bit.
+
+buildwin32.cmd will build only the 32-bit Windows EXE and DLL files.
+
+buildwin64.cmd will build only the 64-bit Windows EXE and DLL files.
+
+5.2.8 For WinPE builds, run buildmin.cmd
+
+If you are using ipmiutil for a bootable WinPE environment, you will not need
+Serial-Over-LAN functionality, the buildmin.cmd will build the Windows ipmiutil
+EXE files without using the openssl libraries, to simplify the process.
+The openssl libraries are required for the IPMI LANplus 2.0 crypto functions
+that Serial-Over-LAN uses.
+
+buildmin.cmd will build the ipmiutil.exe in a minimal standalone configuration.
+
+For WinPE 64-bit, if you do want openssl for some reason, see
+http://www.indyproject.org/Sockets/fpc/OpenSSLforWin64.en.aspx
----------------------------------
5.3 WINDOWS COMMAND USAGE
diff --git a/doc/ipmiutil.spec b/doc/ipmiutil.spec
index 107d3e1..c6c39c2 100644
--- a/doc/ipmiutil.spec
+++ b/doc/ipmiutil.spec
@@ -3,7 +3,7 @@
# Copyright (c) 2012 Andy Cress
#
Name: ipmiutil
-Version: 3.0.4
+Version: 3.0.7
Release: 1%{?dist}
Summary: Easy-to-use IPMI server management utilities
License: BSD
diff --git a/lib/Makefile b/lib/Makefile
index 5cb97f6..93b57de 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.0.4/missing --run aclocal-1.11
-AMTAR = ${SHELL} /usr/dev/ipmiutil-3.0.4/missing --run tar
+ACLOCAL = ${SHELL} /usr/dev/ipmiutil-3.0.7/missing --run aclocal-1.11
+AMTAR = ${SHELL} /usr/dev/ipmiutil-3.0.7/missing --run tar
AR = ar
-AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.0.4/missing --run autoconf
-AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.0.4/missing --run autoheader
-AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.0.4/missing --run automake-1.11
+AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.0.7/missing --run autoconf
+AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.0.7/missing --run autoheader
+AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.0.7/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.0.4/missing --run makeinfo
+MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.0.7/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.0.4
+PACKAGE_STRING = ipmiutil 3.0.7
PACKAGE_TARNAME = ipmiutil
-PACKAGE_VERSION = 3.0.4
+PACKAGE_VERSION = 3.0.7
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.0.4
-abs_builddir = /usr/dev/ipmiutil-3.0.4/lib
-abs_srcdir = /usr/dev/ipmiutil-3.0.4/lib
-abs_top_builddir = /usr/dev/ipmiutil-3.0.4
-abs_top_srcdir = /usr/dev/ipmiutil-3.0.4
+VERSION = 3.0.7
+abs_builddir = /usr/dev/ipmiutil-3.0.7/lib
+abs_srcdir = /usr/dev/ipmiutil-3.0.7/lib
+abs_top_builddir = /usr/dev/ipmiutil-3.0.7
+abs_top_srcdir = /usr/dev/ipmiutil-3.0.7
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.0.4/install-sh
+install_sh = ${SHELL} /usr/dev/ipmiutil-3.0.7/install-sh
libdir = $(iprefix)/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
diff --git a/lib/libipmiutil.pc b/lib/libipmiutil.pc
index 0f73ef4..53f78b8 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.0.4
+Version: 3.0.7
Libs: -L${libdir} -lipmi_lanplus
Cflags: -I${includedir}
diff --git a/scripts/Makefile b/scripts/Makefile
index cf2fddc..f0a4171 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.0.4/missing --run aclocal-1.11
-AMTAR = ${SHELL} /usr/dev/ipmiutil-3.0.4/missing --run tar
+ACLOCAL = ${SHELL} /usr/dev/ipmiutil-3.0.7/missing --run aclocal-1.11
+AMTAR = ${SHELL} /usr/dev/ipmiutil-3.0.7/missing --run tar
AR = ar
-AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.0.4/missing --run autoconf
-AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.0.4/missing --run autoheader
-AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.0.4/missing --run automake-1.11
+AUTOCONF = ${SHELL} /usr/dev/ipmiutil-3.0.7/missing --run autoconf
+AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-3.0.7/missing --run autoheader
+AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-3.0.7/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.0.4/missing --run makeinfo
+MAKEINFO = ${SHELL} /usr/dev/ipmiutil-3.0.7/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.0.4
+PACKAGE_STRING = ipmiutil 3.0.7
PACKAGE_TARNAME = ipmiutil
-PACKAGE_VERSION = 3.0.4
+PACKAGE_VERSION = 3.0.7
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.0.4
-abs_builddir = /usr/dev/ipmiutil-3.0.4/scripts
-abs_srcdir = /usr/dev/ipmiutil-3.0.4/scripts
-abs_top_builddir = /usr/dev/ipmiutil-3.0.4
-abs_top_srcdir = /usr/dev/ipmiutil-3.0.4
+VERSION = 3.0.7
+abs_builddir = /usr/dev/ipmiutil-3.0.7/scripts
+abs_srcdir = /usr/dev/ipmiutil-3.0.7/scripts
+abs_top_builddir = /usr/dev/ipmiutil-3.0.7
+abs_top_srcdir = /usr/dev/ipmiutil-3.0.7
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.0.4/install-sh
+install_sh = ${SHELL} /usr/dev/ipmiutil-3.0.7/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
diff --git a/setver b/setver
index f4af5a4..656235d 100755
--- a/setver
+++ b/setver
@@ -6,7 +6,7 @@
# [doinc?] is 'n'.
# if [doinc?] is 'r', reverse increment (decrement).
#
-ver=3.0.4
+ver=3.0.7
rel=1
tmped=/tmp/edver.tmp
tmpspec=/tmp/edspec.tmp
diff --git a/util/ialarms.c b/util/ialarms.c
index 7260356..836ec8c 100644
--- a/util/ialarms.c
+++ b/util/ialarms.c
@@ -75,7 +75,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "ialarms";
static char fdebug = 0;
static char fbmctam = 0;
diff --git a/util/icmd.c b/util/icmd.c
index ec467e7..789c69d 100644
--- a/util/icmd.c
+++ b/util/icmd.c
@@ -78,7 +78,7 @@ extern void ipmi_lan_set_timeout(int ipmito, int tries, int pingto);
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "icmd";
static char fdebug = 0;
static char fquiet = 0;
@@ -297,7 +297,7 @@ main(int argc, char **argv)
if (is_remote() && fprivset == 0) { /*IPMI LAN, privilege not set by user*/
/* commands to other MCs require admin privilege */
- if ((g_sa != BMC_SA) || (cmdbuf[1] != BMC_SA))
+ // if ((g_sa != BMC_SA) || (cmdbuf[1] != BMC_SA))
parse_lan_options('V',"4",0);
}
diff --git a/util/iconfig.c b/util/iconfig.c
index f7b9972..db70075 100644
--- a/util/iconfig.c
+++ b/util/iconfig.c
@@ -172,7 +172,7 @@ typedef struct
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "iconfig";
static char fdebug = 0;
static char fipmilan = 0;
diff --git a/util/idcmi.c b/util/idcmi.c
index 0cce3c0..8bf2000 100644
--- a/util/idcmi.c
+++ b/util/idcmi.c
@@ -62,7 +62,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "idcmi.h"
static char * progname = "idcmi";
-static char * progver = "3.04";
+static char * progver = "3.07";
extern char fdebug; /*from ipmicmd.c*/
static uchar g_bus = PUBLIC_BUS;
static uchar g_sa = BMC_SA;
diff --git a/util/ievents.c b/util/ievents.c
index 10b665b..d07a35f 100644
--- a/util/ievents.c
+++ b/util/ievents.c
@@ -76,7 +76,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define SELprintf printf
#define SMS_SA 0x41
#define SMI_SA 0x21
-static char *progver = "3.04";
+static char *progver = "3.07";
static char *progname = "ievents";
static char fsensdesc = 0; /* 1= get extended sensor descriptions*/
static char fcanonical = 0; /* 1= show canonical, delimited output*/
@@ -290,7 +290,7 @@ char * boot_init_str[NBOOTI] = { /* System Boot Initiated */
/*06*/ "SW Warm Reset",
/*07*/ "RestartCause" };
-#define NOSBOOT 8
+#define NOSBOOT 10
char * osboot_str[NOSBOOT] = { /* OS Boot */
/*00*/ "A: boot completed",
/*01*/ "C: boot completed",
@@ -298,7 +298,9 @@ char * osboot_str[NOSBOOT] = { /* OS Boot */
/*03*/ "Diag boot completed",
/*04*/ "CDROM boot completed",
/*05*/ "ROM boot completed",
- /*06*/ "Other boot completed" };
+ /*06*/ "Other boot completed",
+ /*07*/ "USB7 boot completed",
+ /*08*/ "USB8 boot completed" };
#define NSLOTC 9
char * slot_str[NSLOTC] = { /* Slot/Connector descriptions */
diff --git a/util/ifirewall.c b/util/ifirewall.c
index 719d2b8..3f81b3b 100644
--- a/util/ifirewall.c
+++ b/util/ifirewall.c
@@ -64,7 +64,7 @@
/* global variables */
static char * progname = "ifirewall";
-static char * progver = "3.04";
+static char * progver = "3.07";
static char fdebug = 0;
static uchar g_bus = PUBLIC_BUS;
static uchar g_sa = BMC_SA;
diff --git a/util/ifru.c b/util/ifru.c
index c91fab2..9775d7d 100644
--- a/util/ifru.c
+++ b/util/ifru.c
@@ -116,7 +116,7 @@ extern int ipmi_kontronoem_main(void * intf, int argc, char ** argv);
#endif
static char *progname = "ifru";
-static char *progver = "3.04";
+static char *progver = "3.07";
static int vend_id = 0;
static int prod_id = 0;
static char fdebug = 0;
diff --git a/util/ifruset.c b/util/ifruset.c
index d24b089..8b77489 100644
--- a/util/ifruset.c
+++ b/util/ifruset.c
@@ -106,7 +106,7 @@ extern void fmt_time(time_t etime, char *buf, int bufsz); /*see ievents.c*/
#define IPROD_OEM 7
static char *progname = "ifruset";
-static char *progver = "3.04";
+static char *progver = "3.07";
static char fdebug = 0;
static char fpicmg = 0;
static char fonlybase = 0;
diff --git a/util/igetevent.c b/util/igetevent.c
index 40c5e4a..61abc96 100644
--- a/util/igetevent.c
+++ b/util/igetevent.c
@@ -169,7 +169,7 @@ extern void free_sdr_cache(uchar *pret); /*see isensor.c*/
* Global variables
*/
static char * progname = "igetevent";
-static char * progver = "3.04";
+static char * progver = "3.07";
static char fdebug = 0;
static char fipmilan = 0;
static char frunonce = 0;
diff --git a/util/ihealth.c b/util/ihealth.c
index 974fa95..087fcdf 100644
--- a/util/ihealth.c
+++ b/util/ihealth.c
@@ -12,6 +12,7 @@
* 10/20/06 Andy Cress 1.1 - added -g for guid
* 01/10/07 Andy Cress 1.4 - added product strings
* 02/25/07 Andy Cress 2.8 - added more Chassis Status decoding
+ * 09/18/17 Andy Cress 3.07 - Set do_powerstate=0 for Sun, continue if failure
*/
/*M*
Copyright (c) 2006, Intel Corporation
@@ -82,7 +83,7 @@ extern int oem_supermicro_get_firmware_str(char *pstr, int sz); /*oem_supermicro
* Global variables
*/
static char * progname = "ihealth";
-static char * progver = "3.04";
+static char * progver = "3.07";
static char fdebug = 0;
static char fipmilan = 0;
static char fcanonical = 0;
@@ -421,9 +422,12 @@ static int get_power_state(uchar *rdata, int rlen)
uchar ccode;
int ret;
- ret = ipmi_cmdraw( GET_POWER_STATE, NETFN_APP,
- g_sa, g_bus, g_lun,
+ ret = ipmi_cmdraw( GET_POWER_STATE, NETFN_APP, g_sa, g_bus, g_lun,
+ idata,0, rdata,&rlen,&ccode, fdebug);
+ if (ret == 0 && ccode == 193) { /*0xB7, usu. SuperMicro, retry */
+ ret = ipmi_cmdraw( GET_POWER_STATE, NETFN_APP, g_sa, g_bus, g_lun,
idata,0, rdata,&rlen,&ccode, fdebug);
+ }
if (ret == 0 && ccode != 0) ret = ccode;
return(ret);
} /*end get_power_state()*/
@@ -613,12 +617,13 @@ void show_devid_all(int dtype, uchar *devrec, int sdevrec)
/* The product ids below only apply to BMCs */
switch(mfg) {
case VENDOR_NSC: /*=0x000322*/
- fmBMC = 1;
+ fmBMC = 1;
if (dtype == BMC) tag="mBMC";
if (prod == 0x4311) prodstr = "(TIGPT1U)"; /*Intel*/
break;
case VENDOR_SUN: /*=0x00002a*/
- if (prod == 0x4701) prodstr = "(X4140)";
+ if (prod == 0x4701) prodstr = "(X4140)";
+ do_powerstate = 0;
break;
case VENDOR_TYAN: /*=0x0019fd*/
switch(prod) { /* show product names for some */
@@ -631,12 +636,12 @@ void show_devid_all(int dtype, uchar *devrec, int sdevrec)
}
break;
case VENDOR_FUJITSU: /*=0x002880*/
- if (prod >= 0x200) prodstr = "(iRMC S2)";
- else prodstr = "";
+ if (prod >= 0x200) prodstr = "(iRMC S2)";
+ else prodstr = "";
break;
case VENDOR_CISCO: /*=0x00168b, 5771.*/
- if (prod == 0x0005) prodstr = "(UCS C200)";
- else prodstr = "";
+ if (prod == 0x0005) prodstr = "(UCS C200)";
+ else prodstr = "";
if (fipmilan) lan_ch_restrict = 1; /*fw bug, gets 0xC1 on ipmilan*/
break;
case 0x003C0A: /*=15370, Giga-Byte*/
@@ -644,9 +649,9 @@ void show_devid_all(int dtype, uchar *devrec, int sdevrec)
lan_ch_restrict = 1; /*fw bug, gets 0xC1*/
break;
case VENDOR_INTEL: /*=0x000157*/
- if (do_hsc && (dtype == BMC)) /*if HSC option, also show extra*/
+ if (do_hsc && (dtype == BMC)) /*if HSC option, also show extra*/
sprintf(extraver," (Boot %x.%x PIA %x.%x)", /*BMC extra*/
- devrec[11],devrec[12],devrec[13],devrec[14]);
+ devrec[11],devrec[12],devrec[13],devrec[14]);
switch(prod) { /* show product names for some */
case 0x000C: prodstr = "(TSRLT2)"; /*SCB2*/
bChan = 7; break;
@@ -659,24 +664,24 @@ void show_devid_all(int dtype, uchar *devrec, int sdevrec)
case 0x002B: prodstr = "(S5000VSA)"; break;
case 0x002D: prodstr = "(MFSYS25)"; break; /*ClearBay*/
case 0x003E: prodstr = "(S5520UR)"; /*CG2100 or NSN2U*/
- do_me = 1; kcs_loops = URNLOOPS;
+ do_me = 1; kcs_loops = URNLOOPS;
bChan = 1; break;
case 0x0040: prodstr = "(QSSC-S4R)"; /*Stoutland*/
- do_me = 1; kcs_loops = URNLOOPS;
+ do_me = 1; kcs_loops = URNLOOPS;
bChan = 1; break;
case 0x0100: prodstr = "(Tiger4)"; break;
case 0x0103: prodstr = "(McCarran)"; /*BladeCenter*/
- do_powerstate = 0; break;
+ do_powerstate = 0; break;
case 0x0800: prodstr = "(ZT5504)"; /*ZiaTech*/
- do_powerstate = 0; break;
+ do_powerstate = 0; break;
case 0x0808: prodstr = "(MPCBL0001)"; /*ATCA Blade*/
- do_powerstate = 0; break;
+ do_powerstate = 0; break;
case 0x0841: prodstr = "(MPCMM0001)"; /*ATCA CMM*/
- do_powerstate = 0; break;
+ do_powerstate = 0; break;
case 0x0811: prodstr = "(TIGW1U)"; break; /*S5000PHB*/
case 0x4311: prodstr = "(NSI2U)"; /*SE7520JR23*/
- if (dtype == BMC) tag="mBMC";
- fmBMC = 1; break;
+ if (dtype == BMC) tag="mBMC";
+ fmBMC = 1; break;
default: prodstr = ""; break;
}
if (is_romley(mfg,prod)) {
@@ -768,6 +773,7 @@ void show_devid_all(int dtype, uchar *devrec, int sdevrec)
do_powerstate = 0; break;
case 2137: prodstr = "(X10DRH)"; break; /*0x0859*/
case 2203: prodstr = "(X11SSW-F)"; break; /*0x089b*/
+ case 2327: prodstr = "(X11DPi)"; break; /*0x0917*/
case 4520: prodstr = "(H8DGU)"; break;
case 43025: prodstr = "(H8DGU-F)"; break;
case 43707: prodstr = "(X8DTH)"; break;
@@ -1021,12 +1027,12 @@ main(int argc, char **argv)
{ /* Some BMCs dont support get_power_state*/
ret = get_power_state(selfbuf,4);
if (ret != 0) {
- printf("ipmi_getpowerstate error, ret = %d\n",ret);
- goto health_end;
+ printf("ipmi_getpowerstate error, ret = %d\n",ret);
+ pwr_state = 0;
} else {
pwr_state = selfbuf[0] & 0x7f;
- printf("Power State %c %02x (%s)\n",
- bdelim,pwr_state,pwr_string(pwr_state));
+ printf("Power State %c %02x (%s)\n",
+ bdelim,pwr_state,pwr_string(pwr_state));
}
}
@@ -1036,7 +1042,7 @@ main(int argc, char **argv)
goto health_end;
} else {
selfstatus = selfbuf[0] + (selfbuf[1] << 8);
- s = decode_selftest(selfstatus);
+ s = decode_selftest(selfstatus);
if (fmBMC) {
sprintf(selfstr,"%s",s);
} else {
diff --git a/util/ilan.c b/util/ilan.c
index 6f63fe5..e54233f 100644
--- a/util/ilan.c
+++ b/util/ilan.c
@@ -306,7 +306,7 @@ extern char *get_sensor_type_desc (uchar stype); /*from ievents.c */
* Global variables
*/
static char * progname = "ilan";
-static char * progver = "3.04";
+static char * progver = "3.07";
static char fdebug = 0;
static char fipmilan = 0;
static char fIPMI10 = 0; /* =1 if IPMI v1.0 or less */
diff --git a/util/ipicmg.c b/util/ipicmg.c
index e463424..af10750 100644
--- a/util/ipicmg.c
+++ b/util/ipicmg.c
@@ -81,7 +81,7 @@
/* Global data */
static char * progname = "ipicmg";
-static char * progver = "3.04";
+static char * progver = "3.07";
static char fdebug = 0;
static char fset_mc = 0;
static uint8_t g_bus = PUBLIC_BUS;
diff --git a/util/ipmiutil.c b/util/ipmiutil.c
index ffddc86..9e5bc1f 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";
-static char *progver = "3.04";
+static char *progver = "3.07";
// static char fdebug = 0;
/*int ipmiutil(int argc, char **argv); */
diff --git a/util/ipmiutil2-64.mak b/util/ipmiutil2-64.mak
index 6289e06..32124fa 100644
--- a/util/ipmiutil2-64.mak
+++ b/util/ipmiutil2-64.mak
@@ -87,7 +87,8 @@ E_OBJ=$(TMP_D)\ipmiutil.obj \
$(TMP_D)\ipicmg.obj $(TMP_D)\ifirewall.obj \
$(TMP_D)\iekanalyzer.obj $(TMP_D)\ifru_picmg.obj \
$(TMP_D)\oem_kontron.obj $(TMP_D)\ihpm.obj $(TMP_D)\ifwum.obj \
- $(TMP_D)\oem_fujitsu.obj $(TMP_D)\oem_intel.obj \
+ $(TMP_D)\oem_fujitsu.obj $(TMP_D)\oem_intel.obj $(TMP_D)\oem_lenovo.obj \
+ $(TMP_D)\oem_asus.obj $(TMP_D)\iuser.obj \
$(TMP_D)\oem_sun.obj $(TMP_D)\oem_dell.obj $(TMP_D)\oem_hp.obj \
$(TMP_D)\oem_supermicro.obj $(TMP_D)\itsol.obj $(TMP_D)\idcmi.obj \
$(TMP_D)\oem_quanta.obj $(TMP_D)\oem_newisys.obj $(CMD_OBJ) mem_if.obj
@@ -311,6 +312,9 @@ $(TMP_D)\ihpm.obj: ihpm.c
$(TMP_D)\idcmi.obj: idcmi.c
$(CC) /c $(CFLAGS_M) /Fo$(TMP_D)\idcmi.obj idcmi.c
+$(TMP_D)\iuser.obj: iuser.c
+ $(CC) /c $(CFLAGS_M) /Fo$(TMP_D)\iuser.obj iuser.c
+
$(TMP_D)\oem_fujitsu.obj: oem_fujitsu.c
$(CC) /c $(CFLAGS_M) /Fo$(TMP_D)\oem_fujitsu.obj oem_fujitsu.c
@@ -332,6 +336,12 @@ $(TMP_D)\oem_hp.obj: oem_hp.c
$(TMP_D)\oem_supermicro.obj: oem_supermicro.c
$(CC) /c $(CFLAGS_M) /Fo$(TMP_D)\oem_supermicro.obj oem_supermicro.c
+$(TMP_D)\oem_lenovo.obj: oem_lenovo.c
+ $(CC) /c $(CFLAGS_M) /Fo$(TMP_D)\oem_lenovo.obj oem_lenovo.c
+
+$(TMP_D)\oem_asus.obj: oem_asus.c
+ $(CC) /c $(CFLAGS_M) /Fo$(TMP_D)\oem_asus.obj oem_asus.c
+
$(TMP_D)\oem_quanta.obj: oem_quanta.c
$(CC) /c $(CFLAGS_M) /Fo$(TMP_D)\oem_quanta.obj oem_quanta.c
diff --git a/util/ipmiutil2.mak b/util/ipmiutil2.mak
index 8d41f50..f176720 100644
--- a/util/ipmiutil2.mak
+++ b/util/ipmiutil2.mak
@@ -87,7 +87,8 @@ E_OBJ=$(TMP_D)\ipmiutil.obj \
$(TMP_D)\ipicmg.obj $(TMP_D)\ifirewall.obj \
$(TMP_D)\iekanalyzer.obj $(TMP_D)\ifru_picmg.obj \
$(TMP_D)\oem_kontron.obj $(TMP_D)\ihpm.obj $(TMP_D)\ifwum.obj \
- $(TMP_D)\oem_fujitsu.obj $(TMP_D)\oem_intel.obj \
+ $(TMP_D)\oem_fujitsu.obj $(TMP_D)\oem_intel.obj $(TMP_D)\oem_lenovo.obj \
+ $(TMP_D)\oem_asus.obj $(TMP_D)\iuser.obj \
$(TMP_D)\oem_sun.obj $(TMP_D)\oem_dell.obj $(TMP_D)\oem_hp.obj \
$(TMP_D)\oem_supermicro.obj $(TMP_D)\itsol.obj $(TMP_D)\idcmi.obj \
$(TMP_D)\oem_quanta.obj $(TMP_D)\oem_newisys.obj $(CMD_OBJ) mem_if.obj
@@ -312,6 +313,9 @@ $(TMP_D)\ihpm.obj: ihpm.c
$(TMP_D)\idcmi.obj: idcmi.c
$(CC) /c $(CFLAGS_M) /Fo$(TMP_D)\idcmi.obj idcmi.c
+$(TMP_D)\iuser.obj: iuser.c
+ $(CC) /c $(CFLAGS_M) /Fo$(TMP_D)\iuser.obj iuser.c
+
$(TMP_D)\oem_fujitsu.obj: oem_fujitsu.c
$(CC) /c $(CFLAGS_M) /Fo$(TMP_D)\oem_fujitsu.obj oem_fujitsu.c
@@ -333,6 +337,12 @@ $(TMP_D)\oem_hp.obj: oem_hp.c
$(TMP_D)\oem_supermicro.obj: oem_supermicro.c
$(CC) /c $(CFLAGS_M) /Fo$(TMP_D)\oem_supermicro.obj oem_supermicro.c
+$(TMP_D)\oem_lenovo.obj: oem_lenovo.c
+ $(CC) /c $(CFLAGS_M) /Fo$(TMP_D)\oem_lenovo.obj oem_lenovo.c
+
+$(TMP_D)\oem_asus.obj: oem_asus.c
+ $(CC) /c $(CFLAGS_M) /Fo$(TMP_D)\oem_asus.obj oem_asus.c
+
$(TMP_D)\oem_quanta.obj: oem_quanta.c
$(CC) /c $(CFLAGS_M) /Fo$(TMP_D)\oem_quanta.obj oem_quanta.c
diff --git a/util/ireset.c b/util/ireset.c
index 3584cb1..36134bc 100644
--- a/util/ireset.c
+++ b/util/ireset.c
@@ -108,7 +108,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "ireset";
static uchar ipmi_maj;
static uchar ipmi_min;
diff --git a/util/isel.c b/util/isel.c
index 9045d62..925a689 100644
--- a/util/isel.c
+++ b/util/isel.c
@@ -162,7 +162,7 @@ typedef struct
#define RDATA_OFFSET 13 //byte offset to the record event data
static char *progname = "isel";
-static char *progver = "3.04";
+static char *progver = "3.07";
#ifdef WIN32
#define IDXFILE "sel.idx"
static char idxfile[80] = IDXFILE;
diff --git a/util/iseltime.c b/util/iseltime.c
index 2f5c7e1..0900c31 100644
--- a/util/iseltime.c
+++ b/util/iseltime.c
@@ -78,7 +78,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "iseltime";
static char fdebug = 0;
static char fset = 0;
diff --git a/util/isensor.c b/util/isensor.c
index 69d901f..7418ae9 100644
--- a/util/isensor.c
+++ b/util/isensor.c
@@ -161,7 +161,7 @@ extern int decode_sensor_fujitsu(uchar *sdr,uchar *reading,char *pstring,
extern int decode_sensor_sun(uchar *sdr,uchar *reading,char *pstring,
int slen); /*see oem_sun.c*/
extern int decode_sensor_supermicro(uchar *sdr,uchar *reading,char *pstring,
- int slen, int fsimple); /*see oem_supermicro.c*/
+ int slen, int fsimple, char fdbg); /*see oem_supermicro.c*/
extern int decode_sensor_quanta(uchar *sdr,uchar *reading,char *pstring,
int slen); /*see oem_quanta.c*/
extern int decode_sensor_dell(uchar *sdr,uchar *reading,char *pstring,
@@ -255,7 +255,7 @@ char *decode_entity_id(int id) {
* Global Data
************************/
static char *progname = "isensor";
-static char *progver = "3.04";
+static char *progver = "3.07";
#ifdef WIN32
static char savefile[] = "%ipmiutildir%\\thresholds.cmd";
#else
@@ -655,17 +655,17 @@ char *get_unit_type(int iunits, int ibase, int imod, int fshort)
break;
}
if ((umod == 0) && (iunits > 0)) {
- /* special cases for other SensorUnits1 bits */
- if ((iunits & 0x01) != 0) { /*percentage*/
- if (fshort) pstr = "%";
- else pstr = "percent";
- } else if (iunits == 0xC0) { /*no analog reading*/
- pstr = "na";
- } else if (iunits == 0x18) {
- /* For Tyan fans: base=42, units=24.(0x18) -> cycles/hour */
- snprintf(unitstr,sizeof(unitstr),"%s/hour",punittypes[jbase]);
- pstr = unitstr;
- }
+ /* special cases for other SensorUnits1 bits */
+ if ((iunits & 0x01) != 0) { /*percentage*/
+ if (fshort) pstr = "%";
+ else pstr = "percent";
+ } else if (iunits == 0xC0) { /*no analog reading*/
+ pstr = "na";
+ } else if (iunits == 0x18) {
+ /* For Tyan fans: base=42, units=24.(0x18) -> cycles/hour */
+ snprintf(unitstr,sizeof(unitstr),"%s/hour",punittypes[jbase]);
+ pstr = unitstr;
+ }
}
return(pstr);
}
@@ -1952,7 +1952,7 @@ int decode_oem_sensor(uchar *sdr,uchar *reading,char *pstring,int slen)
case VENDOR_MAGNUM:
case VENDOR_SUPERMICRO:
case VENDOR_SUPERMICROX:
- rv = decode_sensor_supermicro(sdr, reading, pstring, slen, fsimple);
+ rv = decode_sensor_supermicro(sdr,reading,pstring,slen,fsimple,fdebug);
break;
case VENDOR_QUANTA:
rv = decode_sensor_quanta(sdr, reading, pstring, slen);
@@ -2650,6 +2650,7 @@ ShowSDR(char *tag, uchar *sdr)
sens[2],i,sens[0],sens[1],sdr01->sens_base,
sdr01->sens_units);
if ((sens[1] & 0x20) != 0) { i = 7; val = 0; } /* Init state */
+ else if (sdr01->sens_units == 0xC0) i = 42; /*reading NotAvailable*/
else if (sens[2] == 0xc7) { i = 10; val = 0; /* Absent (Intel) */
if (fdebug) printf("sensor[%x] is absent (c7), no reading\n",
sdr01->sens_num);
diff --git a/util/isensor.h b/util/isensor.h
index 8927b6e..f578274 100644
--- a/util/isensor.h
+++ b/util/isensor.h
@@ -16,8 +16,8 @@ typedef struct {
uchar entity_inst;
uchar sens_init;
uchar sens_capab;
- uchar sens_type;
- uchar ev_type;
+ uchar sens_type; /*sdr[12]*/
+ uchar ev_type; /*sdr[13]*/
uchar data1[6]; /*masks*/
uchar sens_units; /*sdr[20]*/
uchar sens_base;
diff --git a/util/iserial.c b/util/iserial.c
index a087614..f8377c7 100644
--- a/util/iserial.c
+++ b/util/iserial.c
@@ -155,7 +155,7 @@ typedef struct
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "iserial";
static int vend_id = 0;
static int prod_id = 0;
diff --git a/util/isol.c b/util/isol.c
index fab0994..1713ede 100644
--- a/util/isol.c
+++ b/util/isol.c
@@ -165,7 +165,7 @@ void dbglog( char *pattn, ... ); /*local prototype*/
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "isol";
static char fdebug = 0;
static char fpicmg = 0;
@@ -1249,7 +1249,9 @@ main(int argc, char **argv)
case VENDOR_DELL: /*Dell == 0x0002A2*/
max_bmc_data = MAX_DELL_DATA; /*shorter max data*/
break;
+ case VENDOR_SUPERMICROX:
case VENDOR_SUPERMICRO:
+ if (!fprivset) parse_lan_options('V',"4",0); /*requires admin priv*/
case VENDOR_LMC:
case VENDOR_PEPPERCON: /* 0x0028C5 Peppercon/Raritan*/
sol_timeout = 10; /* shorter 10 sec SOL keepalive timeout */
diff --git a/util/itsol.c b/util/itsol.c
index 6997ffe..57bb1eb 100644
--- a/util/itsol.c
+++ b/util/itsol.c
@@ -98,7 +98,7 @@ int gettimeofday(struct timeval *tv, struct timezone *tz);
extern int verbose;
extern char fdebug; /*from ipmicmd.c*/
static char * progname = "itsol";
-static char * progver = "3.04";
+static char * progver = "3.07";
static uchar g_bus = PUBLIC_BUS;
static uchar g_sa = BMC_SA;
static uchar g_lun = BMC_LUN;
diff --git a/util/iuser.c b/util/iuser.c
index e6a7b29..fa8297c 100644
--- a/util/iuser.c
+++ b/util/iuser.c
@@ -57,7 +57,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/* global variables */
static char * progname = "iuser";
-static char * progver = "3.04";
+static char * progver = "3.07";
static char fdebug = 0;
static char fcanonical = 0;
static char bdelim = '|';
diff --git a/util/iwdt.c b/util/iwdt.c
index 13253b3..d8c3c84 100644
--- a/util/iwdt.c
+++ b/util/iwdt.c
@@ -100,7 +100,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "iwdt";
static char fdebug = 0;
static char fdontlog = 0;
diff --git a/util/oem_asus.c b/util/oem_asus.c
index cd5c01e..d5861d4 100644
--- a/util/oem_asus.c
+++ b/util/oem_asus.c
@@ -61,7 +61,7 @@ extern char fdebug; /*ipmicmd.c*/
void set_loglevel(int level); /*prototype */
static char * progname = "iasusoem";
-static char * progver = "3.04";
+static char * progver = "3.07";
static int verbose = 0;
static uchar g_bus = PUBLIC_BUS;
static uchar g_sa = BMC_SA;
diff --git a/util/oem_dell.c b/util/oem_dell.c
index 4f9a7ab..dcfe52a 100644
--- a/util/oem_dell.c
+++ b/util/oem_dell.c
@@ -132,7 +132,7 @@ char NIC_Selection_Mode_String_12g[] [50] = {
"shared with failover all loms"
};
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "idelloem";
static int verbose = 0;
static char fdebug = 0;
diff --git a/util/oem_fujitsu.c b/util/oem_fujitsu.c
index 9a4783a..9f11b19 100644
--- a/util/oem_fujitsu.c
+++ b/util/oem_fujitsu.c
@@ -52,7 +52,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/* extern void get_mfgid(int *vend, int *prod); * from ipmicmd.h*/
/* extern int get_lan_options(); * from ipmicmd.h */
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "ifujitsuoem";
static char fdebug = 0;
static char freadok = 1;
diff --git a/util/oem_hp.c b/util/oem_hp.c
index 081ea6f..862456a 100644
--- a/util/oem_hp.c
+++ b/util/oem_hp.c
@@ -44,7 +44,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "ievents.h"
#include "isensor.h"
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "ihpoem";
static char *redund_str(uchar b)
diff --git a/util/oem_intel.c b/util/oem_intel.c
index bf21ec5..b8d9454 100644
--- a/util/oem_intel.c
+++ b/util/oem_intel.c
@@ -83,7 +83,7 @@ extern char fdebug; /*ipmicmd.c*/
/*
* Global variables
*/
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "iinteloem";
static char fRelayBits = 0;
static uchar g_bus = PUBLIC_BUS;
diff --git a/util/oem_kontron.c b/util/oem_kontron.c
index b8fedf7..6a3964f 100644
--- a/util/oem_kontron.c
+++ b/util/oem_kontron.c
@@ -73,7 +73,7 @@ typedef uint32_t socklen_t;
#define FRU_TYPE_COMPONENT 0x01
#define FRU_TYPE_BASEBOARD 0x07
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "ikontronoem";
const struct valstr ktc5520_post[] = { /*from EAS*/
{ 0x0003, "Start POST Init" },
diff --git a/util/oem_lenovo.c b/util/oem_lenovo.c
index dc15a5d..f37388f 100644
--- a/util/oem_lenovo.c
+++ b/util/oem_lenovo.c
@@ -61,7 +61,7 @@ extern uchar bitnum(ushort value); /*isensor.c*/
extern char fdebug; /*ipmicmd.c*/
void set_loglevel(int level); /*prototype */
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "ilenovooem";
static int verbose = 0;
static uchar g_bus = PUBLIC_BUS;
diff --git a/util/oem_newisys.c b/util/oem_newisys.c
index 6b21e1b..9ae794b 100644
--- a/util/oem_newisys.c
+++ b/util/oem_newisys.c
@@ -43,7 +43,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "ipmicmd.h"
#include "ievents.h"
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "inewisysoem";
static char fdebug = 0;
static uchar g_bus = PUBLIC_BUS;
diff --git a/util/oem_quanta.c b/util/oem_quanta.c
index a6cfd6a..ab9b105 100644
--- a/util/oem_quanta.c
+++ b/util/oem_quanta.c
@@ -45,7 +45,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
extern int decode_sensor_intel_nm(uchar *sdr,uchar *reading,
char *pstring,int slen); /*oem_intel.c*/
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "iquantaoem";
static char fdbg = 0;
diff --git a/util/oem_sun.c b/util/oem_sun.c
index 8aa211b..9ccc905 100644
--- a/util/oem_sun.c
+++ b/util/oem_sun.c
@@ -109,7 +109,7 @@ static const struct valstr sunoem_led_mode_optvals[] = {
/* global variables */
static char * progname = "isunoem";
-static char * progver = "3.04";
+static char * progver = "3.07";
static char fdebug = 0;
static uchar g_bus = PUBLIC_BUS;
static uchar g_sa = BMC_SA;
diff --git a/util/oem_supermicro.c b/util/oem_supermicro.c
index a480b7f..1924345 100644
--- a/util/oem_supermicro.c
+++ b/util/oem_supermicro.c
@@ -68,7 +68,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
void set_loglevel(int level); /*prototype */
extern char fsm_debug; /*mem_if.c*/
-static char * progver = "3.04";
+static char * progver = "3.07";
static char * progname = "ismcoem";
static int verbose = 0;
static char fdebug = 0;
@@ -415,7 +415,7 @@ int decode_threshold_supermicro(uchar rval, uchar *thresh)
* pstring = contains the sensor reading interpretation string (if rv==0)
*/
int decode_sensor_supermicro(uchar *sdr,uchar *reading,char *pstring, int slen,
- int fsimple)
+ int fsimple, char fdbg)
{
int i, rv = -1;
uchar stype, etype, snum;
@@ -428,23 +428,26 @@ int decode_sensor_supermicro(uchar *sdr,uchar *reading,char *pstring, int slen,
if (sdr == NULL || reading == NULL) return(rv);
if (pstring == NULL || slen == 0) return(rv);
+ fdebug = fdbg;
bval = (reading[2] & 0x3f);
snum = sdr[7]; /*sdr01->sens_num*/
stype = sdr[12]; /*sensor_type*/
etype = sdr[13]; /*sdr01->ev_type*/
+ get_mfgid(&vend_id,&prod_id); /*saved from ipmi_getdeviceid */
/* sdr[3] rec_type is 0x01 for Full, 0x02 for Compact */
if ((sdr[3] == 0x01) && (etype == 0x01)) { /* full threshold sensor */
- if (bval == 0) return(-1); /* OK, treat it normally */
- /*cannot rely upon the sensor reading[2], so get thresholds and compare*/
+ /*if Temp sensor, bits==0 would show BelowCrit, so handle normally */
+ if ((stype == 0x01) && (bval == 0)) return(-1);
+ /*Cannot rely upon the sensor reading[2], so get thresholds and compare*/
rv = GetSensorThresholds(snum,&thresh[0]);
if (rv != 0) return(rv);
i = decode_threshold_supermicro(reading[0],thresh);
if (fdebug)
- printf("decode_sensor_supermicro: snum=%x rdg=%x:%x thresh=%x:%x:%x:%x:%x:%x:%x i=%d rv=%d\n",
- snum,reading[0],reading[2], thresh[0], thresh[1], thresh[2], thresh[3],
+ printf("decode_sensor_supermicro: snum=%x stype=%x rdg=%x:%x thresh=%x:%x:%x:%x:%x:%x:%x i=%d rv=%d\n",
+ snum,stype,reading[0],reading[2], thresh[0], thresh[1], thresh[2], thresh[3],
thresh[4], thresh[5], thresh[6], i,rv);
switch(i) {
- case 0: pstr = "OK*"; break;
+ case 0: pstr = "OK"; break;
case 1: pstr = "Warn-lo"; break;
case 2: pstr = "Crit-lo"; break;
case 3: pstr = "BelowCrit"; break;
@@ -495,6 +498,14 @@ int decode_sensor_supermicro(uchar *sdr,uchar *reading,char *pstring, int slen,
default: rv = -1; break;
}
break;
+ case 0x29: /* VBAT sensor */
+ if (prod_id == 0x0917) { /*X11DRi has inert VBAT full sensor*/
+ if (bval == 0) {
+ pstr = "NotAvailable";
+ rv = 0;
+ }
+ }
+ break;
default:
break;
}
@@ -593,12 +604,14 @@ int decode_sel_supermicro(uchar *evt, char *outbuf, int outsz, char fdesc,
uchar rectype;
ulong timestamp;
char mybuf[64];
+ char mytype[64];
char *type_str = "";
char *pstr = NULL;
- int sevid;
+ int sevid, d1;
ushort genid;
uchar snum;
uchar data1, data2, data3;
+ char *psens = NULL;
fdebug = fdbg;
sevid = SEV_INFO;
@@ -616,17 +629,22 @@ int decode_sel_supermicro(uchar *evt, char *outbuf, int outsz, char fdesc,
switch(evt[10]) { /*sensor type*/
case 0xC0: /* CPU Temp Sensor */
type_str = "OEM_CpuTemp";
- switch((evt[13] & 0x0f)) { /*offset/data1 l.o. nibble*/
+ d1 = (evt[13] & 0x0f); /*offset/data1 l.o. nibble*/
+ switch(d1) {
case 0x02: /* CPU Temp Sensor Overheat event offset */
if (evt[12] & 0x80) { /*EvTyp==0xF0 if deassert*/
pstr = "CpuTemp Overheat OK"; sevid = SEV_INFO;
} else { /* EvTyp=0x70 assert */
pstr = "CpuTemp Overheat "; sevid = SEV_MAJ;
}
- rv = 0;
break;
- default: pstr = "CpuTemp Event"; rv = 0; break;
+ default: pstr = "CpuTemp Event";
+ sprintf(mytype,"CpuTemp_%02x", d1);
+ type_str = mytype;
+ sevid = SEV_MIN;
+ break;
}
+ rv = 0;
break;
case 0xC2: /* CPLD Event */
type_str = "OEM_CPLD";
@@ -635,10 +653,10 @@ int decode_sel_supermicro(uchar *evt, char *outbuf, int outsz, char fdesc,
if (evt[14] == 0x1c)
{ pstr = "CPLD CATERR Asserted"; sevid = SEV_CRIT; }
else { pstr = "CPLD Event Asserted"; sevid = SEV_MIN; }
- rv = 0;
break;
- default: pstr = "CPLD Event"; rv = 0; break;
+ default: pstr = "CPLD Event"; sevid = SEV_MIN; break;
}
+ rv = 0;
break;
case 0xD0: /* BMC Event */
type_str = "OEM_BMC";
@@ -655,13 +673,15 @@ int decode_sel_supermicro(uchar *evt, char *outbuf, int outsz, char fdesc,
break;
case 0xC5: /* Observed Event: Storage, drive slot */
/* usually OEM(c5) #52 - 6f [01 00 00] */
- pstr = "OEMC5: Storage/DriveSlot fault";
+ type_str = "OEM_C5";
+ pstr = "Storage/DriveSlot fault";
sevid = SEV_MAJ;
rv = 0;
break;
- case 0xC8: /* Observed Event: Temp/Cooling issue, reboots */
+ case 0xC8: /* Observed Event: AC Power on event */
/* usually OEM(c8) #ff - 6f [a0 ff ff] */
- pstr = "OEMC8: Temp/Cooling fault";
+ type_str = "OEM_C8";
+ pstr = "AC Power On";
sevid = SEV_MAJ;
rv = 0;
break;
@@ -671,11 +691,16 @@ int decode_sel_supermicro(uchar *evt, char *outbuf, int outsz, char fdesc,
}
if (rv == 0) {
format_event(id,timestamp, sevid, genid, type_str,
- snum,NULL,pstr,mybuf,outbuf,outsz);
+ snum,psens,pstr,mybuf,outbuf,outsz);
}
return(rv);
}
+/* factory_defaults: set SMC factory defaults
+ * mode: 0 = detect, default is c0 41 method
+ * 2 = use c0 41 method, also get guid
+ * 3 = use f0 40 method (usu X11)
+ */
static int factory_defaults(int mode)
{
int rv = -1;
@@ -684,7 +709,7 @@ static int factory_defaults(int mode)
uchar idata[16];
uchar cc;
/*
- From SMC IPMICFG -fde session:
+ From SMC IPMICFG -fde factory defaults session:
start_kcs_transaction - 18 01 (get_device_id)
start_kcs_transaction - 18 25 (watchdog get)
start_kcs_transaction - b0 00 00 (unknown, invalid)
@@ -693,6 +718,12 @@ static int factory_defaults(int mode)
start_kcs_transaction - 18 01 (get_device_id)
start_kcs_transaction - c0 41 (reset_factory_defaults, -fde)
*/
+ if ((prod_id > 2200) && (prod_id < 2300) && (mode == 0)) {
+ /* Looks like X11 board, may use netfn 3c, cmd 40 ? */
+ /* do not auto-set this if mode param is not 3 */
+ // mode = 3; /* cmd=0x40 netfn=0x3c (netfn/lun=0xF0) */
+ if (fdebug) printf("may also need ipmiutil cmd 00 20 f0 40\n");
+ }
/* b0 00 00: cmd=00 netfn=2C */
rlen = sizeof(rdata);
@@ -703,7 +734,7 @@ static int factory_defaults(int mode)
if (fdebug) printf("b0 00 returned %d\n",rv);
/* if (rv != 0) return(rv); */
- if (mode == 2) {
+ if (mode == 2) { /* (get_system_guid) */
rlen = sizeof(rdata);
rv = ipmi_cmdraw(0x37, (0x18 >> 2), BMC_SA, PUBLIC_BUS, BMC_LUN,
idata, 0, rdata, &rlen, &cc, fdebug);
@@ -712,10 +743,15 @@ static int factory_defaults(int mode)
if (rv != 0) return(rv);
}
- /* reset factory defaults cmd=0x41 netfn=0x30 (netfn/lun=0xC0) */
+ /* reset factory defaults */
rlen = sizeof(rdata);
- rv = ipmi_cmdraw(0x41, (0xc0 >> 2), BMC_SA, PUBLIC_BUS, BMC_LUN,
- idata, 0, rdata, &rlen, &cc, fdebug);
+ if (mode == 3) { /* cmd=0x40 netfn=0x3c (netfn/lun=0xF0) */
+ rv = ipmi_cmdraw(0x40, 0x3c, BMC_SA, PUBLIC_BUS, BMC_LUN,
+ idata, 0, rdata, &rlen, &cc, fdebug);
+ } else { /* cmd=0x41 netfn=0x30 (netfn/lun=0xC0) if X10 or less */
+ rv = ipmi_cmdraw(0x41, (0xc0 >> 2), BMC_SA, PUBLIC_BUS, BMC_LUN,
+ idata, 0, rdata, &rlen, &cc, fdebug);
+ }
if ((rv == 0) && (cc != 0)) rv = cc;
if (fdebug) printf("factory default reset returned %d\n",rv);
if (rv != 0) return(rv);
@@ -741,6 +777,11 @@ static int ipmi_smcoem_main(int argc, char **argv)
char msg[80];
uchar val;
+ if ((vend_id != VENDOR_SUPERMICRO) && (vend_id != VENDOR_SUPERMICROX)) {
+ printf("Not SuperMicro firmware, ignoring smcoem\n");
+ usage();
+ return(ERR_USAGE);
+ }
if (strncmp(argv[0],"intrusion",9) == 0) {
printf("Clearing Chassis Intrusion ...\n");
rv = oem_supermicro_reset_intrusion();
diff --git a/util/oem_supermicro.h b/util/oem_supermicro.h
index c8f9147..7237f3c 100644
--- a/util/oem_supermicro.h
+++ b/util/oem_supermicro.h
@@ -48,7 +48,7 @@ int oem_supermicro_get_lan_port(uchar *val);
int oem_supermicro_set_lan_port(uchar val);
char *oem_supermicro_lan_port_string(uchar val);
-int decode_sensor_supermicro(uchar *sdr,uchar *reading,char *pstring, int slen, int fsimple);
+int decode_sensor_supermicro(uchar *sdr,uchar *reading,char *pstring, int slen, int fsimple, char fdbg);
int decode_mem_supermicro(int prod, uchar b2, uchar b3, char *desc, int *psz);
int decode_sel_supermicro(uchar *evt, char *outbuf, int outsz, char fdesc,
char fdebug);
diff --git a/vcvars32.bat b/vcvars32.bat
new file mode 100755
index 0000000..3a2b316
--- /dev/null
+++ b/vcvars32.bat
@@ -0,0 +1,28 @@
+@echo off
+REM Copy saved 32bit libraries into place, if present
+REM iphlpapi.lib libeay32.dll libeay32.lib ssleay32.dll ssleay32.lib
+REM Modify SAVLIB32 to a directory where these libs are saved.
+set SAVLIB32=lib\x32
+IF NOT EXIST %SAVLIB32% GOTO NOSAVLIB
+copy /Y %SAVLIB32%\*.lib lib
+copy /Y %SAVLIB32%\*.dll util
+REM (do not copy mak) copy /Y util\x32\ipmiutil.mak util
+:NOSAVLIB
+REM sample VCINSTALLDIR from VS 2008
+set VCDIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC
+IF DEFINED VCINSTALLDIR GOTO HAVEVC
+IF DEFINED VSINSTALLDIR GOTO HAVEVS
+GOTO HAVEDEF
+:HAVEVS
+set VCDIR=%VSINSTALLDIR%\VC
+:HAVEVC
+set VCDIR=%VCINSTALLDIR%
+:HAVEDEF
+REM Run MS 32bit vcvars
+set VCBAT="%VCDIR%\bin\vcvars32.bat"
+IF EXIST %VCBAT% GOTO RUNVC
+echo "Cannot locate vcvars32.bat, please run it manually."
+GOTO DONE
+:RUNVC
+%VCBAT%
+:DONE
diff --git a/vcvars64.bat b/vcvars64.bat
new file mode 100755
index 0000000..1e5f125
--- /dev/null
+++ b/vcvars64.bat
@@ -0,0 +1,28 @@
+@echo off
+REM Copy saved 64bit libraries into place, if present
+REM iphlpapi.lib libeay32.dll libeay32.lib ssleay32.dll ssleay32.lib
+REM Modify SAVLIB64 to a directory where these libs are saved.
+set SAVLIB64=lib\x64
+IF NOT EXIST %SAVLIB64% GOTO NOSAVLIB
+copy /Y %SAVLIB64%\*.lib lib
+copy /Y %SAVLIB64%\*.dll util
+REM (do not copy mak) copy /Y util\x64\ipmiutil.mak util
+:NOSAVLIB
+REM sample VCINSTALLDIR from VS 2008
+set VCDIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC
+IF DEFINED VCINSTALLDIR GOTO HAVEVC
+IF DEFINED VSINSTALLDIR GOTO HAVEVS
+GOTO HAVEDEF
+:HAVEVS
+set VCDIR=%VSINSTALLDIR%\VC
+:HAVEVC
+set VCDIR=%VCINSTALLDIR%
+:HAVEDEF
+REM Run MS 64bit vcvars
+set VCBAT="%VCDIR%\bin\x86_amd64\vcvarsx86_amd64.bat"
+IF EXIST %VCBAT% GOTO RUNVC
+echo "Cannot locate vcvars for amd64, please run it manually."
+GOTO DONE
+:RUNVC
+%VCBAT%
+:DONE