summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2014-07-06 18:04:32 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2014-07-06 18:04:32 +0200
commita7f89980e5b3f4b9a74c70dbc5ffe8aabd28be28 (patch)
tree41c4deec1fdfbafd7821b4ca7a9772ac0abd92f5 /doc
Imported Upstream version 2.9.3upstream/2.9.3
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile383
-rw-r--r--doc/Makefile.am61
-rw-r--r--doc/Makefile.in383
-rw-r--r--doc/UserGuide6497
-rw-r--r--doc/bmclanaol.mib210
-rw-r--r--doc/bmclanpet.mib1083
-rw-r--r--doc/ialarms.8103
-rw-r--r--doc/icmd.8113
-rw-r--r--doc/iconfig.896
-rw-r--r--doc/idcmi.8122
-rw-r--r--doc/idelloem.8177
-rw-r--r--doc/idiscover.892
-rw-r--r--doc/iekanalyzer.8251
-rw-r--r--doc/ievents.893
-rw-r--r--doc/ifirewall.8152
-rw-r--r--doc/ifru.8111
-rw-r--r--doc/ifruset.8122
-rw-r--r--doc/ifwum.8124
-rw-r--r--doc/igetevent.8154
-rw-r--r--doc/ihealth.893
-rw-r--r--doc/ihpm.8185
-rw-r--r--doc/ilan.8305
-rw-r--r--doc/ipicmg.8157
-rw-r--r--doc/ipmi_port.844
-rw-r--r--doc/ipmiutil.8116
-rw-r--r--doc/ipmiutil.spec424
-rw-r--r--doc/ireset.8118
-rw-r--r--doc/isel.8137
-rw-r--r--doc/iseltime.879
-rw-r--r--doc/isensor.8213
-rw-r--r--doc/iserial.8251
-rw-r--r--doc/ismcoem.8104
-rw-r--r--doc/isol.8133
-rw-r--r--doc/isunoem.8135
-rw-r--r--doc/itsol.866
-rw-r--r--doc/iwdt.8113
-rw-r--r--doc/rh.patch111
-rw-r--r--doc/rh_spec.patch111
-rw-r--r--doc/winsockerr.txt301
39 files changed, 13523 insertions, 0 deletions
diff --git a/doc/Makefile b/doc/Makefile
new file mode 100644
index 0000000..3c9c43a
--- /dev/null
+++ b/doc/Makefile
@@ -0,0 +1,383 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# doc/Makefile. Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in 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.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+srcdir = .
+top_srcdir = ..
+
+pkgdatadir = $(datadir)/ipmiutil
+pkglibdir = $(libdir)/ipmiutil
+pkgincludedir = $(includedir)/ipmiutil
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = x86_64-redhat-linux-gnu
+host_triplet = x86_64-redhat-linux-gnu
+subdir = doc
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /usr/dev/ipmiutil-2.9.3/missing --run aclocal-1.9
+AMDEP_FALSE = #
+AMDEP_TRUE =
+AMTAR = ${SHELL} /usr/dev/ipmiutil-2.9.3/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /usr/dev/ipmiutil-2.9.3/missing --run autoconf
+AUTOHEADER = ${SHELL} /usr/dev/ipmiutil-2.9.3/missing --run autoheader
+AUTOMAKE = ${SHELL} /usr/dev/ipmiutil-2.9.3/missing --run automake-1.9
+AWK = gawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS =
+CROSS_CFLAGS =
+CROSS_LFLAGS =
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO = echo
+ECHO_C =
+ECHO_N = -n
+ECHO_T =
+EGREP = grep -E
+EXEEXT =
+F77 = f95
+FFLAGS = -g -O2
+GPL_CFLAGS =
+IA64_CFLAGS =
+INIT_DIR = /etc//rc.d/init.d
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+INS_LIB =
+LANDESK_CFLAGS =
+LANDESK_LDADD =
+LANPLUS_CFLAGS = -DHAVE_LANPLUS
+LANPLUS_CRYPTO = -lcrypto
+LANPLUS_LDADD = -L../lib -lipmi_lanplus -L/usr/local/lib -lcrypto
+LANPLUS_LIB = ../lib/libipmi_lanplus.a
+LANPLUS_SAM = yes
+LDFLAGS =
+LD_SAMX = ../lib/libipmi_lanplus.a -lcrypto
+LIBOBJS =
+LIBS =
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LIB_DIR = /usr/lib64
+LN_S = ln -s
+LTLIBOBJS =
+MAKEINFO = ${SHELL} /usr/dev/ipmiutil-2.9.3/missing --run makeinfo
+OBJEXT = o
+OS_CFLAGS = -DLINUX -fPIC -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2
+OS_DRIVERS = imbapi.c ipmimv.c ipmild.c ipmidir.c
+OS_LFLAGS =
+PACKAGE = ipmiutil
+PACKAGE_BUGREPORT =
+PACKAGE_NAME =
+PACKAGE_STRING =
+PACKAGE_TARNAME =
+PACKAGE_VERSION =
+PATH_SEPARATOR = :
+PKG_DIR = /usr/src/redhat
+RANLIB = ranlib
+SED = /bin/sed
+SET_MAKE =
+SHELL = /bin/sh
+SHR_LINK = libipmiutil.so
+STRIP = strip
+SUBDIR_S = doc scripts lib util
+SYSTEMD_DIR = /usr/share/ipmiutil
+VERSION = 2.9.3
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_F77 = f95
+ac_ct_RANLIB = ranlib
+ac_ct_STRIP = strip
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE =
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE =
+am__include = include
+am__leading_dot = .
+am__quote =
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = x86_64-redhat-linux-gnu
+build_alias =
+build_cpu = x86_64
+build_os = linux-gnu
+build_vendor = redhat
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = x86_64-redhat-linux-gnu
+host_alias =
+host_cpu = x86_64
+host_os = linux-gnu
+host_vendor = redhat
+includedir = ${prefix}/include
+infodir = ${prefix}/info
+install_sh = /usr/dev/ipmiutil-2.9.3/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/share/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = ${prefix}/etc
+target_alias =
+
+#!/bin/sh
+# Makefile to build/install doc files
+#
+MKDIR = sh ../mkinstalldirs
+INSTALL_SH = sh ../install-sh -c
+INSTALL_DATA_SH = ${INSTALL_SH} -m 644
+docdir = ${prefix}/share/doc/ipmiutil-${version}
+etcdir = /etc
+datato = ${DESTDIR}${datadir}/ipmiutil
+cronto = ${DESTDIR}${etcdir}/cron.daily
+manto = ${DESTDIR}${mandir}/man8
+varto = ${DESTDIR}/var/lib/ipmiutil
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-exec install-exec-am \
+ install-info install-info-am install-man install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-info-am
+
+
+all:
+
+clean:
+
+clobber:
+
+distclean:
+
+check:
+
+install:
+ $(MKDIR) ${manto}
+ $(MKDIR) ${datato}
+ $(MKDIR) ${varto}
+ ${INSTALL_DATA_SH} isel.8 ${manto}
+ ${INSTALL_DATA_SH} isensor.8 ${manto}
+ ${INSTALL_DATA_SH} ireset.8 ${manto}
+ ${INSTALL_DATA_SH} ialarms.8 ${manto}
+ ${INSTALL_DATA_SH} iwdt.8 ${manto}
+ ${INSTALL_DATA_SH} ifru.8 ${manto}
+ ${INSTALL_DATA_SH} ilan.8 ${manto}
+ ${INSTALL_DATA_SH} iserial.8 ${manto}
+ ${INSTALL_DATA_SH} icmd.8 ${manto}
+ ${INSTALL_DATA_SH} igetevent.8 ${manto}
+ ${INSTALL_DATA_SH} ihealth.8 ${manto}
+ ${INSTALL_DATA_SH} ipmiutil.8 ${manto}
+ ${INSTALL_DATA_SH} isol.8 ${manto}
+ ${INSTALL_DATA_SH} idiscover.8 ${manto}
+ ${INSTALL_DATA_SH} ievents.8 ${manto}
+ ${INSTALL_DATA_SH} iconfig.8 ${manto}
+ ${INSTALL_DATA_SH} ipmi_port.8 ${manto}
+ ${INSTALL_DATA_SH} ipicmg.8 ${manto}
+ ${INSTALL_DATA_SH} ifirewall.8 ${manto}
+ ${INSTALL_DATA_SH} ifwum.8 ${manto}
+ ${INSTALL_DATA_SH} ihpm.8 ${manto}
+ ${INSTALL_DATA_SH} isunoem.8 ${manto}
+ ${INSTALL_DATA_SH} itsol.8 ${manto}
+ ${INSTALL_DATA_SH} iekanalyzer.8 ${manto}
+ ${INSTALL_DATA_SH} idelloem.8 ${manto}
+ ${INSTALL_DATA_SH} idcmi.8 ${manto}
+ ${INSTALL_DATA_SH} ismcoem.8 ${manto}
+ ${INSTALL_DATA_SH} bmclanpet.mib ${datato}
+ cd ${manto}; gzip -f *.8
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..832b0d1
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,61 @@
+#!/bin/sh
+# Makefile to build/install doc files
+#
+MKDIR = sh ../mkinstalldirs
+INSTALL_SH = sh ../install-sh -c
+INSTALL_DATA_SH = ${INSTALL_SH} -m 644
+prefix = /usr
+
+datadir = ${prefix}/share
+mandir = ${prefix}/share/man
+docdir = ${prefix}/share/doc/ipmiutil-${version}
+etcdir = /etc
+datato = ${DESTDIR}${datadir}/ipmiutil
+cronto = ${DESTDIR}${etcdir}/cron.daily
+manto = ${DESTDIR}${mandir}/man8
+varto = ${DESTDIR}/var/lib/ipmiutil
+
+all:
+
+clean:
+
+clobber:
+
+distclean:
+
+check:
+
+install:
+ $(MKDIR) ${manto}
+ $(MKDIR) ${datato}
+ $(MKDIR) ${varto}
+ ${INSTALL_DATA_SH} isel.8 ${manto}
+ ${INSTALL_DATA_SH} isensor.8 ${manto}
+ ${INSTALL_DATA_SH} ireset.8 ${manto}
+ ${INSTALL_DATA_SH} ialarms.8 ${manto}
+ ${INSTALL_DATA_SH} iwdt.8 ${manto}
+ ${INSTALL_DATA_SH} ifru.8 ${manto}
+ ${INSTALL_DATA_SH} ilan.8 ${manto}
+ ${INSTALL_DATA_SH} iserial.8 ${manto}
+ ${INSTALL_DATA_SH} icmd.8 ${manto}
+ ${INSTALL_DATA_SH} igetevent.8 ${manto}
+ ${INSTALL_DATA_SH} ihealth.8 ${manto}
+ ${INSTALL_DATA_SH} ipmiutil.8 ${manto}
+ ${INSTALL_DATA_SH} isol.8 ${manto}
+ ${INSTALL_DATA_SH} idiscover.8 ${manto}
+ ${INSTALL_DATA_SH} ievents.8 ${manto}
+ ${INSTALL_DATA_SH} iconfig.8 ${manto}
+ ${INSTALL_DATA_SH} ipmi_port.8 ${manto}
+ ${INSTALL_DATA_SH} ipicmg.8 ${manto}
+ ${INSTALL_DATA_SH} ifirewall.8 ${manto}
+ ${INSTALL_DATA_SH} ifwum.8 ${manto}
+ ${INSTALL_DATA_SH} ihpm.8 ${manto}
+ ${INSTALL_DATA_SH} isunoem.8 ${manto}
+ ${INSTALL_DATA_SH} itsol.8 ${manto}
+ ${INSTALL_DATA_SH} iekanalyzer.8 ${manto}
+ ${INSTALL_DATA_SH} idelloem.8 ${manto}
+ ${INSTALL_DATA_SH} idcmi.8 ${manto}
+ ${INSTALL_DATA_SH} ismcoem.8 ${manto}
+ ${INSTALL_DATA_SH} bmclanpet.mib ${datato}
+ cd ${manto}; gzip -f *.8
+
diff --git a/doc/Makefile.in b/doc/Makefile.in
new file mode 100644
index 0000000..a6825ce
--- /dev/null
+++ b/doc/Makefile.in
@@ -0,0 +1,383 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in 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.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = doc
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CROSS_CFLAGS = @CROSS_CFLAGS@
+CROSS_LFLAGS = @CROSS_LFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+GPL_CFLAGS = @GPL_CFLAGS@
+IA64_CFLAGS = @IA64_CFLAGS@
+INIT_DIR = @INIT_DIR@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INS_LIB = @INS_LIB@
+LANDESK_CFLAGS = @LANDESK_CFLAGS@
+LANDESK_LDADD = @LANDESK_LDADD@
+LANPLUS_CFLAGS = @LANPLUS_CFLAGS@
+LANPLUS_CRYPTO = @LANPLUS_CRYPTO@
+LANPLUS_LDADD = @LANPLUS_LDADD@
+LANPLUS_LIB = @LANPLUS_LIB@
+LANPLUS_SAM = @LANPLUS_SAM@
+LDFLAGS = @LDFLAGS@
+LD_SAMX = @LD_SAMX@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIB_DIR = @LIB_DIR@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+OS_CFLAGS = @OS_CFLAGS@
+OS_DRIVERS = @OS_DRIVERS@
+OS_LFLAGS = @OS_LFLAGS@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_DIR = @PKG_DIR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SHR_LINK = @SHR_LINK@
+STRIP = @STRIP@
+SUBDIR_S = @SUBDIR_S@
+SYSTEMD_DIR = @SYSTEMD_DIR@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = ${prefix}/share
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = ${prefix}/share/man
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = /usr
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+
+#!/bin/sh
+# Makefile to build/install doc files
+#
+MKDIR = sh ../mkinstalldirs
+INSTALL_SH = sh ../install-sh -c
+INSTALL_DATA_SH = ${INSTALL_SH} -m 644
+docdir = ${prefix}/share/doc/ipmiutil-${version}
+etcdir = /etc
+datato = ${DESTDIR}${datadir}/ipmiutil
+cronto = ${DESTDIR}${etcdir}/cron.daily
+manto = ${DESTDIR}${mandir}/man8
+varto = ${DESTDIR}/var/lib/ipmiutil
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-exec install-exec-am \
+ install-info install-info-am install-man install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-info-am
+
+
+all:
+
+clean:
+
+clobber:
+
+distclean:
+
+check:
+
+install:
+ $(MKDIR) ${manto}
+ $(MKDIR) ${datato}
+ $(MKDIR) ${varto}
+ ${INSTALL_DATA_SH} isel.8 ${manto}
+ ${INSTALL_DATA_SH} isensor.8 ${manto}
+ ${INSTALL_DATA_SH} ireset.8 ${manto}
+ ${INSTALL_DATA_SH} ialarms.8 ${manto}
+ ${INSTALL_DATA_SH} iwdt.8 ${manto}
+ ${INSTALL_DATA_SH} ifru.8 ${manto}
+ ${INSTALL_DATA_SH} ilan.8 ${manto}
+ ${INSTALL_DATA_SH} iserial.8 ${manto}
+ ${INSTALL_DATA_SH} icmd.8 ${manto}
+ ${INSTALL_DATA_SH} igetevent.8 ${manto}
+ ${INSTALL_DATA_SH} ihealth.8 ${manto}
+ ${INSTALL_DATA_SH} ipmiutil.8 ${manto}
+ ${INSTALL_DATA_SH} isol.8 ${manto}
+ ${INSTALL_DATA_SH} idiscover.8 ${manto}
+ ${INSTALL_DATA_SH} ievents.8 ${manto}
+ ${INSTALL_DATA_SH} iconfig.8 ${manto}
+ ${INSTALL_DATA_SH} ipmi_port.8 ${manto}
+ ${INSTALL_DATA_SH} ipicmg.8 ${manto}
+ ${INSTALL_DATA_SH} ifirewall.8 ${manto}
+ ${INSTALL_DATA_SH} ifwum.8 ${manto}
+ ${INSTALL_DATA_SH} ihpm.8 ${manto}
+ ${INSTALL_DATA_SH} isunoem.8 ${manto}
+ ${INSTALL_DATA_SH} itsol.8 ${manto}
+ ${INSTALL_DATA_SH} iekanalyzer.8 ${manto}
+ ${INSTALL_DATA_SH} idelloem.8 ${manto}
+ ${INSTALL_DATA_SH} idcmi.8 ${manto}
+ ${INSTALL_DATA_SH} ismcoem.8 ${manto}
+ ${INSTALL_DATA_SH} bmclanpet.mib ${datato}
+ cd ${manto}; gzip -f *.8
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/doc/UserGuide b/doc/UserGuide
new file mode 100644
index 0000000..d1b1090
--- /dev/null
+++ b/doc/UserGuide
@@ -0,0 +1,6497 @@
+
+ IPMIUTIL USER GUIDE
+ VERSION 2.9.3
+ An easy-to-use IPMI server management utility
+
+
+------------------------
+ CONTENTS
+------------------------
+1.0 Overview
+ 1.1 Features
+2.0 Dependencies
+ 2.1 Configuration
+ 2.2 References
+3.0 Utility Man Pages
+ 3.1 IPMIUTIL (ipmiutil)
+ 3.2 IALARMS (ipmiutil alarms)
+ 3.3 ICMD (ipmiutil cmd)
+ 3.4 ICONFIG (ipmiutil config)
+ 3.5 IDISCOVER (ipmiutil discover)
+ 3.6 IEVENTS (ipmiutil events)
+ 3.7 IFRU (ipmiutil fru)
+ 3.8 IGETEVENT (ipmiutil getevt)
+ 3.9 IHEALTH (ipmiutil health)
+ 3.10 ILAN (ipmiutil lan)
+ 3.11 IRESET (ipmiutil reset)
+ 3.12 ISEL (ipmiutil sel)
+ 3.13 ISENSOR (ipmiutil sensor)
+ 3.14 ISERIAL (ipmiutil serial)
+ 3.15 ISOL (ipmiutil sol)
+ 3.16 IWDT (ipmiutil wdt)
+ 3.17 IFRUSET (ifruset)
+ 3.18 IPMI_PORT (ipmi_port)
+ 3.19 IPICMG (ipmiutil picmg)
+ 3.20 IFIREWALL (ipmiutil ifirewall)
+ 3.21 IFWUM (ipmiutil fwum)
+ 3.22 IHPM (ipmiutil hpm)
+ 3.23 ISUNOEM (ipmiutil sunoem)
+ 3.24 IEKANALYZER (ipmiutil ekanalyzer, deprecated)
+ 3.25 ITSOL (ipmiutil tsol)
+ 3.26 IDELLOEM (ipmiutil delloem)
+ 3.27 IDCMI (ipmiutil dcmi)
+ 3.28 ISMCOEM (ipmiutil smcoem)
+ 3.29 ISELTIME (iseltime)
+4.0 Use Cases
+ 4.1 Usage of IPMI utilities for sensor thresholds
+ 4.2 Usage to configure a system for IPMI LAN
+ 4.3 Usage of IPMI utilities for Automated IPMI LAN configuration
+ 4.4 Usage of IPMI utilities to Set Watchdog timer
+ 4.5 Usage of kernel panic handler code
+ 4.6 Interpreting BMC LAN SNMP Traps from Platform Events
+ 4.7 Interpreting newer PECI sensors for CPU Thermal Margin
+ 4.8 How to configure a system for IPMI Serial-Over-LAN Console
+ 4.9 Using ipmiutil Library APIs for custom programs
+ 4.10 How to configure a system for SNMP Traps via IPMI PEF rules
+5.0 IPMI Utilities on Windows
+ 5.1 Windows Install Instructions
+ 5.2 Windows Build Instructions
+ 5.3 Windows Command Usage
+6.0 Sample output
+7.0 Problems
+ 7.1 Error Return Codes
+ 7.2 IPMI Completion Codes
+8.0 Building IPMI Utilities
+ 8.1 Building ipmiutil on Linux
+ 8.2 Building ipmiutil on Windows
+ 8.3 Building ipmiutil on Solaris
+ 8.4 Building ipmiutil on FreeBSD
+ 8.5 Building ipmiutil on ARM (Android)
+9.0 IPMIUtil Library APIs
+10.0 Related Information
+ 9.1 History
+ 9.2 Links
+
+
+
+------------------------
+1.0 OVERVIEW
+------------------------
+
+The IPMI Specification provides a standard way to do both simple and complex
+server management functions. Everything from remote reset/power-off to sending
+an SNMP alert from a sensor event even if the OS is down. Being able to
+perform these tasks in Baseboard Management Controller (BMC) firmware allows
+OS-independent management. What many integrators need, however, is a set of
+utilities and/or sample code to perform these functions within their
+enterprise management subsystem without a learning curve.
+
+The IPMI Management Utilities project provides a series of utilities that
+perform common IPMI server management functions, such as viewing the firmware
+log, or configuring the BMC LAN & PEF features.
+The utilities are designed for end-users, so that they should not require
+intimate knowledge of how to build IPMI commands. Each of the utilities detects or reasonably assigns default values so that a working configuration can be
+easily obtained. More detailed options allow changes to these default values.
+These utilities can be used separately, or merged with a larger server
+management subsystem. The source license is BSD and ipmiutil compiles under
+Linux (Makefile) and Windows (buildwin.cmd). There are also corresponding
+SA Forum HPI standard utilities that run with two different HPI
+implementations, including OpenHPI. These were the basis of the current
+openhpi/clients.
+
+This project includes both IPMI utilities and a kernel patch for
+panic handler enhancements. See the project web site for binaries
+and documentation at http://ipmiutil.sourceforge.net.
+
+The ipmiutil IPMI utilities below allow the user to access the firmware
+System Event Log and configure the Platform Event Filter table for the new
+'OS Critical Stop' records, as well as other common IPMI system management
+functions.
+
+ipmiutil - a meta-command to invoke all of the below as sub-commands
+ievents - a standalone utility to interpret IPMI and PET event data
+isel - show/set the firmware System Event Log records
+isensor - show Sensor Data Records, sensor readings, and thresholds
+ireset - cause the BMC to hard reset or power down the system
+ilan - show and configure the BMC LAN port and Platform Event Filter
+ table to allow BMC LAN alerts from firmware events and
+ OS Critical Stop messages,
+iserial - show and configure the BMC Serial port for various modes,
+ such as Terminal Mode.
+ifru - show the FRU chassis, board, and product inventory data,
+ and optionally write a FRU asset tag.
+ialarms - show and set front panel alarms (LEDs and relays)
+iwdt - show and set watchdog timer parameters
+igetevent - receive any IPMI events and display them
+ihealth - check and report the basic health of the IPMI BMC
+iconfig - list/save/restore the BMC configuration parameters
+icmd - send specific IPMI commands to the BMC,
+ mainly for testing and debug purposes.
+idiscover - discover the available IPMI LAN nodes on a subnet
+isol - start/stop an IPMI Serial-Over-LAN Console session
+ipicmg - show/set the IPMI PICMG parameters
+ifirewall - show/set the IPMI firmware firewall configuration
+iekanalyzer - run FRU-EKeying analyzer on FRU files
+ifwum - OEM firmware update manager extensions
+ihpm - HPM firmware update manager extensions
+isunoem - Sun OEM functions
+idelloem - Dell OEM functions
+itsol - Tyan SOL console start/stop session
+idcmi - get/set DCMI parameters, if supporting the DCMI spec
+
+Other supporting files:
+checksel = cron script using ipmiutil sel to check the SEL, write new
+ events to the OS system log, and clear the SEL if nearly full.
+ipmi_port = daemon to bind the RMCP port and sleep to prevent
+ Linux portmap from stealing the RMCP port
+ipmi_port.sh = init script to reserve the RMCP port from portmap,
+ this also restores saved sensor thresholds, if any.
+ipmiutil_wdt = init script to restart watchdog timer every 60 sec via cron
+ipmiutil_asy = init script runs 'ipmiutil getevt -a' for remote shutdown
+ipmiutil_evt = init script runs 'ipmiutil getevt -s' for monitoring events
+evt.sh = sample script which can be invoked by ipmiutil_evt
+ipmi_if.sh = script using dmidecode to determine the IPMI Interface Type
+bmclanpet.mib = SNMP MIB for BMC LAN Platform Event Traps
+test/* = scripts and utilities used in testing ipmiutil/panicsel
+kern/* = kernel patches for panic handling
+
+The kernel panic handler patch (kern/bmcpanic.patch) adds additional
+features to the Linux Panic Handler so that more information can be
+saved and passed along if a Linux panic condition occurs.
+bmc_panic features:
+
+ 1. Write an OS Critical Stop event to firmware System Event Log (SEL)
+ This is in bmcpanic.patch, in OpenIPMI and in Intel IMB.
+ 2. Send SNMP trap via BMC LAN Alerting mechanism
+ Accomplished by configuring the BMC with 'ipmiutil lan'.
+ 3. Turn on the Critical Alarm LED on the Telco Alarms Panel
+ This is in bmcpanic.patch, but not in OpenIPMI due to
+ platform-specific issues with the alarms panel.
+
+The kernel portion of this, except item 3, is now included in the OpenIPMI
+project with the CONFIG_IPMI_PANIC_EVENT option, and the OpenIPMI
+driver has merged into Linux kernel 2.4.21 and beyond.
+The latest version of the OpenIPMI driver can be obtained from
+http://openipmi.sourceforge.net.
+This patch is also included in the Intel IMB IPMI driver v28 and greater,
+for any Linux kernel. This Intel IMB IPMI driver can be obtained from
+http://downloadcenter.intel.com/Product_Search.aspx?Prod_nm=imbsrc or
+a copy is cached on http://ipmiutil.sf.net also.
+
+
+------------------------
+1.1 FEATURES
+------------------------
+
+These are the key strengths, user features and functions that are
+supported by ipmiutil.
+
+Key Strengths = supports any IPMI server platforms,
+ top-down user-friendly IPMI functions,
+ detection, portability,
+ incorporates fixes and new features quickly
+Target Market = Administrators, Developers, and OEMs
+OS Support = Linux, Windows, Solaris, and FreeBSD
+ (supports Windows natively for remote or local interface)
+License = BSD
+Drivers = For Linux: openipmi, imb, valinux ipmikcs, lan, lanplus,
+ landesk, and driverless direct KCS & SSIF
+ For Windows: Intel IMB and Microsoft IPMI drivers
+ For Solaris: bmc
+ For FreeBSD: openipmi, driverless KCS or SSIF
+LEDs = Show/set ATCA LEDs, set identify LED, Intel Telco Alarm LEDs
+health = show overall health and product information
+discovery = find all IPMI LAN servers on a given subnet
+fru = Display all FRU and SPD inventory data, also
+ Set some FRU product fields (asset tag, serial number)
+sensor = Show SDRs and sensor readings, also set sensor thresholds
+getevent = Receive any IPMI events and decode them,
+ The IPMI event monitoring service is automated in Linux via
+ the ipmiutil_evt init script.
+reset = IPMI local and remote reset/power-control,
+ IPMI boot device selection.
+remote IPMI = Perform an OS shutdown/restart request via IPMI LAN,
+soft-shutdown using ipmiutil getevt -a and invoking ipmiutil reset -o.
+ This async bridge service is automated in Linux via the
+ ipmiutil_asy init script.
+cmd = Execute raw IPMI commands locally or remotely
+lan = Show/set IPMI LAN and PEF configuration parameters,
+ adds more PEF rules, or can add a custom PEF rule
+serial = Show/set IPMI serial configuration parameters
+sel = Show decoded System Event Log records, clear SEL,
+ see the checksel cron script to automate SEL management.
+sol console = Start/stop an SOL console session
+watchdog = Show, set, and reset the IPMI watchdog timer and its actions,
+ The watchdog timer service can be automated in Linux via the
+ ipmiutil_wdt init script.
+save/restore = save and restore all BMC configuration parameters
+ievents = Standalone app to decode IPMI or PET event data,
+ especially useful at the management station for interpreting
+ IPMI PET SNMP traps. See also SNMP PET MIB (bmclanpet.mib).
+picmg = Support IPMI PICMG functions
+firewall = Support IPMI firmware firewall functions
+
+Through various services, ipmiutil allows automatic management of common
+IPMI tasks:
+ipmi_port = Automatically prevent Linux port mapper from stealing
+ the RMCP port 623 used by IPMI LAN firmware.
+checksel = a cron script to daily write new SEL records to syslog, and
+ clear the SEL if nearly full.
+ipmiutil_asy = A Linux init script using the ipmiutil getevt -a service to
+ enable receiving soft-shutdown requests from ipmiutil reset -o
+ipmiutil_wdt = A Linux init script to reset the watchdog timer every 60 sec.
+ipmiutil_evt = A Linux init script using the ipmiutil getevt -s service to
+ monitor IPMI events, log them, and optionally run a script.
+
+
+
+------------------------
+2.0 DEPENDENCIES
+------------------------
+
+The IPMI Utilities will run on Linux, Windows Solaris, or FreeBSD, and should
+be portable to other OSs, if an IPMI driver for that OS can be obtained.
+
+The IPMI Utilities and Panic Handler Enhancements currently work with
+platforms that support the IPMI standard. If the platform does not
+support IPMI, these changes are inert. The Service Availability Forum
+has developed a Hardware Platform Interface (HPI) specification that
+can be used to group IPMI and other system management interfaces
+together. A set of comparable HPI utilities is included in the
+ipmiutil project source as hpiutil/*.
+
+The Panic Handler kernel enhancements (via kern/bmcpanic.patch) are now
+included in the Intel IMB driver v28 and later, and in the OpenIPMI driver
+via the CONFIG_IPMI_PANIC_EVENT and CONFIG_IPMI_PANIC_STRING parameters in
+the kernel config file (/usr/src/linux/.config) with kernels 2.4.21 or greater.
+
+If run locally, the ipmiutil utilities must be run as
+superuser/Administrator and an IPMI driver must be used.
+
+For Linux, these IPMI drivers are supported:
+ . the MontaVista OpenIPMI driver (/dev/ipmi0),
+ . the Intel IMB IPMI driver (/dev/imb, via 'ipmidrvr' or 'ipmi_imb'),
+ . the valinux IPMI Driver (/dev/ipmikcs),
+ . the LANDesk ldipmi daemon,
+ . or direct user-space I/Os to the IPMI KCS or SSIF/SMBus interfaces,
+ if no other driver is detected.
+
+For Windows, these drivers are supported:
+ . the Intel IMB IPMI driver (imbdrv.sys) for any Windows Server OS,
+ . the Microsoft IPMI driver (ipmidrv.sys) for Win2003R2 or Win2008.
+
+For Solaris, these drivers are supported:
+ . the Sun bmc driver (/dev/bmc) for Solaris 10 and greater
+
+For FreeBSD, these drivers are supported:
+ . the FreeBSD 7.x OpenIPMI driver port (kldload ipmi, /dev/ipmi0)
+ . direct user-space I/Os to the IPMI KCS or SSIF/SMBus interfaces
+
+Each of the IPMI management utilities will detect which IPMI driver
+is present, and in Linux, if none are found, it will attempt to use direct
+KCS or SSIF I/Os to communicate with the IPMI BMC.
+
+If using the IPMI LAN interface, neither the local or remote system requires
+any IPMI driver, but the remote target system must have had IPMI LAN enabled,
+(e.g. via ipmiutil lan) which is done locally on the target system.
+Note that the IPMI LAN session password is sent with either MD5 or MD2
+encryption by default.
+
+See http://openipmi.sourceforge.net for the OpenIPMI driver.
+See http://downloadcenter.intel.com/Product_Search.aspx?Prod_nm=imbsrc for Intel IMB driver
+See http://cvs.sf.net/cgi-bin/viewcvs.cgi/ipmitools/ipmitools/kernel/kcs/patches/2.4.x/ for the valinux driver.
+See http://www.landesk.com/ or the CD supplied with your server for LANDesk.
+
+List of companies that have adopted IPMI (over 198):
+ http://www.intel.com/design/servers/ipmi/adopterlist.htm
+
+Example IPMI Server Platforms tested with ipmiutil, by BMC manufacturer:
+ Intel RackMount Servers (various, both 32-bit and 64-bit)
+ Intel ATCA (MPCMM0001 and MPBL00xx)
+ Kontron CRMS servers and KTC5520
+ Dell PowerEdge 18xx, 19xx, 2800
+ SuperMicro with AOC-IPMI20 (by LMC)
+ SuperMicro with AOC-SIMSO (by Peppercon)
+ Sun (product id 0x4701)
+ Tyan (product id 0x14e9)
+ NSC (product id 0x4311, National SemiConductor)
+ NEC (product id 0x024b)
+ Tatung TS-2552 (product id 0x09f8)
+ AMI IPMI MegaRAC
+
+
+------------------------
+2.1 CONFIGURATION
+------------------------
+
+To find the base address of the IPMI KCS interface, or to find the IPMI
+SSIF/SMBus slave address, you can use the 'dmidecode' utility provided
+with most Linux distributions. See also http://www.nongnu.org/dmidecode.
+The ipmi_if.sh script can determine the IPMI Interface Type, and the
+resulting /usr/share/ipmiutil/ipmi_if.txt file can be edited if needed.
+The ipmiutil binary uses the same mechanism to detect the IPMI KCS or
+SSIF interface parameters by default if no driver is loaded.
+
+For some IPMI systems, a minimum firmware version may be needed to
+support the BMC LAN/PEF feature. On an Intel TSRLT2 system, for instance,
+these are the minimum levels:
+ BMC Firmware ver 54 or greater
+Systems with IPMI versions prior to 1.5 do not support BMC LAN or PEF features
+
+By default, the ipmiutil IPMI utilities rpm does not set the panic timeout.
+If a different kernel panic timeout is desired, add the kernel parameter
+"panic=10" in grub.conf/lilo.conf, or do "echo 10 >/proc/sys/kernel/panic"
+in one of the /etc/init.d scripts to set it to 10 seconds, for instance.
+
+The ipmiutil lan (ilan) utility can be used to configure the BMC LAN
+Alerting while the OS is running. It has additional PEF rules and LAN
+parameter detection logic beyond what most other utilities provide.
+
+The ipmiutil serial (iserial) utility is intended to configure the EMP
+serial port on the server for shared access between BMC/IPMI functions
+and BIOS Console Redirection. Some older platforms only support only Basic
+Mode for BMC/IPMI functions. Basic Mode requires a remote client application
+to utilize it (Windows ISC Console/DPC applet, or a special modified Linux
+telnet). There are many platforms which implement Terminal Mode via IPMI v1.5
+Appendix E to make remote management with character commands available
+on the serial port without a special remote client application.
+
+Notes about BMC Users:
+Most IPMI 1.5 systems support at least 3 users, numbered 1,2,3, where
+user 1 is the default and has a null username. Users 2 and 3 are
+alternate users whose usernames can be set. For ipmiutil, these are
+currently implemented by default as follows:
+user 1: used by default for BMC LAN and Serial (ilan & iserial)
+user 2: set for BMC LAN if ipmiutil lan -u is specified
+user 3: set for BMC Serial/EMP if ipmiutil serial -u is specified
+Also note that the -q option can be used to set different users by number.
+
+Note that the checksel script will be copied to /etc/cron.daily when
+the Linux ipmiutil rpm is installed, so that ipmiutil sel will automatically
+save SEL records to syslog and clear the SEL if it gets nearly full.
+If you do not want this to happen automatically, remove the checksel
+script from the /etc/cron.daily directory.
+
+In order for the ipmiutil sel -w function to work cleanly on a Windows system,
+the showselmsg.dll should be copied to %SystemRoot%\system32, and the
+showsel.reg should be run to set up the corresponding EventLog service
+registry values. See install.cmd to perform these functions.
+
+The BSD License in the COPYING file applies to all source files
+herein, except for
+ * util/md5.c (Aladdin unrestricted license, compatible with BSD)
+ * util/md2.h (GPL)
+ * util/ipmi_ioctls.h (GPL)
+While the BSD License allows code reuse in both open and non-open
+applications, the md2.h and ipmi_ioctls.h files would have to be removed
+if used in a non-open application. The default ipmiutil build omits GPL code.
+There is a ALLOW_GPL compile flag for this that is disabled by default, but
+can be enabled for open-source by running "./configure --enable-gpl".
+
+See the INSTALL file for build instructions for various configurations.
+
+
+------------------------
+2.2 REFERENCES
+------------------------
+
+The IPMI 1.5 spec, Table 36-3 defines the sensor types for SEL records,
+as used by ipmiutil sel.
+The IPMI 1.5 spec, Table 15-2 defines the Platform Event Filter table
+entries, as used by ipmiutil lan.
+The IPMI 1.5 spec, Table 19-4 defines the LAN Configuration Parameters,
+as used by ipmiutil lan.
+The IPMI 2.0 spec, Section 15 defines the Serial-Over-LAN functionality.
+
+The enterprises.3183 SNMP traps come from the BMC firmware, and are defined in
+bmclan*.mib files in the ipmiutil project. Details about the format of these
+Platform Event Traps are available in section 12.2 through 12.5 of the ISM
+(Intel Server Management) 5.x Technical Product Specification at
+http://www.intel.com/support/motherboards/server/isc/sb/cs-008024.htm
+
+The enterprises.343 SNMP traps come from ISM or SNMPSA and are defined in
+basebrd*.mib or mapbase*.mib files on the platform CD.
+The enterprises.412 SNMP traps come from ISM/DMTF, defined in dmtf*.mib files
+on the platform CD.
+
+
+------------------------
+3.0 UTILITY MAN PAGES
+------------------------
+
+
+--------------------------------------
+3.1 IPMIUTIL (ipmiutil)
+
+IPMIUTIL(8) IPMIUTIL(8)
+
+NAME
+ ipmiutil - a meta-command to invoke various IPMI functions.
+
+SYNOPSIS
+ ipmiutil <command> [-x -NUPREFJTVY] [other command options]
+
+DESCRIPTION
+ This utility performs various IPMI functions. Each of the individual
+ commands in the ipmiutil project can be invoked via this meta-command.
+ The <command> is one of the following:
+ alarms show/set the front panel alarm LEDs and relays
+ leds show/set the front panel alarm LEDs and relays
+ cmd send a specified raw IPMI command to the BMC
+ config list/save/restore BMC configuration parameters
+ dcmi get/set DCMI parameters
+ discover discover all IPMI servers on this LAN
+ ekanalyzer run FRU-EKeying analyzer on FRU files (deprecated, see fru)
+ events decode IPMI events and display them
+ firewall show/set firmware firewall functions
+ fru show decoded FRU inventory data, write asset tag
+ fwum OEM firmware update manager extensions
+ getevt get IPMI events and display them, event daemon
+ getevent get IPMI events and display them, event daemon
+ health check and show the basic health of the IPMI BMC
+ hpm HPM firmware update manager extensions
+ lan show/set IPMI LAN parameters and PEF table
+ picmg show/set picmg extended functions
+ reset cause the BMC to reset or power down the system
+ sel show/clear firmware System Event Log records
+ sensor show Sensor Data Records, readings, thresholds
+ serial show/set IPMI Serial & Terminal Mode parameters
+ sol start/stop an SOL console session
+ smcoem SuperMicro OEM functions
+ sunoem Sun OEM functions
+ delloem Dell OEM functions
+ tsol Tyan SOL console start/stop session
+ wdt show/set/reset the watchdog timer
+ For help on each command (e.g. ’sel’), enter:
+ ipmiutil sel -?
+ For man pages on each command, its man page is named "i<command>", or
+ refer to SEE ALSO below.
+
+ This utility can use either the /dev/ipmi0 driver from OpenIPMI, the
+ /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+ direct user-space IOs, or the IPMI LAN interface if -N is used.
+
+
+OPTIONS
+ Command options are described in the man page for each command. Below
+ are a few of the common options.
+
+ -x Causes extra debug messages to be displayed.
+
+ -N nodename
+ 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.
+
+ -U rmt_user
+ Remote username for the nodename given. The default is a null
+ username.
+
+ -P/-R rmt_pswd
+ Remote password for the nodename given. The default is a null
+ password.
+
+ -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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+EXAMPLES
+ ipmiutil sel
+ Shows the IPMI System Event Log entries.
+
+ ipmiutil wdt
+ Shows the watchdog timer values.
+
+
+
+SEE ALSO
+ ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifirewall(8)
+ ifru(8) ifruset(8) ifwum(8) igetevent(8) ihealth(8) ihpm(8) ilan(8)
+ ipicmg(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) isunoem(8)
+ iwdt(8) ipmiutil(8) ipmi_port(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.2 IALARMS (ipmiutil alarms)
+
+IALARMS(8) IALARMS(8)
+
+
+
+NAME
+ ipmiutil_alarms - display and set alarm indicators
+
+SYNOPSIS
+ ipmiutil alarms [-abcdimnoprx -N node -U user -P/-R pswd -EFJTVY]
+
+
+DESCRIPTION
+ ipmiutil alarms is a program that uses IPMI commands to display and set
+ alarm indicators, which are usually LEDs on the system chassis front
+ panel. This utility can use either the /dev/ipmi0 driver from
+ OpenIPMI, the /dev/imb driver from Intel, the /dev/ipmikcs driver from
+ valinux, direct user-space IOs, or the IPMI LAN interface if -N. Note
+ that a LAN user must have Administrative privileges to read or write
+ the alarm LEDs.
+
+ Note that this utility may not be the only logic setting alarm states.
+ The BMC firmware, system management software, or cluster fault manager
+ may also want to set alarm states. Intel provides a Telco Alarms Man-
+ ager API which presents a consolidated interface for all alarm manage-
+ ment applications.
+
+
+OPTIONS
+ Command line options are described below.
+
+ -r Read-only. Show the alarms status, but do not set any states.
+ This is also the default mode if no parameters are specified.
+
+ -iN Sets the Chassis Identify feature, which can be an LED or some
+ other alarm. If N=0, turn off the Chassis ID, otherwise turn
+ the ID on for N seconds. N=255 will turn on the ID indefi-
+ nitely, if it is IPMI 2.0.
+
+ -aN Sets Disk A Fault LED. If N=0, turn it off. If N=1, turn it
+ on. Used only for TIGPT1U platform.
+
+ -bN Sets Disk B Fault LED. If N=0, turn it off. If N=1, turn it
+ on. Used only for TIGPT1U platform.
+
+ -dXN Sets Disk X Fault LED, where X=0-6. If N=0, turn it off. If
+ N=1, turn it on. Used only for NSC2U platform.
+
+ -cN Sets the Critical Alarm. If N=0, turn it off. If N=1, turn it
+ on.
+
+ -mN Sets the Major Alarm. If N=0, turn it off. If N=1, turn it on.
+
+ -nN Sets the Minor Alarm. If N=0, turn it off. If N=1, turn it on.
+
+ -pN Sets the Power Alarm. If N=0, turn it off. If N=1, turn it on.
+ Note that the Power LED is also wired to the System Fault LED in
+ the back of the system, so this state may be off for Power, but
+ the LED could be lit for a System Fault reason instead. Refer
+ to the system Technical Product Specification for System Faults.
+
+ -o Sets all alarms off, including the Chassis ID.
+
+ -x Causes extra debug messages to be displayed.
+
+
+ -N nodename
+ 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
+ password.
+
+ -U rmt_user
+ 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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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 this IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5,
+ 4=Straight Password, 5=OEM.
+
+ -V Use this 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.
+ Alternatives for the password are -E or -P.
+
+
+
+SEE ALSO
+ ipmiutil(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifru(8)
+ igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.3 ICMD (ipmiutil cmd)
+
+ICMD(8) ICMD(8)
+
+
+
+NAME
+ ipmiutil_cmd - a tool to send specific IPMI commands via the command
+ line.
+
+
+SYNOPSIS
+ ipmiutil cmd [-qsx -NUPREFJTVY] bus rsSa netFn/lun cmd [data bytes]
+
+
+DESCRIPTION
+ This ipmiutil cmd tool sends specific IPMI commands to the firmware.
+ The commands are composed as hex values on the command line. This tool
+ was written to allow in-band use to match the DOS CMDTOOL.EXE or IPMI-
+ TOOL.EXE program which is distributed with many Intel servers. Certain
+ scripts or pre-written commands may have been supplied for the DOS tool
+ that can now be used while the system is running Linux or Windows.
+
+ This utility can use either the /dev/ipmi0 driver from OpenIPMI, the
+ /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+ direct user-space IOs, or the IPMI LAN interface if -N.
+
+ This tool should only be used if you are familiar with the IPMI 1.5
+ specification, or you have specific pre-written commands to send.
+
+
+
+OPTIONS
+ Command line options are described below.
+
+ -q Quiet mode. Show only minimal header information.
+
+ -s Skips the GetDeviceID command
+
+ -x Causes extra debug messages to be displayed.
+
+ -N nodename
+ 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.
+
+ -U rmt_user
+ Remote username for the nodename given. The default is a null
+ username.
+
+ -P/-R rmt_pswd
+ Remote password for the nodename given. The default is a null
+ password.
+
+ -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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+PARAMETERS
+ The following parameters are used by icmd. Each is represented as a
+ two-digit hex byte. The parameters have no default values.
+
+
+ bus This byte contains the bus number for this command, usually 00.
+
+
+ rsSa This is the resource slave address, usually 0x20 for the BMC.
+
+
+ netFn/lun
+ This byte combines the net Function and Lun. The 2 low-order
+ bits are the Lun and the 6 high-order bits are the net Function.
+ This representation is consistent with the DOS CMDTOOL/IPMITOOL.
+
+
+ cmd This byte contains the IPMI command.
+
+
+ [data bytes]
+ This is a sequence of zero to 16 bytes that represent data bytes
+ specific to this command.
+
+
+EXAMPLES
+ icmd 00 20 18 01
+ Sends the GetDevice ID command to the BMC.
+
+ icmd 00 20 28 43 00 00 ff ff 00 ff
+ Sends a Get SEL entry command for the last entry in the firmware log.
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) iconfig(8) idiscover(8) ievents(8) ifru(8)
+ igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.4 ICONFIG (ipmiutil config)
+
+ICONFIG(8) ICONFIG(8)
+
+
+
+NAME
+ ipmiutil_config - list, save, and restore BMC configuration parameters
+
+SYNOPSIS
+ ipmiutil config [-lpxLNUPREFJTVY] [-r file] [-s file]
+
+
+DESCRIPTION
+ ipmiutil config is a program that uses an IPMI driver to send IPMI com-
+ mands which list, save and restore BMC configuration parameters for
+ LAN, Serial, PEF, SOL, User, Channel. This combines the functionality
+ of ipmiutil lan (ilan) and ipmiutil serial (iserial). Note that some
+ of the LAN parameters cannot be restored remotely over the IPMI LAN,
+ changing the configuration that is in use. This utility can use either
+ the /dev/ipmi0 driver from OpenIPMI, the /dev/imb driver from Intel,
+ the /dev/ipmikcs driver from valinux, direct user-space IOs, or the
+ IPMI LAN interface if -N.
+
+
+OPTIONS
+ Command line options are described below.
+
+
+ -l Lists BMC configuration parameters with a keyword, index, and
+ its hex values. This is the default behavior if no options are
+ specified.
+
+ -r config_file
+ Restores BMC configuration from config_file, which was produced
+ with -s below.
+
+ -s config_file
+ Saves BMC configuration to config_file. This file could be
+ edited, in certain cases, such as to vary the BMC IP address
+ (LanParam 3), or to use the UserPassword records. Note that
+ lines beginning with ’#’ are comments and are ignored. For
+ editing UserPassword records, convert your text value to hex
+ format; for example "echo ’mypassword’ |od -t x1", and leave off
+ the trailing 0a.
+
+ -x Causes extra debug messages to be displayed.
+
+ -p password_to_set
+ This specifies the firmware password to set for BMC LAN access
+ for all users during the restore. If not specified, the pass-
+ word configuration will not be changed, unless a valid UserPass-
+ word record is present in the file to be restored. Note that
+ user passwords are write-only via standard IPMI commands.
+
+ -L lan_ch_num
+ This specifies the IPMI LAN channel number used for BMC LAN.
+ This varies by platform, and can be found in the platform tech-
+ nical specifications. By default, bmcconfig scans all IPMI
+ channels to find a LAN channel for BMC LAN.
+
+
+ -N nodename
+ 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
+ password.
+
+ -U rmt_user
+ 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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) icmd(8) idiscover(8) ievents(8) ifru(8)
+ igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.5 IDISCOVER (ipmiutil discover)
+
+IDISCOVER(8) IDISCOVER(8)
+
+
+
+NAME
+ ipmiutil_discover - discover IPMI LAN-enabled nodes
+
+SYNOPSIS
+ idiscover [-abegisx]
+
+
+DESCRIPTION
+ idiscover is a program that uses IPMI LAN commands to discover any
+ nodes on the LAN that are available, by probing the RMCP port (623.)
+ on those nodes. This utility uses IPMI LAN, so no IPMI drivers are
+ needed. There are three methods that can be used:
+ -a = broadcast RMCP ping method (default)
+ -g = GetChannelAuthCap command method
+ else = specific RMCP ping method
+
+ A beginning IP address can be specified with -b for broadcast and spe-
+ cific methods. An ending IP can be specified for non-broadcast methods.
+
+
+OPTIONS
+ Command line options are described below.
+
+ -a All nodes, use the broadcast ping method. This is the default
+ if no options are specified. This will detect the first enabled
+ ethernet interface, and defaults to the broadcast address
+ x.x.x.255 (where x.x.x.x is IP address) unless -b is used to
+ specify otherwise.
+
+ -b <ip>
+ Beginning IP address, required, unless using broadcast with
+ defaults. This could be a specific IP address, or a broadcast
+ address, ending in 255, if the broadcast method (-a) is used.
+
+ -e <ip>
+ Endign IP address of the range. Not used for broadcast method.
+ If this is not specified, a range of one IP address matching the
+ beginning IP is assumed.
+
+ -g Use the GetChannelAuthenticationCapabilities command method over
+ IPMI LAN instead of the RMCP ping. Not compatible with broad-
+ cast. This may be useful if the vendor BMC does not support
+ RMCP ping for some reason.
+
+ -i eth0
+ The interface name to use when sending the probes. The default
+ is to detect the first enabled ethernet interface (e.g. eth0).
+
+ -m shows MAC address. Uses the broadcast ping method, but uses a
+ raw socket so that the MAC address can be displayed. This
+ detects the first enabled ethernet interface, and defaults to
+ the broadcast address 255.255.255.255 like -a. Using -m with
+ raw sockets requires root privilege.
+
+ -r N Repeat the ping N times to each node. Default is to send 1 ping
+ per node.
+
+ -x Causes extra debug messages to be displayed.
+
+
+
+EXAMPLES
+ idiscover -a -b 192.168.1.255
+ Sends a broadcast RMCP ping to discover IPMI LAN nodes on the specified
+ subnet.
+
+ idiscover -b 192.168.1.100 -e 192.168.1.254
+ Sends RMCP pings to a range of IP addresses.
+
+ idiscover -g -b 192.168.1.100 -e 192.168.1.254
+ Sends GetChannelAuthCap commands to a range of IP addresses.
+
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) iconfig(8) icmd(8) ievents(8) ifru(8)
+ igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.6 IEVENTS (ipmiutil events)
+
+IEVENTS(8) IEVENTS(8)
+
+
+
+NAME
+ ievents - decode IPMI and PET event data
+
+SYNOPSIS
+ ievents [-bfhnprsx] 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10
+
+
+DESCRIPTION
+ ievents is a standalone utility delivered with ipmiutil, used to inter-
+ pret raw hex data from IPMI events or from IPMI PET SNMP trap varbind
+ data. This utility uses the same interpretation logic as is used by
+ "ipmiutil sel" (showsel) and "ipmiutil getevt" (getevents).
+
+ The data bytes in the input are always assumed to be in hex form.
+
+ This could be useful if a utility other than "ipmiutil sel" were used
+ to obtain IPMI SEL records or events and interpretation is needed.
+
+ This would also be needed at an enterprise management station to inter-
+ pret the PET SNMP trap hex data into human-readable form, see option
+ -p.
+
+
+OPTIONS
+ -b bin_file
+ Interpret a file containing raw binary/hex SEL data dumped in
+ binary form, such as that produced by "ipmitool sel writeraw
+ bin_file". Each set of 16 bytes in the file will be interpreted
+ as an IPMI event. (same as -h)
+
+
+ -f sel_file
+ Interpret a file containing raw ascii text SEL data captured
+ with ipmiutil sel -r, or some other similar utility. Each line
+ in the file should be in this form, with no leading spaces:
+ 04 00 02 76 a9 4a 47 20 00 04 10 09 6f 42 0f ff
+ If this option is not specified, the default is to use the 16
+ bytes taken from the command-line arguments. (same as -r)
+
+
+ -h bin_file
+ Interpret a file containing raw binary/hex SEL data dumped in
+ binary form, such as that produced by "ipmitool sel writeraw
+ bin_file". Each set of 16 bytes in the file will be interpreted
+ as an IPMI event. (same as -b)
+
+
+ -n This option generates a New IPMI platform event, using 9 bytes
+ of input. The input bytes are the same as the last 9 bytes of
+ an IPMI event.
+
+
+ -p Decode as PET event bytes, where the input is 34 PET hex data
+ bytes, skipping the first 8 of the 47-byte PET data. The
+ default without -p assumes that the input is a 16-byte IPMI
+ event.
+
+
+ -r sel_file
+ Interpret a file containing raw ascii text SEL data captured
+ with ipmiutil sel -r, or some other similar utility. (same as
+ -f)
+
+
+ -s sensor_file
+ Sensor file with the output of "ipmiutil sensor", used to get
+ the PET sensor_type from the sensor_num. The default is
+ /usr/share/ipmiutil/sensor_out.txt as generated during the
+ ipmiutil package installation. This is only needed with PET
+ interpretation (-p).
+
+
+ -x show eXtra debug messages
+
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ifru(8)
+ igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.7 IFRU (ipmiutil fru)
+
+IFRU(8) IFRU(8)
+
+
+
+NAME
+ ipmiutil_fru - show Field Replacable Unit configuration data
+
+SYNOPSIS
+ ipmiutil fru [-abcdeikmsvx -N node -U user -P/-R pswd -EFJTVY]
+
+
+DESCRIPTION
+ ipmiutil fru is a program that uses IPMI commands to show FRU configu-
+ ration data and optionally write an asset tag string into the FRU data.
+ Setting the asset tag is a function that can be used to uniquely iden-
+ tify the unit, even if the storage devices are removed or changed.
+ This utility can use either the /dev/ipmi0 driver from OpenIPMI, the
+ /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+ direct user-space IOs, or the IPMI LAN interface if -N.
+
+
+OPTIONS
+ Command line options are described below.
+
+ -a asset_string
+ This option specifies an asset tag string to be written to the
+ baseboard FRU Product area. The asset tag length is limited by
+ the existing FRU Product data, but is usually allowed up to 16
+ characters. The default is to not modify this FRU field.
+
+ -b Only show the Baseboard FRU data. The default behavior is to
+ also scan for any SDR FRU data or DIMM SPD data referenced by
+ the SDRs.
+
+ -c Show FRU output in a canonical format, with a default delimiter
+ of '|'.
+
+ -d file
+ Dump binary FRU data to the specified file.
+
+ -e Show Every FRU output in a bladed chassis, including those under
+ child MCs. The default is to show FRUs referred to by just the
+ target MC.
+
+ -i 00 This option specifies a specific FRU ID to show. The input
+ value should be in hex (0b, 1a, etc.), as shown from the sensor
+ SDR output. By default, all FRU IDs that are specified in the
+ FRU locator SDRs are shown.
+
+ -k <setsn | setmfgdate | nextboot>
+ These Kontron OEM functions set FRU data based on existing data
+ stored elsewhere. The setsn option sets the FRU Board and Prod-
+ uct serial number, and the setmfgdate option sets the FRU Board
+ Mfg DateTime. The nextboot option specifies the boot device for
+ the next boot: BIOS, FDD, HDD, CDROM, or network. These options
+ are only supported on Kontron ATCA boards which have this func-
+ tionality.
+
+ -m 002000
+ Show FRU 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.
+
+ -s serial_num
+ This option specifies a serial number string to be written to
+ the baseboard FRU Product area. The serial number can be any
+ string up to 16 characters. The default is to not modify this
+ FRU field.
+
+ -v prod_ver
+ This option specifies a product version number string to be
+ written to the baseboard FRU Product area. The version number
+ can be any string up to 16 characters. The default is to not
+ modify this FRU field.
+
+ -x Causes eXtra debug messages to be displayed.
+
+ -N nodename
+ 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.
+
+ -U rmt_user
+ Remote username for the nodename given. The default is a null
+ username.
+
+ -P/-R rmt_pswd
+ Remote password for the nodename given. The default is a null
+ password.
+
+ -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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8)
+ igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.8 IGETEVENT (ipmiutil getevt)
+
+IGETEVENT(8) IGETEVENT(8)
+
+
+
+NAME
+ ipmiutil_getevt - wait for IPMI events
+
+SYNOPSIS
+ ipmiutil getevt [-abosx -t secs -N node -U user -P/-R pswd -EFJTVY]
+
+
+DESCRIPTION
+ ipmiutil getevt is a program that uses IPMI commands to wait for IPMI
+ events sent from the BMC firmware. These events are also sent to the
+ IPMI System Event Log (SEL). This utility can use either the
+ /dev/ipmi0 driver from OpenIPMI, the /dev/imb driver from Intel, the
+ /dev/ipmikcs driver from valinux, direct user-space IOs, or the IPMI
+ LAN interface if -N.
+
+ Some server management functions want to trigger custom actions or
+ alerts when IPMI hardware-related events occur, but do not want to
+ track all events, just newly occurring events. This utility waits a
+ specified timeout period for any events, and returns interpreted output
+ for each event. It is designed as a scriptable command-line utility,
+ but if the timeout is infinite (-t 0), then this code could be used for
+ a sample service as well.
+
+ There are several methods to do this which are implemented here.
+
+ The SEL method:
+ This method polls the SEL once a second, keeps track of the last SEL
+ event read, and only new events are processed. This ensures that in a
+ series of rapid events, all events are received in order, however, some
+ transition-to-OK events may not be configured to write to the SEL on
+ certain platforms. This method is used if getevent -s is specified.
+ This is the only method supported over IPMI LAN, i.e. with -N.
+
+ The ReadEventMessageBuffer method:
+ This uses an IPMI Message Buffer in the BMC firmware to read each new
+ event. This receives any event, but if two events occur nearly simul-
+ taneously, only the most recent of the two will be returned with this
+ method. An example of simultaneous events might be, if a fan
+ stops/fails, both the non-critical and critical fan threshold events
+ would occur at that time. This is the default method for getevent.
+
+ The OpenIPMI custom method:
+ Different IPMI drivers may have varying behavior. For instance, the
+ OpenIPMI driver uses the IPMI GetMessage commands internally and does
+ not allow client programs to use those commands. It has its own custom
+ mechanism, see getevent_mv(). This method is used if the OpenIPMI
+ driver is detected, and no other method is specified.
+
+ The Async Event method:
+ This only gets certain Asynchronous requests from the BMC to an SMS OS
+ service, like a remote OS shutdown, and get_software_id. This method
+ is disabled by default and only turned on if the getevent -a option is
+ specified. This method is only supported via the Intel IMB and
+ OpenIPMI driver interfaces. There is an init script provided with
+ ipmiutil to automate the task of starting this async event daemon.
+ # chkconfig --add ipmiutil_asy (skip this if no chkconfig)
+ # /etc/init.d/ipmiutil_asy start
+ This listens for IPMI LAN requests for soft-shutdown, and logs the out-
+ put to /var/log/ipmiutil_asy.log
+
+
+OPTIONS
+ Command line options are described below.
+
+
+ -a Use the Async request method, which receives SMS OS requests
+ from the BMC using the IMB or OpenIPMI driver interface. This
+ services remote SMS bridge agent requests, like remote OS shut-
+ down and get software_id.
+
+ -b Run in Background as a daemon. If this option is specified,
+ normal output will be redirected to /var/log/ipmiu-
+ til_getevt.log. The default is to run in foreground.
+
+ -c Show output in a canonical format, with a delimiter of '|'.
+
+ -e N Wait for a specific event sensor type N. The parameter can be
+ in hex (0x23) or decimal (35). The default is 0xFF which means
+ wait for any event.
+
+ -r F Run script file F when an event occurs. The filename can
+ include a full path. The script will be passed the event
+ description as a parameter. A sample evt.sh script is included
+ with the ipmiutil package.
+
+ -o Only run one pass to wait for the first event. Default is to
+ loop for multiple events for the timeout period.
+
+ -s Use the SEL method to get events. This polls the SEL once a
+ second for new events. The last SEL record read is saved in
+ /usr/share/ipmiutil/evt.idx. Otherwise, the default is to use
+ the ReadEventMessageBuffer method to get new events.
+
+ -t N Set the timeout period to N seconds. Default is 120 seconds. A
+ timeout of 0 means an infinite period.
+
+ -x Causes extra debug messages to be displayed.
+
+ -N nodename
+ 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
+ password.
+
+ -U rmt_user
+ 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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8)
+ ifru(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.9 IHEALTH (ipmiutil health)
+
+IHEALTH(8) IHEALTH(8)
+
+
+
+NAME
+ ipmiutil_health- show IPMI health
+
+SYNOPSIS
+ ipmiutil health [-ifhglmnopqsx -N node -U user -P/-R pswd -EFJTVY]
+
+
+DESCRIPTION
+ ipmiutil health is a program that uses IPMI commands to show the health
+ of the BMC. This utility can use either the /dev/ipmi0 driver from
+ OpenIPMI, the /dev/imb driver from Intel, the /dev/ipmikcs driver from
+ valinux, direct user-space IOs, or the IPMI LAN interface if -N.
+
+
+OPTIONS
+ Command line options are described below.
+
+
+ -c Show canonical, delimited output.
+
+ -f Show the FRUSDR version also.
+
+ -g Show the IPMI GUID of this system. The GUID is a read-only
+ unique identifier.
+
+ -h Check the health of the HotSwap Controller also.
+
+ -l Show the IPMI LAN channel statistics also.
+
+ -m 002000
+ Target a specific MC (e.g. bus 00, sa 20, lun 00). This could
+ be used for PICMG or ATCA blade systems. The trailing charac-
+ ter, if present, indicates SMI addressing if ’s’, or IPMB
+ addressing if ’i’ or not present.
+
+ -n string
+ Set the System Name to this string in the IPMI System Informa-
+ tion.
+
+ -o string
+ Set the Primary Operating System to this string in the IPMI Sys-
+ tem Information.
+
+ -p 1 Set the chassis Power restore policy, governing the desired
+ behavior when power was lost and is restored. Values: 0 = stay
+ off, 1 = last state, 2 = always on.
+
+ -q string
+ Set the Secondary Operating System to this string in the IPMI
+ System Information.
+
+ -s Show the IPMI Session information also.
+
+ -x Causes extra debug messages to be displayed.
+
+ -N nodename
+ 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
+ password.
+
+ -U rmt_user
+ 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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8)
+ ifru(8) igetevent(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.10 ILAN (ipmiutil lan)
+
+ILAN(8) ILAN(8)
+
+
+
+NAME
+ ipmiutil_lan - show and configure BMC LAN parameters and set up a PEF
+ entry to send BMC LAN Alerts for OS Critical Stop log events
+
+SYNOPSIS
+ ipmiutil lan [-abcdefghijklmnopq#rstuvwxyzBDQK -i eth1 ]
+ [-I ipadr -M macadr -S subnet -B baud_sol ]
+ [-G gwyip -H gwymac -L lan_channel_num ]
+ [-A alertip -X alertmac -C community ]
+ [-u user_to_set -p password_to_set ]
+ [-N nodename -U username -Fimb ]
+ [-P/-R rmt_node_pswd -EFJTVY ]
+
+
+DESCRIPTION
+ ipmiutil lan shows or sets all of the IPMI LAN Parameters to enable
+ remote LAN sessions or BMC LAN Alerts. The IP address and MAC address
+ of the local system, the default gateway, and the alert destination can
+ be defaulted to those specified in Linux, or can be overridden by user
+ parameters. It also creates a new Platform Event Filter table entry
+ for an OS Critical Stop (0x20) SEL firmware log event, so that it will
+ be enabled to send a BMC LAN Alert. This utility will skip the PEF
+ records if the system does not support IPMI 1.5 or greater. This util-
+ ity can use either the /dev/ipmi0 driver from OpenIPMI, the /dev/imb
+ driver from Intel, the /dev/ipmikcs driver from valinux, direct user-
+ space IOs, or the IPMI LAN interface if -N.
+
+
+OPTIONS
+ Command line options are described below. Note that without options,
+ ipmiutil lan behaves as if option -r were used. To configure IPMI LAN
+ & PEF, use option -e.
+
+
+ -a alertnum
+ Specify which PEF alert number is to be used. Default is 1.
+ This would only be used if extra PEF alert destinations had been
+ set.
+
+ -b authmask
+ Specify a certain authtype mask in hex to use when configuring
+ this channel. The default mask is 0x16, so to include authtype
+ None (bit 0), it would require entering ’-b 17’.
+
+ -c Show Canonical output, which shows only interpreted text and
+ streamlines the parameters shown, using a common delimiter.
+
+ -d This option disables the IPMI LAN and PEF parameters, so as not
+ to allow BMC LAN connections or alerts. This option also sets
+ the IP address to zeros.
+
+ -e This option enables the BMC LAN configuration and PEF event
+ alerts. The utility will attempt to obtain the default BMC LAN
+ parameters from the OS automatically, or they can be specified
+ with command options below.
+
+ -f Set the ARP control parameter to 1 = gratuituous ARPs, 2 = ARP
+ responses, or 3 = both grat ARP and ARP responses. The default
+ is 1.
+
+ -g This specifies the secondary gateway IP address to use for the
+ BMC LAN. The default is to omit this parameter and only use the
+ default gateway. See also -G.
+
+ -h Set the IPMI VLAN ID to this value. Setting to a value >=4096
+ disables the VLAN ID. The default behavior is not to set this
+ parameter.
+
+ -i ethif
+ By default, the eth0 interface is used to find IP and MAC
+ addresses. Sometimes, however, the first ethernet port on the
+ baseboard may be represented by Linux as eth1 or eth2 instead.
+ If so, use this option to indicate the correct ethernet inter-
+ face to use. By default, ipmiutil lan will scan up to 32 eth
+ interfaces for the onboard one that BMC LAN uses.
+
+ -j This sets a custom PEF rule as the last PEF entry. The input is
+ a series of 10 hex bytes, forming the PEF entry. For example,
+ this sample PEF entry would perform a power down action if the
+ Baseboard Temp reached its threshold.
+ "ipmiutil lan -e -j020110ffff013001950a"
+
+ -k This causes ipmiutil lan to also insert two rules to send alerts
+ for transition-to-OK events, including Power Redundancy OK and
+ Temperature OK.
+
+ -l This option enables the BMC LAN configuration, but not PEF
+ events. The utility will attempt to obtain the default BMC LAN
+ parameters from the OS automatically, or they can be specified
+ with command options below.
+
+ -n num By default, the new PEF entry for OS Critical Stop is inserted
+ at offset 12 into the table. This can be changed to insert it
+ at an offset > 12 if another entry already exists at offset 12.
+
+ -o Disable Only SOL. This could be used after the IPMI LAN was
+ configured, to disable Serial-Over-LAN console access but still
+ allow other IPMI LAN access.
+
+ -p password_to_set
+ This specifies the firmware password to set for BMC LAN access.
+ If not specified, the user and password configuration will not
+ be changed.
+
+ -q Specify an alternate user number for the LAN username from the
+ -u option. This is normally user number 2, 3, or 4, where 2 is
+ the default. The maximum number of users is 15. Same as -#
+ below.
+
+ -# Specify an alternate user number for the LAN username from the
+ -u option. Same as -q above.
+
+ -r This option just reads the configuration without writing any BMC
+ LAN parameters or writing any new entries to the PEF table.
+
+ -s This option will also display some of the Serial parameters.
+
+ -t Test if the BMC LAN has already been configured. Returns 0 if
+ so.
+
+ -u username_to_set
+ This specifies the firmware username to set for BMC LAN access.
+ If a username is specified, user 3 will be set. If not speci-
+ fied, the default user 1 will be used.
+
+ -v priv
+ Set a specific access priVilege for this user, where priv can
+ be: 1=Callback, 2=User, 3=Operator, 4=Admin, 5=OEM, 15=NoAccess
+ The default if not specified or specified in error, is to use
+ 4=Admin.
+
+ -w N Set the Gratuitous ARP Interval to N seconds. This has no
+ effect if the firmware does not support Grat-ARP, as shown in
+ Lan Param 10. If not set, the interval remains at the firmware
+ default.
+
+ -x Causes extra debug messages to be displayed.
+
+ -y N Set the OEM LAN Failover parameter to N. Values for N with
+ Intel Romley/S2600 baseboards: 1 = enable, 0 = disable. Val-
+ ues for N with SuperMicro baseboards: 2 = failover, 1 = lan1 , 0
+ = dedicated.
+
+ -z Also show the IPMI LAN Statistics
+
+ -A alert_ip_addr
+ This specifies the SNMP Alert Destination IP address to use for
+ the BMC LAN. By default, this utility will attempt to obtain
+ this from the /etc/snmp/snmpd.conf file, via the trapsink param-
+ eter. The alert destination will see the BMC LAN traps with the
+ enterprises.3183.1.1 OID. If no alert IP address is specified
+ in either snmpd.conf or this parameter, or if that IP address
+ does not respond, the other SNMP parameters for BMC LAN will be
+ skipped.
+
+ -B baud_sol
+ This specifies the Baud rate for SerialOverLan. The possible
+ values are: 9600, 19.2k, 38.4k, 57.6k, and 115.2k. The default
+ is 19.2k.
+
+ -C snmp_community
+ This specifies the SNMP Community name to use for BMC LAN
+ Alerts. The default community string is "public". This parame-
+ ter is ignored if there is no Alert IP address.
+
+ -D This causes the local IP address to be determined by DHCP
+ instead of a static IP address.
+
+ -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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -G gwy_ip_addr
+ This specifies the default gateway IP address to use for the BMC
+ LAN. The default is to automatically obtain this from the Linux
+ route table.
+
+ -H gwy_mac_addr
+ This specifies the default gateway MAC address to use for the
+ BMC LAN. The format can be either 11:22:33:44:55:66 or
+ 11-22-33-44-55-66. The default is to try to automatically
+ obtain this by sending an arp request from an OS LAN eth inter-
+ face: the default one, or as specified by -i.
+
+ -K hostname
+ This specifies the IPMI hostname to set, for Kontron servers
+ only. This enables the firmware to properly map the IP address
+ to a hostname, especially with the web interface. The default
+ is not to set this parameter, and use IP address only.
+
+ -I ip_addr
+ This specifies the local IP address to use for the BMC LAN on
+ eth0. The default is to automatically obtain this from the
+ Linux ifconfig.
+
+ -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.
+
+ -L lan_ch_num
+ This specifies the IPMI LAN channel number used for BMC LAN.
+ This varies by platform, and can be found in the platform tech-
+ nical specifications. For instance, Intel platforms usually use
+ channels 1 & 2 for onboard NICs, and channel 3 for optional RMM
+ NICs. By default, ipmiutil lan scans all IPMI channels to find
+ the first LAN channel for BMC LAN. To just list all IPMI chan-
+ nels to see what is available, use the string ’list’ instead of
+ a LAN channel number. This will list the channels and exit.
+
+ -M mac_addr
+ This specifies the local MAC address to use for the BMC LAN on
+ eth0. The format can be either 11:22:33:44:55:66 or
+ 11-22-33-44-55-66. The default is to automatically obtain this
+ from the Linux ifconfig.
+
+ -N nodename
+ 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 rmt_pswd
+ Remote password for the nodename given. The default is a null
+ password. Same as -R below.
+
+ -Q Set the IPMI VLAN Priority. The default priority is 0.
+
+ -R rmt_pswd
+ Remote password for the nodename given. The default is a null
+ password. Same as -P above.
+
+ -S subnet
+ This specifies the local subnet mask to use for the BMC LAN on
+ eth0. The default is to automatically obtain this from the
+ Linux ifconfig.
+
+ -T Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -U rmt_user
+ Remote username for the nodename given. The default is a null
+ username.
+
+ -V Use a specified IPMI LAN privilege level. 1=Callback level,
+ 2=User level, 3=Operator level, 4=Administrator level (default),
+ 5=OEM level.
+
+ -X alert_mac_addr
+ This specifies the SNMP Alert Destinations’s MAC address to use
+ for the BMC LAN. The format can be either 11:22:33:44:55:66 or
+ 11-22-33-44-55-66. The default is to attempt to obtain this
+ from the Linux arp cache. This parameter is ignored if there is
+ no Alert IP address.
+
+ -Y Yes, do prompt the user for the IPMI LAN remote password.
+ Alternatives for the password are -E or -P.
+
+
+EXAMPLES
+ To read existing settings:
+ ipmiutil lan -r
+
+ To enable IPMI LAN with default settings detected, assuming shared
+ MAC/IP:
+ ipmiutil lan -e
+
+ To set up IPMI LAN for a unique IP address and set PEF SNMP Alerts:
+ ipmiutil lan -e -I 192.168.1.1 -A 192.168.1.10
+
+ To set the IPMI LAN password for the default user:
+ ipmiutil lan -e -p mypassword
+
+ To disable access to the IPMI LAN channel:
+ ipmiutil lan -d
+
+
+SAMPLE PEF TABLE
+ These 11 PEF table entries are configured from the factory for various
+ Intel Sahalee BMC systems, and will be applied as the defaults for a
+ system with an empty PEF table:
+ PEF(01): 01 Temperature Sensor event - enabled for alert
+ 01 c0 01 01 00 ff ff 01 ff 01 95 0a 00 00 00 00 00 00 00 00 00
+ PEF(02): 02 Voltage Sensor event - enabled for alert
+ 02 c0 01 01 00 ff ff 02 ff 01 95 0a 00 00 00 00 00 00 00 00 00
+ PEF(03): 04 Fan Failure event - enabled for alert
+ 03 c0 01 01 00 ff ff 04 ff 01 95 0a 00 00 00 00 00 00 00 00 00
+ PEF(04): 05 Chassis Intrusion event - enabled for alert
+ 04 c0 01 01 00 ff ff 05 05 6f 01 00 00 00 00 00 00 00 00 00 00
+ PEF(05): 08 Power Supply Fault event - enabled for alert
+ 05 c0 01 01 00 ff ff 08 ff 6f 06 00 00 00 00 00 00 00 00 00 00
+ PEF(06): 0c Memory ECC Error event - enabled for alert
+ 06 c0 01 01 00 ff ff 0c 08 6f 02 00 00 00 00 00 00 00 00 00 00
+ PEF(07): 0f FRB Failure event - enabled for alert
+ 07 c0 01 01 00 ff ff 0f 06 6f 01 00 00 00 00 00 00 00 00 00 00
+ PEF(08): 07 BIOS POST Error event - enabled for alert
+ 08 c0 01 01 00 ff ff 07 ff 6f 1c 00 00 00 00 00 00 00 00 00 00
+ PEF(09): 13 Fatal NMI event - enabled for alert
+ 09 c0 01 01 00 ff ff 13 ff 6f 3e 03 00 00 00 00 00 00 00 00 00
+ PEF(10): 23 Watchdog Timer Reset event - enabled for alert
+ 0a c0 01 01 00 ff ff 23 03 6f 0e 00 00 00 00 00 00 00 00 00 00
+ PEF(11): 12 System Restart event - enabled for alert
+ 0b c0 01 01 00 ff ff 12 ff 6f 02 00 00 00 00 00 00 00 00 00 00
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8)
+ ifru(8) igetevent(8) ihealth(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.11 IRESET (ipmiutil reset)
+
+IRESET(8) IRESET(8)
+
+
+
+NAME
+ ipmiutil_reset - perform a hardware reset on the system
+
+SYNOPSIS
+ ipmiutil reset [-bcdDefhijmnoprsuwxy -N node -U user -P/-R pswd
+ -EFJTVY]
+
+
+DESCRIPTION
+ ipmiutil reset is a program that uses IPMI commands to perform a hard-
+ ware reset of the chassis, or boot to a specific device. This utility
+ can use either the /dev/ipmi0 driver from OpenIPMI, the /dev/imb driver
+ from Intel, the /dev/ipmikcs driver from valinux, direct user-space
+ IOs, or the IPMI LAN interface if -N.
+
+
+OPTIONS
+ Command line options are described below.
+
+ -c Power Cycle the system chassis
+
+ -d Power Down the system chassis
+
+ -n Send NMI to the system
+
+ -u Power Up the system chassis
+
+ -r Hard Reset the system chassis
+
+ -D Do a soft shutdown of the OS, and then power down. Note that
+ remote soft shutdown (-D -N) for Intel S5000 baseboard requires
+ ipmiutil getevt -a running on the target server.
+
+ -o Do a soft shutdown of the OS, and then reset. Note that remote
+ soft shutdown (-o -N) for Intel S5000 baseboard requires ipmiu-
+ til getevt -a running on the target server.
+
+ -k Do a cold reset to restart the BMC firmware.
+
+ -m 002000s
+ Perform these function for a specific MC (e.g. bus 00, sa 20,
+ lun 00). The trailing character, if present, indicates SMI
+ addressing if ’s’, or IPMB addressing if ’i’ or not present.
+
+ -b Do a hard reset and reboot to the BIOS Setup menu, for this
+ reboot only.
+
+ -e Do a hard reset to EFI, if IPMI EFI boot is enabled, for this
+ reboot only.
+
+ -f Do a hard reset to Floppy/Removable, for this reboot only.
+
+ -h Do a hard reset to a Hard Disk, for this reboot only.
+
+ -i Set the boot Initiator mailbox string, usually for PXE use. The
+ string must be less than 78 characters.
+
+ -j Set the IANA number used for the boot Initiator mailbox string.
+
+ -p Do a hard reset and network boot to PXE server, for this reboot
+ only.
+
+ -s Do a hard reset and reboot to the Service/Diagnostic Partition,
+ for this reboot only. Reboots to the default if no service par-
+ tition is configured.
+
+ -v Do a hard reset to DVD/CDROM Media, for this reboot only.
+
+ -w Wait for BMC ready after a reset before exiting the utility.
+
+ -x Causes extra debug messages to be displayed.
+
+ -y Yes, try to persist any boot options used [-befhprsv]. This
+ requires the IPMI firmware to ask the BIOS to change boot order
+ settings, so it may not be supported by all BMC firmware ven-
+ dors.
+
+ -N nodename
+ 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
+ password.
+
+ -U rmt_user
+ 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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8)
+ ifru(8) igetevent(8) ihealth(8) ilan(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.12 ISEL (ipmiutil sel)
+
+ISEL(8) ISEL(8)
+
+
+
+NAME
+ ipmiutil_sel - show firmware System Event Log records
+
+SYNOPSIS
+ ipmiutil sel [-abcflswvx -N node -P/-R pswd -U user -EFJTVY]
+
+
+DESCRIPTION
+ ipmiutil sel is a program that uses IPMI commands to to read and dis-
+ play the System Event Log (SEL) which is stored by the BMC firmware.
+ IPMI commands are issued to read each record, and, if specified, incre-
+ mentally write records that have not previously been read into the
+ Linux syslog (/var/log/messages). This utility can use either the
+ /dev/ipmi0 driver from OpenIPMI, the /dev/imb driver from Intel, the
+ /dev/ipmikcs driver from valinux, direct user-space IOs, or the IPMI
+ LAN interface if -N.
+
+
+OPTIONS
+ Command line options are described below.
+
+
+ -a string
+ Add a SEL record with a string of up to 13 characters. Longer
+ strings will be truncated. Note that this should be used spar-
+ ingly, but would be useful for changes made to the hardware or
+ firmware environment, like "Fan replaced" or "flash FW2.1".
+
+
+ -b bin_file
+ Interpret a file containing raw binary/hex SEL data dumped in
+ binary form, such as that produced by "ipmitool sel writeraw
+ bin_file". Each set of 16 bytes in the file will be interpreted
+ as an IPMI event.
+
+
+ -c Show output in a canonical format, with a default delimiter of
+ '|'. (same as -n).
+
+
+ -d Deletes/Clears the SEL of all records. If the SEL becomes full
+ (free space = 0), it no longer accepts new records, so the SEL
+ should be cleared periodically (use checksel cron script).
+
+
+ -e Show Extended sensor descriptions for events if run locally.
+ This option will attempt to get the full sensor description from
+ /var/lib/ipmiutil/sensor_out.txt, and also use its SDR to decode
+ any raw threshold values in the event, if present.
+
+
+ -f sel_file
+ Interpret a file containing raw ascii text SEL data captured
+ with ipmiutil sel -r, or some other similar utility. Each line
+ in the file should be in this form, with no leading spaces:
+ 04 00 02 76 a9 4a 47 20 00 04 10 09 6f 42 0f ff
+ Lines not in this format will be ignored.
+
+
+ -l N Show last N SEL records, in reverse order (newest first). For
+ some BMC implementations, this may not show all N records speci-
+ fied.
+
+ -n Show output in a nominal/canonical format, with a default delim-
+ iter of '|'. (same as -c).
+
+ -r Show the 16 raw hex bytes for each SEL entry. The default is to
+ display interpreted entries, and include relevant hex event
+ bytes.
+
+ -p By default, all SEL records are displayed. This option causes
+ only the Panic events with sensor_type = 0x20 (OS Critical Stop)
+ to be displayed.
+
+ -s N Show only SEL events with severity N or greater. Severity
+ 0=INF, 1=MIN, 2=MAJ, 3=CRT. The default is to show all SEL
+ events.
+
+ -u Show the SEL time as UTC and also get the SEL Time UTC offset if
+ that command is supported. The default is to convert the SEL
+ Time to local time.
+
+ -v Only show the version information. This shows: the ipmiutil
+ sel utility version, the BMC version, the IPMI version, the SEL
+ version, and the amount of free space in the SEL.
+
+ -w This option writes SEL records to the Linux syslog
+ (/var/log/messages) or Windows Application Log. It only writes
+ SEL records that have timestamps newer than the last record
+ written to syslog. It saves the last timestamp in an index file
+ named /usr/share/ipmiutil/sel.idx (.\sel.idx in Windows).
+
+ -x Causes extra debug messages to be displayed.
+
+ -N nodename
+ 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.
+
+ -U rmt_user
+ Remote username for the nodename given. The default is a null
+ username.
+
+ -P/-R rmt_pswd
+ Remote password for the nodename given. The default is a null
+ password.
+
+ -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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8)
+ ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.13 ISENSOR (ipmiutil sensor)
+
+ISENSOR(8) ISENSOR(8)
+
+
+
+NAME
+ ipmiutil_sensor - show Sensor Data Records
+
+SYNOPSIS
+ ipmiutil sensor [-abcdefgmpqrstuvwx -i id -n snum -h tval -l tval
+ -NUPREFJTVY]
+
+
+DESCRIPTION
+ ipmiutil sensor is a program that uses IPMI commands to show and decode
+ Sensor Data Records and current sensor readings for all sensors in the
+ system. This utility can use either the /dev/ipmi0 driver from
+ OpenIPMI, the /dev/imb driver from Intel, the /dev/ipmikcs driver from
+ valinux, direct user-space IOs, or the IPMI LAN interface if -N.
+
+ Note that this utility by default only displays Sensor Data Records
+ reported by from the Baseboard Management Controller. To show sensors
+ for other controllers, see options -b and -m below.
+
+
+OPTIONS
+ Command line options are described below.
+
+ -a snum
+ ReArms the sensor number for events
+
+ -b Shows SDRs for Bladed (PICMG or ATCA) systems by traversing the
+ child MCs (same as -e).
+
+ -c Show sensor list in a simpler/Canonical format without uninter-
+ preted binary values. Only the user-friendly interpreted sensor
+ information is shown. (same as -s).
+
+ -d <file>
+ Dump the SDRs to a specified binary file.
+
+ -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-
+ 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
+ (,) but no spaces.
+
+ -h tval
+ Highest threshold value to set for the specified sensor. This
+ tval can be in decimal, or of the form 0x1a, to match the raw
+ reading value shown by sensor following the " = ". The value
+ passed is set as the non-critical threshold value, with the more
+ critical ones set by the utility as incrementally lower. This
+ simplifies the interface and ensures that the threshold values
+ do not get out of order. This requires specifying the sensor
+ number via -n.
+
+ -i ID Show or set only the sensor Index corresponding to ID, where ID
+ is the hex ID of the SDR as shown in the sensor output under
+ "_ID_". The ID argument can be one hex number (e.g. 0x0e or
+ 0e), or a range of hex numbers (e.g. 0e-1a or 1a,2a or
+ 0x0e-0x2a). This is useful to repeatedly view just a few sensor
+ readings for changes, or to set just one sensor quickly without
+ reading all of the SDRs.
+
+ -l tval
+ Lowest threshold value to set for the specified sensor. This
+ tval can be in decimal, or of the form 0x1a, to match the raw
+ reading value shown by sensor following the " = ". The value
+ passed is set as the non-critical threshold value, with the more
+ critical ones set by the utility as incrementally higher. This
+ simplifies the interface and ensures that the threshold values
+ do not get out of order. This requires specifying the sensor
+ number via -n.
+
+ -m 002000s
+ Show SDRs for a specific MC (e.g. bus 00, sa 20, lun 00). This
+ could be used for PICMG or ATCA blade systems. The trailing
+ character, if present, indicates SMI addressing if ’s’, or IPMB
+ addressing if ’i’ or not present.
+
+ -n snum
+ Number of the sensor to set. This num can be in decimal, or of
+ the form 0x1a, to match the value shown by sensor following the
+ "snum" tag. This is required if setting hi/lo thresholds via
+ -h/-l.
+
+ -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
+ /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-
+ olds.cmd.
+
+ -q Show any thresholds for each sensor in short format with ’:’
+ delimiters, 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-
+ 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
+ applied. These values are validated for ordering. For example:
+ -u 6:5:4:60:65:69 (float) or
+ -u 0x0605043c4145 (raw hex)
+ would mean 0x06=noncrit_lo, 0x05=crit_lo, 0x04=nonrec_lo,
+ 0x3c=noncrit_hi, 0x41=crit_hi, 0x45=nonrec_hi.
+
+ -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
+ 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.
+
+ -N nodename
+ 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
+ password.
+
+ -U rmt_user
+ 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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+EXAMPLES
+ ipmiutil sensor sample output is below.
+ ipmiutil ver 2.21
+ sensor: version 2.21
+ -- BMC version 0.17, IPMI version 2.0
+ _ID_ SDR_Type_xx ET Own Typ S_Num Sens_Description Hex & Interp Read-
+ ing
+ 000b SDR Full 01 01 20 a 01 snum 30 Baseboard Temp = 2e OK 46.00
+ degrees C
+ 000e SDR Full 01 01 20 m 04 snum 50 Fan 1A = 6f OK 7659.00
+ RPM
+ 0042 SDR Comp 02 6f 20 a 21 snum e0 DIMM 1A = 00 c0 04 00
+ Present
+ 004e SDR FRU 11 1b dev: 20 03 80 00 0a 01 Pwr Supply 1 FRU
+ 0050 SDR IPMB 12 1b dev: 20 00 bf 07 01 Basbrd Mgmt Ctlr
+ 0051 SDR OEM c0 09 Intel: 02 02 00 01 70 71
+ 0065 SDR OEM c0 11 Intel: SDR Package 17
+ [...]
+
+ Output Columns:
+ _ID_: This is an SDR ID or index number, in hex. This may vary from
+ chassis to chassis.
+ SDR_Type_xx: This shows the SDR Type and its hex representation. Some
+ SDR types have a custom display. The OEM SDRs only show the OEM vendor
+ by IANA number and then usually the data is listed in hex.
+ ET: For Full or Comp SDRs, this shows the Event Type. For other SDRs,
+ this shows the size of the SDR entry in hex (Sz).
+ Own: This is the hex slave address of the SDR Owner, usually 20 if BMC.
+ a/m: This indicates whether this sensor is either automatically or man-
+ ually rearmed, respectively.
+ Typ: This is the Sensor Type as defined in Table 42-3 of the IPMI 2.0
+ spec. (01 = Temperature, 02 = Voltage, 03 = Current, 04 = Fan, etc.)
+ S_Num: This is the sensor number in hex. This remains consistent
+ across baseboards of the same type. The output can be parsed with the
+ "snum" delimiter to extract this value.
+ Sens_Description: This is the text description of this SDR, which is
+ stored within the SDR on the BMC.
+ Hex & Interp Reading: This is the raw hex value returned by 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)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.14 ISERIAL (ipmiutil serial)
+
+ISERIAL(8) ISERIAL(8)
+
+
+
+NAME
+ ipmiutil_serial - configure a system for Serial/EMP management func-
+ tions, such as Terminal Mode, and optionally share the port with the
+ Serial Console.
+
+SYNOPSIS
+ ipmiutil serial [-bcdeflq#rsvxB -m0 -m1 -n ser_chan -u user -p passwd
+ -NUPREFJTVY]
+
+
+DESCRIPTION
+ ipmiutil serial is a program that uses an IPMI driver to send IPMI com-
+ mands which configure a system to enable EMP/serial Terminal Mode man-
+ agement functions within the firmware, so that an administrator can use
+ command-line character commands via the serial port to power cycle the
+ system and perform other functions, even if the system is not running
+ an OS. This level of access needs to be protected by a username/pass-
+ word login, which can be specified with this utility. This utility can
+ use either the /dev/ipmi0 driver from OpenIPMI, the /dev/imb driver
+ from Intel, the /dev/ipmikcs driver from valinux, direct user-space
+ IOs, or the IPMI LAN interface if -N.
+
+
+OPTIONS
+ Command line options are described below.
+
+ -b Set up and enable the Serial Port EMP parameters for Basic Mode
+ management functions. This does not set a username or password.
+
+ -c Configure and enable the Serial Port EMP parameters for Terminal
+ Mode management functions, shared with BIOS Console Redirection.
+ Setting a new username and password for serial access via -u and
+ -p is recommended for security.
+
+ -d Disable the serial port access for IPMI commands. The serial
+ port is then only available for BIOS console and OS functions.
+ A side-effect of this option is that it sets the default user
+ (1) back to admin access.
+
+ -e Enable EMP Terminal Mode without shared BIOS console. The
+ serial port is then only available for EMP Terminal Mode func-
+ tions.
+
+ -f Specifies the Flow Control for the Serial EMP. 0 means no flow
+ control, and 1 means RTS/CTS flow control (default). This must
+ match the BIOS Serial Console setting.
+
+ -l Show LAN Parameters. This option reads and displays the LAN
+ Parameter configuration also.
+
+ -m0 Switch the Serial Port MUX to Baseboard/BIOS Console operation.
+ Set no other configuration parameters.
+
+ -m1 Switch the Serial Port MUX to Terminal Mode management. Set no
+ other configuration parameters.
+
+ -n ser_chan
+ Sets the IPMI channel number to use for the EMP serial channel
+ (often 4). Note that the IPMI channels for LAN, Serial, etc.
+ are numbered differently on each platform type. The default is
+ to detect the first available IPMI serial channel.
+
+ -# Same as -q below.
+
+ -q Specify an alternate user number for the EMP Username from the
+ -u option. This is normally user number 2, 3, or 4, where 3 is
+ the default. The maximum number of users is 15.
+
+ -r Read Only. This option just reads the Serial Parameter configu-
+ ration without writing any values.
+
+ -s Set up and enable the Serial Port EMP parameters for Shared
+ operation between Basic Mode management functions and Baseboard
+ (BIOS) Remote Console. This option switches the Serial Port MUX
+ to Baseboard Console operation.
+
+ -t Configure and enable the Serial Port EMP parameters for Terminal
+ Mode management functions, shared with BIOS Console Redirection.
+ Same as -c, but easier to remember.
+
+ -u username
+ This specifies a username for the EMP Terminal Mode login. It
+ can be any string, up to 15 characters. If -u is not used, the
+ default user 1 (null) will be assumed. The username, if speci-
+ fied, will be set for user 3, unless option -q is specified.
+
+ -p password
+ This specifies a password for the EMP Terminal Mode login. It
+ can be any string, up to 15 characters. A null password is used
+ if none is specified. This password applies to user 3 if -u is
+ used, to user 1 otherwise.
+
+ -v priv
+ Set a specific access priVilege for this user, where priv can
+ be: 1=Callback, 2=User, 3=Operator, 4=Admin, 5=OEM, 15=NoAccess
+ The default if not specified or specified in error, is to use
+ 4=Admin.
+
+ -x Causes extra debug messages to be displayed.
+
+ -B Set the Baud rate of the serial port to one of the following:
+ 9600, 19,2K, 38.4K, 57.6K, or 115.2K. The default is 19.2K bps.
+
+
+ -N nodename
+ 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
+ password.
+
+ -U rmt_user
+ 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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+EXAMPLES
+ ipmiutil serial -t (or -c)
+ Enables Terminal Mode management functions, shared with BIOS
+ Serial Console redirection. The user can switch between serial
+ console operations and IPMI Terminal Mode commands by typing ESC
+ ’)’ and ESC ’Q’.
+
+
+ ipmiutil serial -s
+ Enables Basic Mode management functions shared with BIOS Serial
+ Console redirection. The user can switch between serial console
+ operations and IPMI Basic Mode management programs on the same
+ serial port.
+
+
+ ipmiutil serial -d
+ Disables the serial port management functions. This would be
+ used if only the BIOS Serial Console were used and no BMC serial
+ management functions.
+
+
+ How to login to a Terminal Mode console:
+ ESC ( (switch to Terminal mode)
+ [SYS PWD -N ] (login for default user, null psw)
+ [SYS PWD -U ROOT -N PASSWORD] (syntax example for user 3)
+ [SYS 000157 ACTIVATE] (activate advanced commands)
+ [SYS HEALTH QUERY]
+ [SYS HELP]
+ [SYS PWD] (logoff)
+ ESC Q (switch to BIOS console)
+ See IPMI 1.5 Spec, Appendix E, and Intel TIGPR2U TPS for more informa-
+ tion.
+
+
+DEPENDENCIES
+ The ipmiutil serial utility is intended to configure the EMP serial
+ port on the server for shared access between BMC/IPMI functions and
+ BIOS Console Redirection. Some platforms only support only Basic Mode
+ for BMC/IPMI functions. Basic Mode requires a remote client applica-
+ tion to utilize it (Windows ISC Console/DPC, or a special modified
+ Linux telnet). There are some platforms which implement Terminal Mode
+ via IPMI v1.5 Appendix E to make remote management with character com-
+ mands available on the serial port without a special remote client
+ application.
+
+ For example, Intel TSRLT2 systems would use "ipmiutil serial -s" for
+ Basic Mode shared functions, but Intel TIGPR2U systems could use
+ "ipmiutil serial -c" to configure Terminal Mode functions. On your
+ system, run "ipmiutil serial -r" to check whether Serial Param(29):
+ "Terminal Mode Config" is supported. If not, configure Basic Mode via
+ "ipmiutil serial -s".
+
+
+
+PLATFORM SERIAL PORT CONFIGURATION EXAMPLES
+ First, enter BIOS Setup for Serial Console Redirection parameters:
+ (these vary by platform)
+ Console Redirection = Serial Port B
+ ACPI Redirection = Disabled
+ Baud Rate = 115.2K
+ Flow Control = CTS/RTS
+ Terminal Type = VT100
+ Legacy Redirection = Enabled
+ Note that the Baud Rate can vary, but it must match in all locations
+ where it is used (BIOS, IPMI, and Linux).
+ For some non-Intel platforms, the serial console would be COM1 instead
+ of COM2, but should be enabled in BIOS.
+ From Linux, run "ipmiutil serial -c" for Terminal Mode shared configu-
+ ration.
+ Or, on older Intel TSRLT2 platforms: From Linux, run "ipmiutil serial
+ -s" for Basic Mode Shared configuration.
+
+
+LINUX CONFIGURATION FOR SERIAL CONSOLE
+ If using lilo, in /etc/lilo.conf, add
+ append="console=ttyS1,19200n8 console=tty0"
+ (and comment out the "message=" line because it includes graphics)
+ Note that the append line can be placed in the global section and
+ removed from each kernel section if there are no other differences.
+
+
+ Or, if using grub, edit /boot/grub/grub.conf as follows:
+ #Omit the splashimage or gfxmenu
+ # splashimage=(hd0,0)/grub/splash.xpm.gz
+ #The serial and terminal lines are not usually needed
+ # serial --unit=1 --speed=19200 --word=8 --parity=no --stop=1
+ # terminal --timeout=10 serial console
+ #Add the console=ttyS* parameter to the kernel line
+ kernel (hd0,0) /vmlinuz root=/dev/sda2 console=ttyS1,19200n8
+
+
+ Add this line to /etc/initab, if ttyS1 is not already there:
+ co:2345:respawn:/sbin/agetty ttyS1 19200 vt100
+
+ Add this line to /etc/securetty, if ttyS1 is not already there:
+ ttyS1
+
+
+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) isensor(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.15 ISOL (ipmiutil sol)
+
+ISOL(8) ISOL(8)
+
+
+
+NAME
+ ipmiutil_sol - an IPMI Serial-Over-LAN Console application
+
+
+SYNOPSIS
+ ipmiutil sol [-acdeilorsvwxz -NUPREFJTVY]
+
+
+DESCRIPTION
+ This utility starts an IPMI Serial-Over-LAN console session. A Serial-
+ over-LAN console allows the client to see and modify functions before
+ the OS boots, such as BIOS setup, grub, etc. This utility uses either
+ the IPMI LAN 1.5 or 2.0 SOL interface. The 1.5 SOL interface is spe-
+ cific to Intel BMCs, while any IPMI 2.0 BMC should support 2.0 SOL.
+ The target system/node must first have these parameters configured
+ before SOL sessions can be started:
+ - [BIOS] serial console redirection parameters,
+ - [IPMI] lan and SOL parameters (see ipmiutil lan or ilan), and
+ - [OS] For Linux, edit grub.conf, inittab, and securetty parameters.
+ Be sure that the baud rate matches in all of the above places. See the
+ ipmiutil UserGuide section 4.8 for details.
+
+
+OPTIONS
+ -a Activate the SOL Console session, and enter console mode. Use
+ the escape sequence (’~.’) to exit the session.
+
+ -c ’^’ Set the escape Character to ’^’, or another ANSI character.
+ This changes the default two-character escape sequence (’~.’) to
+ the specified single escape character, which will end the SOL
+ session.
+
+ -d Deactivate the SOL Console session. Use this if the previous
+ session was aborted abnormally and starting a new session gives
+ an error.
+
+ -e Turn Encryption off in negotiation when activating a session.
+ By default, encryption is on for Serial-Over-LAN console ses-
+ sions.
+
+ -l Use Legacy BIOS mapping for Enter key (CR+LF) instead of just
+ LF. This is needed for BIOS Setup menus and DOS, but causes an
+ extra LF to occur in Linux. So, only use this option if doing
+ BIOS or DOS changes. This should be seldom be needed since now
+ the default is to automatically detect these menus with colored
+ backgrounds and change the mapping.
+
+ -i input_file
+ Use this file as an input script. The input_file will be read
+ after the session is established. This can be used to automate
+ certain tasks. The input_file is read one line at a time. If
+ the input_file does not have an escape character (~) to end the
+ session, then the input is returned to the keyboard when the
+ file ends.
+
+ -o output_file
+ Use a Trace log. The output_file is created and all SOL screen
+ output is written to the file, including VT100 escape sequences.
+ If the output_file exists, the output is appended to it. This
+ can be used to log what the user has done in an SOL session.
+
+ -r Use Raw terminal I/O instead of custom VT100 to ANSI translation
+ (in Windows). Use this option if the server is configured in
+ BIOS and BMC for ANSI and the utility is being invoked from Win-
+ dows.
+
+ -s NNN For a slow link with high latency, this adds a delay of NNN
+ microseconds between sending and receiving SOL packets. The
+ default is 100 microseconds.
+
+ -w (Windows only) Do not use the Windows Console buffer, but use
+ Windows stdio instead. This does not handle cursor positioning
+ correctly in some cases, however.
+
+ -v log_file
+ Causes debug messages to be displayed to the specified debug
+ log_file. The default log_file is isoldbg.log in the current
+ directory.
+
+ -x Causes debug messages to be displayed to the debug log file.
+
+ -z Causes more verbose debug messages to be displayed to the debug
+ log file.
+
+ -N nodename
+ 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.
+
+ -U rmt_user
+ Remote username for the nodename given. The default is a null
+ username.
+
+ -P/-R rmt_pswd
+ Remote password for the nodename given. The default is a null
+ password.
+
+ -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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any supported
+ 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,
+ 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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+EXAMPLES
+ ipmiutil sol -a -N nodename -U username -P password
+ Starts an SOL console session to the nodename. Detect the lan proto-
+ col.
+
+ ipmiutil sol -a -N nodename -U username -P password -Flan2
+ Starts an SOL console session to the nodename. Force lan protocol to
+ 2.0.
+
+
+
+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) isensor(8)
+ iserial(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.16 IWDT (ipmiutil wdt)
+
+IWDT(8) IWDT(8)
+
+
+
+NAME
+ ipmiutil_wdt- display and set WatchDog Timer parameters
+
+SYNOPSIS
+ ipmiutil wdt [-acdelrtx -N node -P/-R pswd -U user -EFJTVY]
+
+
+DESCRIPTION
+ ipmiutil wdt is a program that uses IPMI commands to display and set
+ WatchDog Timer parameters.
+
+ This utility can use either any available IPMI driver, or direct user-
+ space IOs, or the IPMI LAN interface if -N.
+
+ This utility is an example of how to access the IPMI watchdog parame-
+ ters directly, which allows changing the timer configuration.
+
+ There is an init script provided with ipmiutil to automate the task of
+ managing the watchdog timer in user-space.
+ # chkconfig --add ipmiutil_wdt (skip this if no chkconfig)
+ # /etc/init.d/ipmiutil_wdt start
+ This sets the watchdog timer to reset the system if the wdt is not
+ restarted within 90 seconds. It creates an /etc/cron.d/wdt file to
+ restart wdt every 60 seconds. See also ipmiutil UserGuide section 4.4
+ for more information.
+
+
+OPTIONS
+ Command line options are described below.
+
+ -a N Set watchdog event Action to N. Values: 0 = No action, 1 = Hard
+ Reset(default), 2 = Power down, 3 = Power cycle.
+
+ -c Show watchdog output in a canonical format, with a default
+ delimiter of '|'.
+
+ -d Disables the watchdog timer.
+
+ -e Enables the watchdog timer. The timer is not actually started,
+ however, until the timer is reset. The pre-timeout action is
+ not enabled.
+
+ -l Set the watchdog dontLog bit to not log watchdog events in the
+ SEL.
+
+ -p N Set watchdog Pretimeout event action to N. Values: 0 = No
+ action(default), 1 = SMI, 2 = NMI, 3 = Messaging Interrupt. If
+ this is set to an action other than 0, the pretimeout will also
+ be set to 90% of the timeout. However, if the timeout is less
+ than 20 seconds, the pretimeout will not be enabled.
+
+ -q S Set watchdog pretimeout value to S seconds, rather than 90% of
+ the timeout as in -p. The pretimeout value must be >= 5 and at
+ least 5 seconds less than the timeout value.
+
+ -r Resets the watchdog timer. This should be done every N seconds
+ if the timer is running to prevent the watchdog action (usually
+ a system reset) from occurring.
+
+ -tN Set the watchdog Timeout to N seconds. The default is 120 sec-
+ onds (2 minutes).
+
+ -x Causes extra debug messages to be displayed.
+
+ -N nodename
+ 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
+ password.
+
+ -U rmt_user
+ 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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+
+SEE ALSO
+ ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifirewall(8)
+ ifru(8) ifruset(8) ifwum(8) igetevent(8) ihealth(8) ihpm(8) ilan(8)
+ ipicmg(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) isunoem(8)
+ iwdt(8) ipmiutil(8) ipmi_port(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.17 IFRUSET (ifruset)
+
+IFRUSET(8) IFRUSET(8)
+
+
+
+NAME
+ ifruset - show/set Field Replacable Unit configuration data
+
+SYNOPSIS
+ ifruset [-bcimx -unpvsafo -N node -U user -P/-R pswd -EFJTVY]
+
+
+DESCRIPTION
+ ifruset is a program that uses IPMI commands to show FRU configuration
+ data and optionally write any Product area fields into the FRU data.
+ Setting the FRU Product area fields is a function that might be done by
+ a manufacturer or system integrator. This utility can use either the
+ /dev/ipmi0 driver from OpenIPMI, the /dev/imb driver from Intel, the
+ /dev/ipmikcs driver from valinux, direct user-space IOs, or the IPMI
+ LAN interface if -N.
+
+ This program is not built or installed by default. Integrators who
+ wish to use it should build ipmiutil from source, then do ’cd util;
+ make ifruset’.
+
+
+OPTIONS
+ Command line options are described below.
+
+ -u manuf
+ This option specifies a product manufacturer string to be writ-
+ ten to the baseboard FRU Product area field 0. This field can
+ be any string up to 20 characters. The default is to not modify
+ this FRU field.
+
+ -n name
+ This option specifies a product name string to be written to the
+ baseboard FRU Product area field 1. This field can be any
+ string up to 20 characters. The default is to not modify this
+ FRU field.
+
+ -p partnum
+ This option specifies a product part number string to be written
+ to the baseboard FRU Product area field 2. This field can be
+ any string up to 20 characters. The default is to not modify
+ this FRU field.
+
+ -v prod_ver
+ This option specifies a product version number string to be
+ written to the baseboard FRU Product area field 3. The version
+ number can be any string up to 20 characters. The default is to
+ not modify this FRU field.
+
+ -s serial_num
+ This option specifies a serial number string to be written to
+ the baseboard FRU Product area field 4. The serial number can
+ be any string up to 20 characters. The default is to not modify
+ this FRU field.
+
+ -a asset_string
+ This option specifies an asset tag string to be written to the
+ baseboard FRU Product area field 5. The asset tag length is
+ limited by the existing FRU Product data, but is usually allowed
+ up to 20 characters. The default is to not modify this FRU
+ field.
+
+ -f fruid
+ This option specifies a product FRU file ID string to be written
+ to the baseboard FRU Product area field 6. This field can be
+ any string up to 20 characters.
+
+ -o oem This option specifies a product OEM field string to be written
+ to the baseboard FRU Product area field 7. This field can be
+ any string up to 20 characters.
+
+
+ -b Only show the Baseboard FRU data. The default behavior is to
+ also scan for any SDR FRU data or DIMM SPD data referenced by
+ the SDRs.
+
+ -c Show FRU output in a canonical format, with a default delimiter
+ of '|'.
+
+ -i 00 This option specifies a specific FRU ID to show. The input
+ value should be in hex (0b, 1a, etc.), as shown from the sensor
+ SDR output. By default, all FRU IDs that are specified in the
+ FRU locator SDRs are shown.
+
+ -m 002000
+ Show FRU 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.
+
+ -x Causes eXtra debug messages to be displayed.
+
+ -N nodename
+ 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.
+
+ -U rmt_user
+ Remote username for the nodename given. The default is a null
+ username.
+
+ -P/-R rmt_pswd
+ Remote password for the nodename given. The default is a null
+ password.
+
+ -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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8)
+ igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.18 IPMI_PORT (ipmi_port)
+
+IPMI_PORT(8) IPMI_PORT(8)
+
+
+
+NAME
+ ipmi_port - a daemon to bind RMCP port 623 to prevent portmap from
+ using it
+
+
+SYNOPSIS
+ ipmi_port [-bx]
+
+
+DESCRIPTION
+ This ipmi_port service starts and binds port 623, then sleeps forever,
+ so that the portmap service will not try to reuse port 623, which it
+ otherwise might try to do. Since the IPMI firmware snoops the NIC
+ channel and grabs any traffic destined for RMCP port 623, any applica-
+ tion in the OS which tried to use port 623 would fail.
+
+
+OPTIONS
+ Command line options are described below.
+
+ -b Background mode. Convert to a daemon and run in background.
+ Without specifying this option, ipmi_port will run in fore-
+ ground.
+
+ -x Causes eXtra debug messages to be displayed.
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) iconfig(8) idiscover(8) ievents(8) ifru(8)
+ igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.19 IPICMG (ipmiutil picmg)
+
+IPICMG(8) IPICMG(8)
+
+
+
+NAME
+ ipmiutil_picmg - send specific PICMG extended IPMI commands
+
+
+SYNOPSIS
+ ipmiutil picmg [-mixNUPREFJTVY] parameters
+
+
+DESCRIPTION
+ This ipmiutil picmg subcommand sends specific PICMG/ATCA extended IPMI
+ commands to the firmware.
+
+ This utility can use either the /dev/ipmi0 driver from OpenIPMI, the
+ /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+ direct user-space IOs, or the IPMI LAN interface if -N.
+
+
+OPTIONS
+ Command line options are described below.
+
+ -i 00 This option specifies a specific FRU ID to show. The input
+ value should be in hex (0b, 1a, etc.), as shown from the sensor
+ SDR output. The default FRU ID is zero (0).
+
+ -m 002000
+ Show FRU 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.
+
+ -x Causes extra debug messages to be displayed.
+
+ -N nodename
+ 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.
+
+ -U rmt_user
+ Remote username for the nodename given. The default is a null
+ username.
+
+ -P/-R rmt_pswd
+ Remote password for the nodename given. The default is a null
+ password.
+
+ -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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+PARAMETERS
+ picmg parameters
+
+
+ properties
+ Get PICMG properties may be used to obtain and print
+ Extension major version information, PICMG identifier,
+ FRU Device ID and Max FRU Device ID.
+
+
+ addrinfo
+
+ Get address information. This command may return infor-
+ mation on the Hardware address, IPMB-0 Address, FRU ID,
+ Site/Entity ID, and Site/Entity Type.
+
+ frucontrol fru id options
+
+ Set various control options:
+
+ 0x00 - Cold Reset
+
+ 0x01 - Warm Reset
+
+ 0x02 - Graceful Reboot
+
+ 0x03 - Issue Diagnostic Interrupt
+
+ 0x04 - Quiesce [AMC only]
+
+ 0x05-0xFF - Cold Reset
+
+ activate fru id
+
+ Activate the specified FRU.
+
+ deactivate fru id
+
+ Deactivate the specified FRU.
+
+ policy get fru id
+
+ Get FRU activation policy.
+
+ policy set fru id lockmask lock
+
+ Set FRU activation policy. lockmask is 1 or 0 to indi-
+ cate action on the deactivation or activation locked bit
+ respectively. lock is 1 or 0 to set/clear locked bit.
+
+ portstate set|getall|getgranted|getdenied parameters
+
+ Get or set various port states. See usage for parameter
+ details.
+
+
+
+
+EXAMPLES
+ ipmiutil picmg properties
+ Gets PICMG properties from the default target address (slave address
+ 0x20).
+
+ ipmiutil picmg -N 192.168.1.1 -U root -P pswd addrinfo
+ Gets PICMG Address Information from the specified IP address.
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) iconfig(8) idiscover(8) ievents(8) ifru(8)
+ igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.20 IFIREWALL (ipmiutil firewall)
+
+IFIREWALL(8) IFIREWALL(8)
+
+
+
+NAME
+ ipmiutil_firewall - configure the IPMI firmware firewall functions
+
+
+SYNOPSIS
+ ipmiutil firewall [-mxNUPREFJTVY] parameters
+
+
+DESCRIPTION
+ This ipmiutil firewall command supports the IPMI Firmware Firewall
+ capability. It may be used to add or remove security-based restric-
+ tions on certain commands/command sub-functions or to list the current
+ firmware firewall restrictions set on any commands. For each firmware
+ firewall command listed below, parameters may be included to cause the
+ command to be executed with increasing granularity on a specific LUN,
+ for a specific NetFn, for a specific IPMI Command, and finally for a
+ specific command’s sub-function. See Appendix H in the IPMI 2.0 Speci-
+ fication for a listing of any sub-function numbers that may be associ-
+ ated with a particular command.
+
+ This utility can use either the /dev/ipmi0 driver from OpenIPMI, the
+ /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+ direct user-space IOs, or the IPMI LAN interface if -N.
+
+
+OPTIONS
+ Command line options are described below.
+
+ -m 002000
+ Show FRU 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.
+
+ -x Causes extra debug messages to be displayed.
+
+ -N nodename
+ 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.
+
+ -U rmt_user
+ Remote username for the nodename given. The default is a null
+ username.
+
+ -P/-R rmt_pswd
+ Remote password for the nodename given. The default is a null
+ password.
+
+ -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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+PARAMETERS
+ Parameter syntax and dependencies are as follows:
+
+ firewall [channel H] [lun L [ netfn N [command C [subfn S]]]]
+
+ Note that if "netfn N" is specified, then "lun L" must also be speci-
+ fied; if "command C" is specified, then "netfn N" (and therefore "lun
+ L") must also be specified, and so forth.
+
+ "channel H" is an optional and standalone parameter. If not specified,
+ the requested operation will be performed on the current channel. Note
+ that command support may vary from channel to channel.
+
+ Firmware firewall commands:
+
+ info [(Parms as described above)]
+
+ List firmware firewall information for the specified LUN,
+ NetFn, and Command (if supplied) on the current or speci-
+ fied channel. Listed information includes the support,
+ configurable, and enabled bits for the specified command
+ or commands.
+
+ Some usage examples:
+
+ info [channel H] [lun L]
+
+ This command will list firmware firewall informa-
+ tion for all NetFns for the specified LUN on
+ either the current or the specified channel.
+
+ info [channel H] [lun L [ netfn N ]
+
+ This command will print out all command informa-
+ tion for a single LUN/NetFn pair.
+
+ info [channel H] [lun L [ netfn N [command C] ]]
+
+ This prints out detailed, human-readable informa-
+ tion showing the support, configurable, and
+ enabled bits for the specified command on the
+ specified LUN/NetFn pair. Information will be
+ printed about each of the command subfunctions.
+
+ info [channel H] [lun L [ netfn N [command C [subfn S]]]]
+
+ Print out information for a specific sub-func-
+ tion.
+
+ enable [(Parms as described above)]
+
+ This command is used to enable commands for a given
+ NetFn/LUN combination on the specified channel.
+
+ disable [(Parms as described above)] [force]
+
+ This command is used to disable commands for a given
+ NetFn/LUN combination on the specified channel. Great
+ care should be taken if using the "force" option so as
+ not to disable the "Set Command Enables" command.
+
+ reset [(Parms as described above)]
+
+ This command may be used to reset the firmware firewall
+ back to a state where all commands and command sub-func-
+ tions are enabled.
+
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) iconfig(8) idiscover(8) ievents(8) ifru(8)
+ igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.21 IFWUM (ipmiutil fwum)
+
+IFWUM(8) IFWUM(8)
+
+
+
+NAME
+ ipmiutil_fwum - Update IPMC using Kontron OEM Firmware Update Manager
+
+
+SYNOPSIS
+ ipmiutil fwum [-mixNUPREFJTVY] parameters
+
+
+DESCRIPTION
+ This ipmiutil fwum subcommand updates IPMC firmware using Kontron OEM
+ Firmware Update Manager.
+
+ This utility can use either the /dev/ipmi0 driver from OpenIPMI, the
+ /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+ direct user-space IOs, or the IPMI LAN interface if -N.
+
+
+OPTIONS
+ Command line options are described below.
+
+ -i 00 This option specifies a specific FRU ID to show. The input
+ value should be in hex (0b, 1a, etc.), as shown from the sensor
+ SDR output. The default FRU ID is zero (0).
+
+ -m 002000
+ Show FRU 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.
+
+ -x Causes extra debug messages to be displayed.
+
+ -N nodename
+ 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.
+
+ -U rmt_user
+ Remote username for the nodename given. The default is a null
+ username.
+
+ -P/-R rmt_pswd
+ Remote password for the nodename given. The default is a null
+ password.
+
+ -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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+PARAMETERS
+ fwum parameters
+
+
+ info
+ Show information about current firmware.
+
+
+ status
+ Show status of each firmware bank present in the hard-
+ ware.
+
+
+ download filename
+ Download the specified firmware image.
+
+
+ upgrade [filename]
+ Install firmware upgrade. If the filename is specified,
+ the file is downloaded first, otherwise the last firmware
+ downloaded is used.
+
+
+ rollback
+ Ask IPMC to rollback to previous version.
+
+
+ tracelog
+ Show the firmware upgrade log.
+
+
+
+EXAMPLES
+ ipmiutil fwum info
+ Gets Firmware information
+
+ ipmiutil fwum -N 192.168.1.1 -U root -P pswd download firmware.img
+ Downloads the firmware version contained in firmware.img over IPMI LAN.
+
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) iconfig(8) idiscover(8) ievents(8) ifru(8)
+ igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.22 IHPM (ipmiutil hpm)
+
+IHPM(8) IHPM(8)
+
+
+
+NAME
+ ipmiutil_hpm - PICMG HPM.1 Upgrade Agent
+
+
+SYNOPSIS
+ ipmiutil hpm [-mxNUPREFJTVY] parameters
+
+
+DESCRIPTION
+ This ipmiutil hpm subcommand updates HPM components using PICMG HPM.1
+ file
+
+ This utility can use either the /dev/ipmi0 driver from OpenIPMI, the
+ /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+ direct user-space IOs, or the IPMI LAN interface if -N.
+
+
+OPTIONS
+ Command line options are described below.
+
+ -m 002000
+ Target a specific MC (e.g. bus 00, sa 20, lun 00). This could
+ be used for PICMG or ATCA blade systems. The trailing charac-
+ ter, if present, indicates SMI addressing if ’s’, or IPMB
+ addressing if ’i’ or not present.
+
+ -x Causes extra debug messages to be displayed.
+
+ -N nodename
+ 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.
+
+ -U rmt_user
+ Remote username for the nodename given. The default is a null
+ username.
+
+ -P/-R rmt_pswd
+ Remote password for the nodename given. The default is a null
+ password.
+
+ -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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+PARAMETERS
+ hpm parameters
+
+
+ check
+ Check the target information.
+
+
+ check filename
+ Display both the existing target version and image ver-
+ sion on the screen.
+
+
+ download filename
+ Download specified firmware.
+
+
+ upgrade filename [all] [component x] [activate]
+ Upgrade the firmware using a valid HPM.1 image file. If
+ no option is specified, the firmware versions are checked
+ first and the firmware is upgraded only if they are dif-
+ ferent.
+
+
+ all
+ Upgrade all components even if the firmware ver-
+ sions are the same (use this only after using
+ "check" command).
+
+
+ component x
+ Upgrade only given component from the given file.
+ component 0 - BOOT
+ component 1 - RTK
+
+
+ activate
+ Activate new firmware right away.
+
+
+
+ activate
+ Activate the newly uploaded firmware.
+
+
+ targetcap
+ Get the target upgrade capabilities.
+
+
+ compprop id opt
+ Get the specified component properties. Valid component
+ id: 0-7. Opt can be one of following:
+ 0 - General properties
+ 1 - Current firmware version
+ 2 - Description string
+ 3 - Rollback firmware version
+ 4 - Deferred firmware version
+
+
+ abort
+ Abort the on-going firmware upgrade.
+
+
+ upgstatus
+ Show status of the last long duration command.
+
+
+ rollback
+ Perform manual rollback on the IPM Controller firmware.
+
+
+ rollbackstatus
+ Show the rollback status.
+
+
+ selftestresult
+ Query the self test results.
+
+
+
+EXAMPLES
+ ipmiutil hpm targetcap
+ Gets HPM target capabilities
+
+ ipmiutil hpm -N 192.168.1.1 -U root -P pswd download firmware.img
+ Downloads the HPM firmware version contained in firmware.img over IPMI
+ LAN.
+
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) iconfig(8) idiscover(8) ievents(8) ifru(8)
+ igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.23 ISUNOEM (ipmiutil sunoem)
+
+ISUNOEM(8) ISUNOEM(8)
+
+
+
+NAME
+ ipmiutil_sunoem - OEM commands for Sun servers
+
+SYNOPSIS
+ ipmiutil sunoem [-mx -NPRUEFJTVY] commands
+
+
+DESCRIPTION
+ ipmiutil sunoem commands is a program that uses Sun OEM IPMI commands
+ to perform platform-specific functions.
+
+
+OPTIONS
+ -m 002000
+ Show FRU 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.
+
+ -x Causes extra debug messages to be displayed.
+
+ -N nodename
+ 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
+ password.
+
+ -U rmt_user
+ 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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+COMMANDS
+ led
+
+ These commands provide a way to get and set the status of LEDs
+ on a Sun Microsystems server. Use ’sdr list generic’ to get a
+ list of devices that are controllable LEDs. The ledtype parame-
+ ter is optional and not necessary to provide on the command line
+ unless it is required by hardware.
+
+ get sensorid [ledtype]
+
+ Get status of a particular LED described by a Generic
+ Device Locator record in the SDR. A sensorid of all will
+ get the status of all available LEDS.
+
+ set sensorid ledmode [ledtype]
+
+ Set status of a particular LED described by a Generic
+ Device Locator record in the SDR. A sensorid of all will
+ set the status of all available LEDS to the specified
+ ledmode and ledtype.
+
+ LED Mode is required for set operations:
+ OFF Off
+ ON Steady On
+ STANDBY 100ms on 2900ms off blink rate
+ SLOW 1HZ blink rate
+ FAST 4HZ blink rate
+
+ LED Type is optional:
+ OK2RM Ok to Remove
+ SERVICE Service Required
+ ACT Activity
+ LOCATE Locate
+
+
+ fan speed 0-100
+
+ Set system fan speed (PWM duty cycle).
+
+ sshkey
+
+ set userid keyfile
+
+ This command will allow you to specify an SSH key
+ to use for a particular user on the Service Pro-
+ cessor. This key will be used for CLI logins to
+ the SP and not for IPMI sessions. View available
+ users and their userids with the ’user list’ com-
+ mand.
+
+ del userid
+
+ This command will delete the SSH key for a speci-
+ fied userid.
+
+
+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) isensor(8)
+ iserial(8) isol(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.24 IEKANALYZER (ipmiutil ekanalyzer)
+
+IEKANALYZER(8) IEKANALYZER(8)
+
+
+
+NAME
+ ipmiutil_ekanalyzer - run FRU-Ekeying analyzer with FRU files
+
+SYNOPSIS
+ ipmiutil ekanalyzer [-mx -NPRUEFJTVY] commands (deprecated, see ifru
+ instead)
+
+
+DESCRIPTION
+ ipmiutil ekanalyzer is a program that analyzes FRU Ekeying information
+ from files saved from PICMG IPMI systems.
+
+ ekanalyzer command xx=filename1 xx=filename2 [rc=filename3]
+ NOTE: This command can support a maximum of 8 files per command line
+
+
+ filename1
+ binary file that stores FRU data of a Carrier or an AMC module
+
+
+ filename2
+ binary file that stores FRU data of an AMC module. These binary
+ files can be generated from this command:
+ ipmiutil fru -i id -d filename
+
+
+ filename3
+ configuration file used for configuring On-Carrier Device ID or
+ OEM GUID. This file is optional.
+
+
+ xx indicates the type of the file. It can take the following value:
+ oc : On-Carrier device
+ a1 : AMC slot A1
+ a2 : AMC slot A2
+ a3 : AMC slot A3
+ a4 : AMC slot A4
+ b1 : AMC slot B1
+ b2 : AMC slot B2
+ b3 : AMC slot B3
+ b4 : AMC slot B4
+ sm : Shelf Manager
+
+
+
+OPTIONS
+ -m 002000
+ Show FRU 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.
+
+ -x Causes extra debug messages to be displayed.
+
+ -N nodename
+ 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
+ password.
+
+ -U rmt_user
+ 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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+COMMANDS
+The available commands for ekanalyzer are:
+
+
+print [carrier | power | all]
+
+ carrier (default) oc=filename1 oc=filename2 ...
+
+ Display point to point physical connectivity between carriers
+ and AMC modules.
+ Example:
+ # ipmiutil ekanalyzer print carrier oc=fru oc=carrierfru
+ From Carrier file: fru
+ Number of AMC bays supported by Carrier: 2
+ AMC slot B1 topology:
+ Port 0 =====> On Carrier Device ID 0, Port 16
+ Port 1 =====> On Carrier Device ID 0, Port 12
+ Port 2 =====> AMC slot B2, Port 2
+ AMC slot B2 topology:
+ Port 0 =====> On Carrier Device ID 0, Port 3
+ Port 2 =====> AMC slot B1, Port 2
+ *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+ From Carrier file: carrierfru
+ On Carrier Device ID 0 topology:
+ Port 0 =====> AMC slot B1, Port 4
+ Port 1 =====> AMC slot B1, Port 5
+ Port 2 =====> AMC slot B2, Port 6
+ Port 3 =====> AMC slot B2, Port 7
+ AMC slot B1 topology:
+ Port 0 =====> AMC slot B2, Port 0
+ AMC slot B1 topology:
+ Port 1 =====> AMC slot B2, Port 1
+ Number of AMC bays supported by Carrier: 2
+
+
+ power xx=filename1 xx=filename2 ...
+
+ Display power supply information between carrier and AMC
+ modules.
+
+ all xx=filename xx=filename ...
+
+ Display both physical connectivity and power supply of each car-
+ rier and AMC modules.
+
+
+frushow xx=filename
+ Convert a binary FRU file into human readable text format. Use -v
+ option to get more display information.
+
+
+summary [match | unmatch | all]
+
+ match (default) xx=filename xx=filename ...
+ Display only matched results of Ekeying match between an On-Car-
+ rier device and an AMC module or between 2 AMC modules. Example:
+ # ipmiutil ekanalyzer summary match oc=fru b1=amcB1 a2=amcA2
+ On-Carrier Device vs AMC slot B1
+ AMC slot B1 port 0 ==> On-Carrier Device 0 port 16
+ Matching Result
+ - From On-Carrier Device ID 0
+ -Channel ID 11 || Lane 0: enable
+ -Link Type: AMC.2 Ethernet
+ -Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet
+ link
+ -Link Group ID: 0 || Link Asym. Match: exact match
+ - To AMC slot B1
+ -Channel ID 0 || Lane 0: enable
+ -Link Type: AMC.2 Ethernet
+ -Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet
+ link
+ -Link Group ID: 0 || Link Asym. Match: exact match
+ *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+ AMC slot B1 port 1 ==> On-Carrier Device 0 port 12
+ Matching Result
+ - From On-Carrier Device ID 0
+ -Channel ID 6 || Lane 0: enable
+ -Link Type: AMC.2 Ethernet
+ -Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet
+ link
+ -Link Group ID: 0 || Link Asym. Match: exact match
+ - To AMC slot B1
+ -Channel ID 1 || Lane 0: enable
+ -Link Type: AMC.2 Ethernet
+ -Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet
+ link
+ -Link Group ID: 0 || Link Asym. Match: exact match
+ *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+ On-Carrier Device vs AMC slot A2
+ AMC slot A2 port 0 ==> On-Carrier Device 0 port 3
+ Matching Result
+ - From On-Carrier Device ID 0
+ -Channel ID 9 || Lane 0: enable
+ -Link Type: AMC.2 Ethernet
+ -Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet
+ link
+ -Link Group ID: 0 || Link Asym. Match: exact match
+ - To AMC slot A2
+ -Channel ID 0 || Lane 0: enable
+ -Link Type: AMC.2 Ethernet
+ -Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet
+ link
+ -Link Group ID: 0 || Link Asym. Match: exact match
+ *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+ AMC slot B1 vs AMC slot A2
+ AMC slot A2 port 2 ==> AMC slot B1 port 2
+ Matching Result
+ - From AMC slot B1
+ -Channel ID 2 || Lane 0: enable
+ -Link Type: AMC.3 Storage
+ -Link Type extension: Serial Attached SCSI (SAS/SATA)
+ -Link Group ID: 0 || Link Asym. Match: FC or SAS interface
+ {exact match}
+ - To AMC slot A2
+ -Channel ID 2 || Lane 0: enable
+ -Link Type: AMC.3 Storage
+ -Link Type extension: Serial Attached SCSI (SAS/SATA)
+ -Link Group ID: 0 || Link Asym. Match: FC or SAS interface
+ {exact match}
+ *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+
+ unmatch xx=filename xx=filename ...
+
+ Display the unmatched results of Ekeying match between an On-
+ Carrier device and an AMC module or between 2 AMC modules
+
+ all xx=filename xx=filename ...
+
+ Display both matched result and unmatched results of Ekeying
+ match between two cards or two modules.
+
+
+SEE ALSO
+ ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifirewall(8)
+ ifru(8) ifruset(8) ifwum(8) igetevent(8) ihealth(8) ihpm(8) ilan(8)
+ ipicmg(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) isunoem(8)
+ iwdt(8) ipmiutil(8) ipmi_port(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.25 ITSOL (ipmiutil tsol)
+
+ITSOL(8) ITSOL(8)
+
+
+
+NAME
+ ipmiutil_tsol - Tyan IPMIv1.5 Serial-Over-LAN Console application
+
+
+SYNOPSIS
+ ipmiutil tsol [recvip] [port=NUM] [ro|rw] [rows=NUM] [cols=NUM] [alt-
+ term]
+
+
+DESCRIPTION
+ This command allows Serial-over-LAN sessions to be established with
+ Tyan IPMIv1.5 SMDC such as the M3289 or M3290. The default command run
+ with no arguments will establish default SOL session back to local IP
+ address. Optional arguments may be supplied in any order.
+
+
+OPTIONS
+ <recv ipaddr>
+ Send receiver IP address to SMDC which it will use to send
+ serial traffic to. By default this detects the local IP
+ address and establishes two-way session. Format of ipaddr is
+ XX.XX.XX.XX
+
+
+ port Configure UDP port to receive serial traffic on. By default
+ this is 6230.
+
+
+ ro|rw Confiure SOL session as read-only or read-write. Sessions
+ are read-write by default.
+
+
+ rows Set terminal rows [default: rows=24]
+
+
+ cols Set terminal columns [default: cols=80]
+
+
+ altterm
+ Alternate terminal setup [default is off]
+
+
+
+EXAMPLES
+ ipmiutil tsol 192.168.1.1
+ Starts a Tyan SOL console session to the IP address.
+
+
+
+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) isensor(8)
+ iserial(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.26 IDELLOEM (ipmiutil delloem)
+
+IDELLOEM(8) IDELLOEM(8)
+
+
+
+NAME
+ ipmiutil_delloem - OEM commands for Dell servers
+
+SYNOPSIS
+ ipmiutil delloem [-mx -NPRUEFJTVY] commands
+
+
+DESCRIPTION
+ ipmiutil delloem commands is a program that uses Dell OEM IPMI commands
+ to perform platform-specific functions.
+
+
+OPTIONS
+ -m 002000
+ Show FRU 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.
+
+ -x Causes extra debug messages to be displayed.
+
+ -N nodename
+ 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
+ password.
+
+ -U rmt_user
+ 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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+COMMANDS
+ mac list
+ Lists the MAC address of LOMs
+
+
+ mac get <NIC number>
+ Shows the MAC address of specified LOM. 0-7 System LOM, 8-
+ DRAC/iDRAC.
+
+
+ lan set <Mode>
+ Sets the NIC Selection Mode (dedicated, shared,
+ shared with failover lom2, shared with Failover all
+ loms).
+
+
+ lan get
+ Returns the current NIC Selection Mode (dedicated, shared,
+ shared with failover lom2, shared with Failover all loms).
+
+
+ lan get active
+ Returns the current active NIC (dedicated, LOM1, LOM2, LOM3,
+ LOM4).
+
+
+ powermonitor
+ Shows power tracking statistics
+
+
+ powermonitor clear cumulativepower
+ Reset cumulative power reading
+
+
+ powermonitor clear peakpower
+ Reset peak power reading
+
+
+ powermonitor powerconsumption
+ Displays power consumption in <watt|btuphr>
+
+
+ powermonitor powerconsumptionhistory <watt|btuphr>
+ Displays power consumption history
+
+
+ powermonitor getpowerbudget
+ Displays power cap in <watt|btuphr>
+
+
+ powermonitor setpowerbudget <val> <watt|btuphr|percent>
+ Allows user to set the power cap in <watt|BTU/hr|percentage>
+
+
+ powermonitor enablepowercap
+ To enable set power cap
+
+
+ powermonitor disablepowercap
+ To disable set power cap
+
+
+ windbg start
+ Starts the windbg session (Cold Reset & SOL Activation)
+
+
+ windbg end
+ Ends the windbg session (SOL Deactivation)
+
+
+ vFlash info Card
+ Shows Extended SD Card information
+
+
+
+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) isensor(8)
+ iserial(8) isol(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.27 IDCMI (ipmiutil dcmi)
+
+IDCMI(8) IDCMI(8)
+
+
+
+NAME
+ ipmiutil_dcmi - handle DCMI functions
+
+
+SYNOPSIS
+ ipmiutil dcmi [-admsx -NUPREFTVY] <function>
+
+
+DESCRIPTION
+ This ipmiutil dcmi subcommand handles DCMI command functions according
+ to the DCMI specification.
+
+ This utility can use either the /dev/ipmi0 driver from OpenIPMI, the
+ /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+ direct user-space IOs, or the IPMI LAN interface if -N.
+
+
+OPTIONS
+ Command line options are described below.
+
+ -a string
+ Set the DCMI Asset Tag to this string.
+
+ -d string
+ Set the DCMI MC ID to this string.
+
+ -m 002000
+ Target a specific MC (e.g. bus 00, sa 20, lun 00). This could
+ be used for PICMG or ATCA blade systems. The trailing charac-
+ ter, if present, indicates SMI addressing if ’s’, or IPMB
+ addressing if ’i’ or not present.
+
+ -s When getting info, also get the DCMI sensor information.
+
+ -x Causes extra debug messages to be displayed.
+
+ -N nodename
+ 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.
+
+ -U rmt_user
+ Remote username for the nodename given. The default is a null
+ username.
+
+ -P/-R rmt_pswd
+ Remote password for the nodename given. The default is a null
+ password.
+
+ -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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+FUNCTIONS
+ info Get DCMI Capabilities, MC ID, and Asset Tag. This is the default
+ function if no function was specified.
+
+
+ power Get DCMI Power reading and DCMI Power limit, if supported in the
+ DCMI capabilties.
+
+ power set_limit
+ Set Power limit
+
+ power set_action <action>
+ Set Power limit exception action (where action = no_action |
+ power_off | log_sel)
+
+ power set_correction
+ Set Power limit correction time (in ms)
+
+ power set_sample
+ Set Power limit sampling period (in sec)
+
+ power activate
+ Activate Power limit
+
+ power deactivate
+ Deactivate Power limit
+
+
+
+ thermal
+ Get/Set DCMI Thermal parameters. This requires DCMI 1.5 sup-
+ port.
+
+
+ config Get/Set DCMI Configuration parameters. This requires DCMI 1.5
+ support.
+
+
+ help Show the help (usage) message
+
+
+EXAMPLES
+ ipmiutil dcmi info -s
+ Gets DCMI information, plus DCMI sensor information
+
+ ipmiutil dcmi -N 192.168.1.1 -U root -P pswd
+ Gets DCMI information over IPMI LAN.
+
+
+
+SEE ALSO
+ ipmiutil(8) ialarms(8) iconfig(8) idiscover(8) ievents(8) ifru(8)
+ igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8)
+ isol(8) iwdt(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.28 ISMCOEM (ipmiutil smcoem)
+
+ISMCOEM(8) ISMCOEM(8)
+
+
+
+NAME
+ ipmiutil_smcoem - OEM commands for SuperMicro servers
+
+SYNOPSIS
+ ipmiutil smcoem [-mx -NPRUEFJTVY] commands
+
+
+DESCRIPTION
+ ipmiutil smcoem is a function that uses SuperMicro OEM IPMI commands to
+ perform platform-specific functions.
+
+
+OPTIONS
+ -m 002000
+ Show FRU 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.
+
+ -x Causes extra debug messages to be displayed.
+
+ -N nodename
+ 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
+ password.
+
+ -U rmt_user
+ 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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -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,
+ 2=MD5, 4=Straight Password, 5=OEM.
+
+ -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.
+ Alternatives for the password are -E or -P.
+
+
+COMMANDS
+ intrusion
+
+ This command resets any chassis intrusion condition that may
+ have occurred.
+
+
+ bmcstatus [enable|disable]
+ This command gets or sets the BMC service status. Alone, with-
+ out arguments, it gets the BMC status as either enabled or dis-
+ abled. With an argument of either enable or disable, it will
+ also set the BMC status as specified.
+
+
+ firmware
+
+ This command gets the extra firmware version information, if
+ available.
+
+
+
+ lanport [dedicated|lan1|failover]
+ This command gets or sets the IPMI LAN interface port. If set
+ to dedicated, only the dedicated IPMI NIC can be configured for
+ IPMI LAN. If set to lan1, only the first onboard NIC (LAN1) can
+ be configured for IPMI LAN. If set to failover, both the dedi-
+ cated and onboard LAN1 port would be configured for IPMI LAN,
+ with the same IP address.
+
+
+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) isensor(8)
+ iserial(8) isol(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+--------------------------------------
+3.29 ISELTIME (iseltime)
+
+ISELTIME(8) ISELTIME(8)
+
+
+
+NAME
+ iseltime - synchronize BMC SEL time with OS system time
+
+SYNOPSIS
+ seltime [-sx -NUPRETVF]
+
+
+DESCRIPTION
+ seltime is a program that uses IPMI commands to set the BMC SEL time
+ from the OS system time. The OS system time should be in sync with the
+ BIOS Real-Time-Clock. The OS system time may also be kept from drift-
+ ing via an NTP server. Normally the BIOS will set the BMC time from
+ the RTC during boot, but running this command may be necessary periodi-
+ cally if the system does not reboot for many weeks, for instance. Note
+ that this command should not be run too frequently to avoid BMC timing
+ issues. Once per day should be sufficient.
+
+ Run with no options, this command reads the BMC SEL time without set-
+ ting anything.
+
+ This utility can use either the /dev/ipmi0 openipmi driver, the
+ /dev/imb Intel driver, the /dev/ipmikcs valinux driver, a driverless
+ interface, or IPMI LAN.
+
+
+OPTIONS
+ -s Sets the SEL time (no more than once a day).
+
+ -x Causes eXtra debug messages to be displayed.
+
+
+ -N nodename
+ Nodename of the remote target system. If a nodename is speci-
+ fied, IPMI LAN interface is used. Otherwise the local system
+ management interface is used.
+
+ -P/-R password
+ Remote password for the nodename given. The default is a null
+ password.
+
+ -U username
+ 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,
+ gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means
+ lan2 with intelplus. The default is to detect any available
+ driver type and use it.
+
+ -J Use the specified LanPlus cipher suite (0 thru 14):
+ 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.
+
+ -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,
+ 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.
+ Alternatives for the password are -E or -P.
+
+
+
+SEE ALSO
+ ipmiutil(8) isel(8) ievents(8) icmd(8)
+
+
+WARNINGS
+ See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil
+ and any bug fix list.
+
+
+
+--------------------------
+4.0 USE CASES
+--------------------------
+
+----------------------------------------------------------------
+4.1 Usage of IPMI utilities for sensor thresholds
+----------------------------------------------------------------
+
+Get and set the Baseboard Temperature sensor threshold with
+the 'sensor' utility like this:
+# ipmiutil sensor -t
+[...]
+000e SDR Full 01 39 20 sensnum 30 Baseboard Temp = 1d OK 29.00 degrees C
+ hi-crit 65.00 hi-noncr 60.00 lo-noncr 10.00 lo-crit 5.00
+[...]
+Using sensor number 30, index 000e, and the hex raw reading (1d) as a
+baseline from above, we can set the lower threshold above the current
+reading, i.e. 0x1e or 30 C.
+
+# ipmiutil sensor -i 0e -t -n 0x30 -l 30
+sensor: version 1.39
+idx = 0e
+-- BMC version 0.48, IPMI version 1.5
+_ID_ SDR_Type_xx Sz Own Typ S_Num Sens_Description Hex & Interp Reading
+000e SDR Full 01 39 20 sensnum 30 Baseboard Temp = 1d OK 29.00 degrees C
+ hi-crit 65.00 hi-noncr 60.00 lo-noncr 10.00 lo-crit 5.00
+ Setting SDR 000e sensor 30 to lo=1e hi=ff
+GetThreshold[30]: 30 1b 0a 05 00 3c 41 00
+SetThreshold[30]: 30 03 20 1f 1e 00 00 00
+SetSensorThreshold[30] to lo=1e(30.000) hi=ff(0.000), ret = 0
+#
+This sets the lower non-crit to 1e (30 C), and lower crit to 1f (31 C), and
+would cause a sensor threshold event. Note that this utility takes the
+raw threshold value and increments it sequentially for each of the severities.
+Now we should set the lower threshold back to a more normal value of 5 C.
+# ipmiutil sensor -i 0e -t -n 0x30 -l 5
+sensor: version 1.39
+idx = 0e
+-- BMC version 0.48, IPMI version 1.5
+_ID_ SDR_Type_xx Sz Own Typ S_Num Sens_Description Hex & Interp Reading
+000e SDR Full 01 39 20 a 01 snum 30 Baseboard Temp = 1b Crit-lo 27.00 degrees
+C
+ hi-crit 66.00 hi-noncr 60.00 lo-noncr 10.00 lo-crit 5.00
+ Setting SDR 000e sensor 30 to lo=05 hi=ff
+GetThreshold[30]: 30 1b 20 1f 00 3c 42 00
+SetThreshold[30]: 30 03 07 06 05 00 00 00
+SetSensorThreshold[30] to lo=05(5.000) hi=ff(0.000), ret = 0
+#
+The threshold events can be displayed via ipmiutil sel.
+# ipmiutil sel -l4
+4b18 07/17/06 14:33:14 BMC 01 Temperature 30 LoC thresh OK now act=1b thr=06
+4b04 07/17/06 14:33:14 BMC 01 Temperature 30 LoN thresh OK now act=1b thr=07
+4af0 07/17/06 14:26:38 BMC 01 Temperature 30 Lo Crit thresh act=1b thr=1f
+4adc 07/17/06 14:26:38 BMC 01 Temperature 30 Lo Noncrit thresh act=1b thr=20
+#
+
+
+----------------------------------------------------------------
+4.2 How to configure a system for IPMI LAN
+----------------------------------------------------------------
+
+Below is a sample IPMI LAN configuration with IPMI LAN enabled,
+PEF Alerts enabled, and 2 users configured for IPMI LAN.
+
+The key unique LAN parameters that must be configured for basic
+IPMI LAN functionality are: 3,4,5,6,12,13, plus the
+Channel Access Mode and User Access.
+Additional parameters for PEF and SOL are shown below also.
+
+Defaults for required parameters are detected by ipmiutil lan, except
+for the username, password, and the BMC LAN IP if it is not shared.
+The detection uses the OS LAN configuration to find the gateway IP,
+MAC addresses, mask, etc.
+
+# ipmiutil lan -e -u user2 -p password2 [-I 192.168.1.1 ] [-L 3]
+Running "ipmiutil lan -e -u user2 -p password2" would set up all required
+IPMI LAN parameters if the OS and BMC share an IP address. If not,
+the -I parameter should be included to specify the BMC IP.
+You may want to add -G [-H] to specify the gateway IP address [gateway MAC]
+if the OS does not have a NIC on the same subnet.
+To configure an RMM NIC for IPMI LAN, the '-L 3' parameter specifies the
+RMM NIC as IPMI LAN channel 3. Otherwise ipmiutil detects the first
+available IPMI LAN channel and configures it (usually channel 1).
+Note that this also sets up the PEF table for events, but the channel is
+not enabled for PEF events unless an Alert destination is specified,
+either in snmpd.conf or via -A.
+
+Note that the IPMI LAN protocol works only from remote systems.
+The IPMI LAN cannot recognize LAN commands from the local system
+because those requests never really go onto the physical network.
+Use the non-LAN form of a given ipmiutil command (without -N) to run locally.
+
+Below is sample output from a system after being configured for IPMI LAN.
+
+# ipmiutil lan
+ipmiutil ver 2.71
+ilan ver 2.71
+-- BMC version 0.66, IPMI version 2.0
+ilan, GetPefEntry ...
+PEFilter(01): 01 Temperature Sensor event - enabled for alert
+PEFilter(02): 02 Voltage Sensor event - enabled for alert
+PEFilter(03): 04 Fan Failure event - enabled for alert
+PEFilter(04): 05 Chassis Intrusion event - enabled for alert
+PEFilter(05): 08 Power Supply Fault event - enabled for alert
+PEFilter(06): 0c Memory ECC Error event - enabled for alert
+PEFilter(07): 0f BIOS POST Error event - enabled for alert
+PEFilter(08): 07 FRB Failure event - enabled for alert
+PEFilter(09): 13 Fatal NMI event - enabled for alert
+PEFilter(10): 23 Watchdog Timer Reset event - enabled for alert
+PEFilter(11): 12 System Restart event - enabled for alert
+PEFilter(12): 20 OS Critical Stop event - enabled for alert
+PEFilter(13): 09 Power Redundancy Lost event - enabled for alert
+PEFilter(14): 09 Power Unit OK event - enabled for alert
+PEFilter(15): 01 Temperature OK event - enabled for alert
+PEFilter(16): 02 Voltage OK event - enabled for alert
+PEF Control: 01 : PEFenable
+PEF Actions: 2f : Alert PwrDn Reset PwrCyc DiagInt
+PEF Startup Delay: 3c : 60 sec
+PEF Alert Startup Delay: 3c: 60 sec
+PEF Alert Policy[1]: 01 18 11 00 : Chan[1] Dest[1] Enabled
+PEF Alert Policy[2]: 02 00 00 00 : Disabled
+PEF Alert Policy[3]: 03 00 00 00 : Disabled
+PEF Alert Policy[4]: 04 00 00 00 : Disabled
+
+ilan, GetLanEntry for channel 1 ...
+Lan Param(0) Set in progress: 00
+Lan Param(1) Auth type support: 15 : None MD5 Pswd
+Lan Param(2) Auth type enables: 14 14 14 14 00 : MD5 Pswd
+Lan Param(3) IP address: 192 168 1 192
+Lan Param(4) IP addr src: 01 : Static
+Lan Param(5) MAC addr: 00 15 17 8b b4 aa
+Lan Param(6) Subnet mask: 255 255 255 0
+Lan Param(7) IPv4 header: 1e 00 00
+Lan Param(10) BMC grat ARP: 01 : Grat-ARP enabled
+Lan Param(11) grat ARP interval: 04 : 2 sec
+Lan Param(12) Def gateway IP: 192 168 1 200
+Lan Param(13) Def gateway MAC: 00 15 17 8b b4 71
+Lan Param(14) Sec gateway IP: 0 0 0 0
+Lan Param(15) Sec gateway MAC: 00 00 00 00 00 00
+Lan Param(16) Community string: public
+Lan Param(17) Num dest: 04
+Lan Param(18) Dest type: 01 00 01 00 00
+Lan Param(18) Dest type: 02 00 00 00 00
+Lan Param(18) Dest type: 03 00 00 00 00
+Lan Param(18) Dest type: 04 00 00 00 00
+Lan Param(19) Dest address: 01 00 00 [192 168 1 161] 00 07 e9 06 15 31
+Lan Param(19) Dest address: 02 00 00 [0 0 0 0] 00 00 00 00 00 00
+Lan Param(19) Dest address: 03 00 00 [0 0 0 0] 00 00 00 00 00 00
+Lan Param(19) Dest address: 04 00 00 [0 0 0 0] 00 00 00 00 00 00
+Lan Param(192) DHCP Server IP: 0 0 0 0
+Lan Param(193) DHCP MAC Address: 00 00 00 00 00 00
+Lan Param(194) DHCP Enable: 00
+Channel(1=lan) Access Mode: 02 04 : Always Avail, PEF Alerts Enabled
+ilan, GetSOL for channel 1 ...
+SOL Enable: 01 : enabled
+SOL Auth: 82 : User
+SOL Accum Interval: 04 32 : 20 msec
+SOL Retry Interval: 06 14 : 200 msec
+SOL nvol Baud Rate: 0a : 115.2k
+SOL vol Baud Rate: 00 : nobaud
+SOL Payload Support(1): 03 00 15 00 00 00 00 00
+SOL Payload Access(1,1): 02 00 00 00 : enabled
+SOL Payload Access(1,2): 02 00 00 00 : enabled
+SOL Payload Access(1,3): 00 00 00 00 : disabled
+SOL Payload Access(1,4): 00 00 00 00 : disabled
+Users: showing 4 of max 15 users (2 enabled)
+User Access(chan1,user1): 0f 02 01 14 : IPMI, Admin ()
+User Access(chan1,user2): 0f 02 01 14 : IPMI, Admin (root)
+User Access(chan1,user3): 0f 02 01 0f : No access (admin)
+User Access(chan1,user4): 0f 02 01 0f : No access ()
+ipmiutil lan, completed successfully
+
+
+----------------------------------------------------------------
+4.3 Usage of IPMI utilities for Automatic IPMI LAN configuration
+----------------------------------------------------------------
+
+Suppose there are a number of IPMI servers that need to have their
+BMC LAN interface configured. Shell access to the servers
+(via ssh or similar) is assumed.
+
+BMC LAN, Simple case, password is not changed:
+[ssh connection]
+# ipmiutil lan -e
+[ssh exit]
+
+BMC LAN, Complex case, assuming that a password needs to be set and
+that the session text (or script) must encrypt the password.
+So, using the gnupg.org utilities with public/private keys
+would look something like this:
+[ Set up list (or db) of encrypted passwords & key by nodename.
+ Note that the list and keyfile could reside locally, building
+ the ssh script syntax, so that only the encrypted password is
+ exposed remotely. ]
+[ssh connection]
+# gpg --import mykey.file
+# mynode=`uname -n`
+# my_enc_psw=`grep $mynode mylist.file |cut -f2`
+# ipmiutil lan -e -p `gpg --decrypt $my_enc_psw`
+[ssh exit]
+
+----------------------------------------------------------------
+4.4 Usage of IPMI Utilities to Set Watchdog timer
+----------------------------------------------------------------
+
+Watchdog timer coverage over the phases of boot and OS operation:
+ Power-on to end-of-POST = BIOS FRB2
+ end-of-POST to OS Running = BIOS OS Boot Timeout
+ OS User-space operation = SMS Timeout via "ipmiutil wdt"
+Each of these phases uses the same watchdog timer mechanism but initializes
+the timer with different values.
+
+For user-space watchdog control, use "ipmiutil wdt" to read, set, and reset the
+IPMI watchdog timer. There is an init script provided with ipmiutil to
+automate this task.
+# chkconfig --add ipmiutil_wdt (skip this if no chkconfig)
+# /etc/rc.d/init.d/ipmiutil_wdt start
+This sets the watchdog timer to reset the system if the wdt is not
+restarted within 90 seconds. It creates an /etc/cron.d/wdt file to
+restart wdt every 60 seconds.
+This user-space approach is desirable if you wish the watchdog to expire for
+such conditions as out-of-memory or out-of-processes, since the cron job will
+start a short process for each invocation. Note that this also does not require additional services or modules to be running all the time.
+
+Note that the device-independent way to start/stop watchdog timers in
+Linux is to use the /dev/watchdog interface via the OpenIPMI driver.
+
+For kernel-space watchdog management, you could build a custom kernel with
+embedded watchdog support by changing the CONFIG_IPMI_* driver parameters
+to =y in the Linux .config (including CONFIG_IPMI_WATCHDOG) and building the
+kernel. Then edit grub.conf to start the watchdog with the kernel parameter
+"ipmi_watchdog_start_now=1".
+
+
+----------------------------------------------------------------
+4.5 Usage of kernel panic handler code (now CONFIG_IPMI_PANIC_EVENT):
+----------------------------------------------------------------
+
+If a Linux panic occurs, the bmc_panic module will automatically save
+the date/time of the panic, and minimal information about the panic.
+This information will also be sent via SNMP to the remote management console,
+and (if bmcpanic.patch) the Alarms panel LED will be turned on.
+If lkcd is also configured, a full crash-dump of the panic will be saved
+for later analysis.
+After this, the system will automatically reboot.
+This provides instant notification to the administrator, and significantly
+improved post-mortem diagnosis.
+
+Without these features, the administrator may never have any indication that
+the system had crashed, and no way to know how to diagnose and fix the problem.
+
+To enable this, set CONFIG_IPMI_PANIC_EVENT=y and CONFIG_IPMI_PANIC_STRING=y
+in the kernel .config file.
+
+You can also run ipmiutil lan to enable sending an SNMP trap for a kernel
+panic as an "OS Critical Stop" event.
+
+Make sure that the panic timeout is not zero (infinite), by using
+echo "5" > /proc/sys/kernel/panic
+or by adding 'append="panic=5"' to the lilo or grub configuration.
+
+After a panic occurs, you can then use ipmiutil sel to view the firmware
+SEL for that event. It should look something like this:
+# ipmiutil sel
+[...]
+2d04 07/21/04 07:54:22 SMI 20 OS Critical Stop 46 (Fat) 6f [a1 61 74]
+2d18 OEM Event 20 00 Fatal excep
+2d2c OEM Event 20 01 tion
+[...]
+
+
+
+----------------------------------------------------------------
+4.6 Interpreting BMC LAN SNMP Traps from Platform Events.
+----------------------------------------------------------------
+
+There are MIB files provided for BMC LAN SNMP traps with this project.
+They are installed into /usr/share/ipmiutil/bmclan*.mib, and sym-linked
+into /usr/share/snmp/mibs/.
+The Platform Event Traps (enterprises.3183) are defined in bmclanpet.mib.
+The Alert-on-LAN traps (enterprises.3183) are defined in bmclanaol.mib.
+
+Note that Plaform Event Traps also have a 46-byte binary variable bindings
+field included with the trap.
+See Section 12.5 and 12.6 from the Intel ISM 5.x TPS for background.
+
+Actual PET Trap Data from a System Restart Event trap:
+
+snmputil: trap generic=6 specific=1208065
+ from -> 10.243.42.197
+Variable = .iso.org.dod.internet.private.enterprises.3183.1.1.1
+Value = String <0xa4><0x12><0x00><0x5f><0x62><0xa1><0xd5><0x11><0x00><0x80><0x60><0xff><0x94><0x47><0x03><0x00><0x21><0x19><0x0c><0x7f><0x3b><0x12><0xff><0xff><0x20><0x20><0x00><0x01><0x83><0x00><0x00><0x01><0xff><0xff><0x00><0x00><0x00><0x00><0x00><0x19><0x00><0x00><0x01><0x57><0x00><0x0c><0xc1>
+
+Byte Mapping
+Bytes of the trap variable binding data are mapped.
+An extra byte of data is at the end (47).
+
+Byte Data Meaning
+1 0xa4 System GUID (16 bytes)
+2 0x12
+3 0x00
+4 0x5f
+5 0x62
+6 0xa1
+7 0xd5
+8 0x11
+9 0x00
+10 0x80
+11 0x60
+12 0xff
+13 0x94
+14 0x47
+15 0x03
+16 0x00
+17 0x21 Sequence Number/Cookie (2 bytes)
+18 0x19
+19 0x0c Local Timestamp (4 bytes)
+20 0x7f
+21 0x3b
+22 0x12
+23 0xff UTC Offset (2 bytes)
+24 0xff
+25 0x20 Trap Source Type
+26 0x20 Event Source Type
+27 0x00 Event Severity
+28 0x01 Sensor Device
+29 0x83 Sensor Number
+30 0x00 Entity
+31 0x00 Entity Instance
+32 0x01 Event Data (8 bytes max, 3 bytes used)
+33 0xff
+34 0xff
+35 0x00
+36 0x00
+37 0x00
+38 0x00
+39 0x00
+40 0x19 filler byte
+41 0x00 Manufacturer ID (4 bytes, 000157=Intel)
+42 0x00
+43 0x01
+44 0x57
+45 0x00 Product ID (2 bytes)
+46 0x0c
+47 0xc1 extra byte
+
+Also, there is an optional "Extended Platform Event Trap" format defined
+for IPMI which breaks up the 46-byte binary varbind into separate
+varbinds for easier parsing.
+
+See section 4.10 for how to use ipmiutil to perform the configuration and interpretation of IPMI PET traps. For example, the above trap would be interpreted as follows:
+ # events -p 00 80 60 ff 94 47 03 00 21 19 0c 7f 3b 12 ff ff 20 20 00 01 83 00 00 01 ff ff 00 00 00 00 00 19 00 00 01 57 00 0c c1
+events version 2.34
+0019 08/23/04 11:13:06 BMC 12 System Event #83 OEM System Boot 6f [01 ff ff]
+
+
+
+----------------------------------------------------------------
+4.7 Interpreting newer PECI sensors for CPU Thermal Margin
+----------------------------------------------------------------
+
+The newer CPUs do more monitoring internally rather that using absolute
+temperature thresholds from the BMC. The CPU knows best what its
+thresholds should be, and the thresholds may be different for different
+CPUs. So, there are several IPMI sensors that expose the state of the
+CPU temperature via the newer PECI interface.
+
+1) Thermal Margin - A negative value indicating margin to throttling point.
+ Once margin reaches 0, throttling begins
+2) Therm Control % - Reports the percentage of time within a 5.8 second
+ sliding window during which the processor was throttling
+3) VRD Hot - Discrete sensor indicating one of the phases of the processor
+ VRD circuit on the baseboard has exceeded it's limit. This is not
+ indicative of CPU - just the VR circuit on the baseboard.
+
+Therm Margin is the one to watch if you want max performance without
+throttling. If it reaches 0, you will start losing performance to throttling.
+However, the Therm Margin throttling is well in advance of the temperatures
+that would cause a CPU ThermTrip condition and shut off the system.
+
+
+----------------------------------------------------------------
+4.8 How to configure a system for IPMI Serial-Over-LAN Console
+----------------------------------------------------------------
+
+The Serial-Over-LAN (SOL) console configuration requires
+configuring BIOS, BMC/IPMI, and OS parameters.
+Intel S5000 motherboards and prior use Serial Port B (ttyS1) for SOL,
+but Intel S5500 and most other vendors use Serial Port A (ttyS0).
+
+Enter BIOS Setup for Serial Console Redirection parameters:
+(these vary by platform)
+ Console Redirection = Serial Port A
+ ACPI Redirection = Disabled
+ Baud Rate = 19.2K (or 115.2k)
+ Flow Control = CTS/RTS
+ Terminal Type = VT100
+ Legacy Redirection = Enabled or Disabled (optional, for DOS)
+Note that the Baud Rate can vary, but it must match in all
+locations where it is used (BIOS, IPMI, and Linux).
+Some vendors may have OS utilities to change BIOS parameters, for instance,
+Intel BIOS would use 'syscfg /bcs COM1 19200 CTS VT100' to do this.
+
+Run this sample command for IPMI LAN & SOL configuration:
+ ipmiutil lan -e -u user2 -p password2 [-B 115.2k] [-I 192.168.1.1]
+Use the -I portion if your BMC does not share a MAC address
+with the OS. If not specified, the baud rate defaults to either
+19.2k or the baud previously set with "ipmiutil serial", if set.
+If there is more than one IPMI LAN channel, the alternate channel
+can be configured by adding "-L 3" for channel 3.
+
+---- FOR LINUX SERIAL CONSOLE -----
+Edit /boot/grub/grub.conf to:
+ add "console=ttyS0,19200n8" on the end of the kernel line,
+ then comment out the "splashimage=" line
+ and optionally add these lines for grub menu display
+ serial --unit=0 --speed=19200 --word=8 --parity=no --stop=1
+ (use --unit=1 if ttyS1)
+ terminal --timeout=10 serial console
+ (Adding these two lines sometimes does not timeout and continue
+ without user interaction using some grub-0.9x versions.)
+
+If using /etc/inittab, edit it to add:
+ co:2345:respawn:/sbin/agetty -h -L 19200 ttyS0 vt100
+If using Ubuntu, RHEL6, or Fedora 11, the /etc/inittab has been replaced by
+Upstart, with a different procedure.
+
+If using Upstart (Ubuntu, RHEL6), adding the console=ttyS0,19200n8 in grub
+will auto-start everything. Editing the serial init for getty is not
+required. However, if you want to use hardware flow control, change the
+/etc/init/serial.conf last line to:
+ exec /sbin/agetty -h -L $SPEED /dev/$DEV vt100-nav
+
+Edit /etc/securetty to add:
+ ttyS0
+
+Edit $HOME/.bashrc or /etc/bashrc to add:
+ stty crtscts
+Adding "stty crtscts" in your bashrc turns on RTS/CTS flow control
+once you are logged in. Otherwise operations with lots of output may
+miss some chunks of data. Some Linux distributions do not turn this
+on by default.
+
+---- FOR WINDOWS SERIAL CONSOLE -----
+To configure Windows for Serial (System Admin Console),
+these BOOTCFG.EXE commands manipulate the BOOT.INI for SAC:
+BOOTCFG /EMS ON /PORT BIOSSET /ID 1 (Enables SAC)
+BOOTCFG /EMS OFF /ID 1 (Disables SAC)
+
+
+---- FOR FREEBSD SERIAL CONSOLE -----
+Open the file /etc/ttys with an editor and set up a line like this:
+ ttyu0 "/usr/libexec/getty std.19200" vt100 on secure
+For more details, see
+http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/serialconsole-setup.html
+
+
+----------------------------------------------------------------
+4.9 Using ipmiutil Library APIs for custom programs
+----------------------------------------------------------------
+
+The various driver modules and LAN interfaces are included in
+libipmiutil.a which is built by "cd util; make libipmiutil.a".
+The library is named ipmiutil.lib in Windows.
+
+The library is built by default along with the ipmi_sample application
+to show how to use this library. Note that ipmi_sample is linked
+with libcrypto.so (option -lcrypto) in order to support the lanplus
+interface. Only the SOL console function requires lanplus, all other
+functions can use the lan interface, since the IPMI 2.0 firmware is
+required to support both lan and lanplus. If the custom program does
+not require the lanplus interface, it can be reconfigured without
+lanplus by first running './configure --enable-standalone'.
+
+This library provides a common interface to use IPMI commands.
+See section 9.0 for more information about the common library APIs.
+See util/ipmi_sample.c for an example of how these APIs can be used.
+
+
+----------------------------------------------------------------
+4.10 How to configure a system for SNMP Traps via IPMI PEF rules
+----------------------------------------------------------------
+
+The IPMI Platform Event Filter (PEF) actions support sending
+SNMP v1 traps from the IPMI firmware when IPMI events occur,
+regardless of the state of the OS.
+
+1) Configure the server to send IPMI PET traps.
+These can be configured using ipmiutil on the target server
+with ipmiutil. This command will enable the PEF rules
+for SNMP traps.
+ # ipmiutil lan -e -I <bmc_ip> -A <alert_ip> [-k] [-a num]
+The -k option enables PEF rules for the "OK" or clearing traps
+for certain IPMI events.
+Note that several SNMP alert destinations can be specified
+by using the -a num option, where num=1,2,3,4 (1 is the default).
+
+This enables the following PEF rules:
+ PEFilter(01): 01 Temperature Sensor event - enabled for alert
+ PEFilter(02): 02 Voltage Sensor event - enabled for alert
+ PEFilter(03): 04 Fan Failure event - enabled for alert
+ PEFilter(04): 05 Chassis Intrusion event - enabled for alert
+ PEFilter(05): 08 Power Supply Fault event - enabled for alert
+ PEFilter(06): 0c Memory ECC Error event - enabled for alert
+ PEFilter(07): 0f BIOS POST Error event - enabled for alert
+ PEFilter(08): 07 FRB Failure event - enabled for alert
+ PEFilter(09): 13 Fatal NMI event - enabled for alert
+ PEFilter(10): 23 Watchdog Timer Reset event - enabled for alert
+ PEFilter(11): 12 System Restart event - enabled for alert
+ PEFilter(12): 20 OS Critical Stop event - enabled for alert
+ PEFilter(13): 09 Power Redundancy Lost event - enabled for alert
+ PEFilter(14): 09 Power Unit OK event - enabled for alert
+ PEFilter(15): 01 Temperature OK event - enabled for alert
+ PEFilter(16): 02 Voltage OK event - enabled for alert
+Note that Fan failure events do not have a clearing trap because
+a fan failure would usually require removing system power to
+physically replace the fan.
+
+The IPMI Platform Event Traps (PET) can then be tested with these steps:
+
+2) On the trap receiver, start the SNMP services.
+ For Linux, this would be:
+ Optionally edit /etc/snmp/snmpd.conf for a broader view, e.g.:
+ view systemview included .1
+ /etc/init.d/snmpd start
+ /etc/init.d/snmptrapd start
+
+3) On the server under test, cause an event by:
+ a) removing and reinserting a power supply, or
+ b) setting the temperature thresholds out of range:
+ ipmiutil sensor -n 20 -t -h 15
+ (sets the Baseboard Temp high threshold to 15 degrees C)
+ then setting the temperature thresholds back to normal:
+ ipmiutil sensor -n 20 -t -h 61
+ (sets the Baseboard Temp high threshold to 61 degrees C)
+ c) you can see the IPMI events generated by doing:
+ ipmiutil sel
+
+The IPMI PET traps (enterprises.3183) are defined in
+/usr/share/ipmiutil/bmclanpet.mib, and the alert destination system
+(trap receiver) can interpret them with the ipmiutil events utility
+as follows:
+
+4) Get the sensor output from a server of the same type.
+Copy /usr/share/ipmiutil/sensor_out.txt to the system where the
+traps are received. This would not be required if the trap receiver
+and server are both the same type.
+
+5) Get the hex data bytes from the IPMI PET trap.
+This sample was taken from /var/log/messages on a Linux system with snmptrapd:
+Sep 26 11:22:17 chapin1 snmptrapd[19859]: 2008-09-26 11:22:17 ac1-tigw1u-bmc [10.243.42.235] (via 10.243.42.235) TRAP, SNMP v1, community public SNMPv2-SMI::enterprises.3183.1.1 Enterprise Specific Trap (65792) Uptime: 141 days, 11:37:06.13 SNMPv2-SMI::enterprises.3183.1.1.1 = Hex-STRING: B1 D8 4F 76 1D E2 11 DC B3 E8 00 0E 0C C7 1B A0 11 08 14 31 D3 D4 FF FF 20 20 10 20 30 53 44 50 2B 30 00 00 00 00 00 19 00 00 01 57 08 11 C1
+
+6) Skip the first 8 hex bytes from the hex data above and pass the data to
+the ipmiutil events application.
+ # sfil=/usr/share/ipmiutil/sensor_out.txt
+ # ipmiutil events -p -s $sfil B3 E8 00 0E 0C C7 1B A0 11 08 14 31 D3 D4 FF FF 20 20 10 20 30 53 44 50 2B 30 00 00 00 00 00 19 00 00 01 57 08 11 C1
+events version 2.34
+000b SDR Full 01 01 20 a 01 snum 30 Baseboard Temp
+0008 09/26/08 04:50:12 BMC 01 Temperature #30 Lo Noncrit thresh act=2b thr=30
+
+This output should match the output from 'ipmiutil sel' on the server.
+
+See also section 4.6 for the format of the IPMI PET data.
+
+
+
+----------------------------------
+5.0 IPMI UTILITIES ON WINDOWS
+----------------------------------
+
+Sample file contents of the ipmiutil win32/64 zip archive:
+ README.txt - Information about the archive, with install instructions
+ LICENSE.txt - the BSD license
+ UserGuide.txt - the ipmiutil User Guide
+ ChangeLog.txt - change history
+ install.cmd - INSTALL ipmiutil
+ uninstall.cmd - UNINSTALL ipmiutil
+ ipmiutil.exe - meta-command for all of the functions
+ ipmiutil_wdt.cmd - automatically resets the watchdog timer
+ checksel.cmd - automatically checks the SEL for nearly full
+ ialarms.cmd - shortcut for ipmiutil alarms
+ icmd.cmd - shortcut for ipmiutil cmd
+ iconfig.cmd - shortcut for ipmiutil config
+ idiscover.cmd - shortcut for ipmiutil discover
+ ievents.exe - shortcut for ipmiutil events
+ ifru.cmd - shortcut for ipmiutil fru
+ igetevent.cmd - shortcut for ipmiutil getevent
+ ihealth.cmd - shortcut for ipmiutil health
+ ilan.cmd - shortcut for ipmiutil lan
+ isensor.cmd - shortcut for ipmiutil sensor
+ iserial.cmd - shortcut for ipmiutil serial
+ isel.cmd - shortcut for ipmiutil sel
+ isol.cmd - shortcut for ipmiutil sol
+ ireset.cmd - shortcut for ipmiutil reset
+ iwdt.cmd - shortcut for ipmiutil wdt
+ showsel.reg - to add showsel DLL to registry
+ showselun.reg - to remove showsel DLL from registry
+ showselmsg.dll - DLL for System Log IPMI messages
+ libeay32.dll - from openssl crypto
+ ssleay32.dll - from openssl crypto
+ buildsamp.cmd - to build the sample programs
+ ipmiutil.dll - use this with the static library
+ ipmiutil.lib - static library with ipmiutil functions
+ ipmiutillib.dll - Use this for dynamic DLL
+ ipmiutillib.lib - link this into samples to use dynamic DLL
+ ipmiutillib.exp - exported list of ipmiutil functions
+ ipmi_sample.exe - sample application
+ ipmi_sample_evt.exe - sample application with eventing
+
+The install and build instructions are below, all other information
+in the UserGuide.txt is the same for Windows and Linux.
+
+
+----------------------------------
+5.1 WINDOWS INSTALL INSTRUCTIONS
+----------------------------------
+
+If installing from an MSI file, just double-click to run the install wizard.
+
+If installing from the ZIP file, just run install.cmd.
+
+Otherwise, these are the manual steps to perform.
+
+The showselmsg.dll needs to be copied into the %SystemRoot%\System32
+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
+for the lanplus logic, if they are not already present.
+
+Note that for Windows Vista/7 workstation and later, make sure to
+'Run as administrator' when installing. Windows Server should not
+require this step.
+
+The utilities can be run separately, or an ipmiutil directory can be
+added into the %PATH%.
+
+A sample install batch file:
+> set MYBIN=c:\bin
+> copy libeay32.dll %SystemRoot%\system32
+> copy ssleay32.dll %SystemRoot%\system32
+> copy showselmsg.dll %SystemRoot%\system32
+> start showsel.reg
+> mkdir %MYBIN%
+> copy *.exe %MYBIN%
+
+The usage of ipmiutil in Windows is the same as in Linux OS, with the
+exception of drivers:
+ * The Intel IPMI driver supported is the Intel IMB driver (imbdrv.sys),
+ which can be obtained from the Intel Resource CD for your system,
+ from the ISM CD, or from http://www.intel.com by searching downloads
+ for IMB driver.
+ http://downloadfinder.intel.com/scripts-df-external/Product_Search.aspx?Prod_nm=imb+driver
+ or cached at http://ipmiutil.sf.net/kern/imbdrv130.zip
+ * The Microsoft IPMI driver (ipmidrv.sys), which comes with Windows 2003 R2
+ and later, is also supported.
+
+It should be noted that the two IPMI drivers should not be installed at the
+same time, since they will interfere with each other.
+So, for some systems or applications, you may need to uninstall the Microsoft
+IPMI driver, like this:
+ * start Control Panel/System app
+ * go to Hardware tab, start Device Manager
+ * select View/Show Hidden Devices
+ * go to "System Devices",
+ * right-click "Microsoft Generic IPMI Compliant Device"
+ * select Properties
+ * on driver tab, click "Uninstall"
+ * then reboot.
+
+How to install Intel IPMI driver from the cached copy at http://ipmiutil.sf.net/kern/imbdrv130.zip
+ Extract imbdrv130.zip to c:\temp or similar
+> cd c:\temp
+> cd x86_64 (or 'cd ia32' if 32-bit Windows)
+> install.bat (DeviceSetup.exe install imbdrv.inf *IMBDRV)
+> driverquery (shows the drivers currently installed/running)
+
+How to install the Windows Intel IPMI driver (imbdrv.sys from the Intel CD):
+> cd c:\temp
+> copy d:\ism\software\win32\pi\common\imb*.*
+> copy d:\ism\software\win32\pi\common\win2k*.exe
+> ren imbdrv2k.sys imbdrv.sys
+> copy imbapi.dll %SystemRoot%\system32
+> win2kinstall c:\temp\imbdrv.inf *IMBDRV
+> driverquery (shows the drivers currently installed/running)
+
+Note that when using 32-bit binaries on 64-bit Windows Server installations,
+make sure that the Microsoft VC++ Redistributable package is installed
+(vcredist_x86.exe).
+See http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en
+to download this if needed.
+
+
+
+----------------------------------
+5.2 WINDOWS BUILD INSTRUCTIONS
+----------------------------------
+
+The ipmiutil Windows binaries for each release are pre-built and posted
+at http://ipmiutil.sourceforge.net, but here is how to build the ipmiutil
+EXEs for Windows from source.
+Note that the WIN32 compile flag is used.
+The ipmiutil buildwin.cmd shows how to compile and link the lib and exe
+files, although many people prefer instead to do builds with the
+Microsoft VisualStudio project GUI.
+
+5.2.1 Install Visual Studio
+The build environment assumes that VisualStudio 6.0 VC98 or
+later is installed.
+
+5.2.2 Download contrib files
+Before running buildwin.cmd, first download the contributed
+files for Windows (includes getopt.c and openssl).
+A copy of these files is available from
+ http://ipmiutil.sf.net/FILES/ipmiutil-contrib.zip
+The above zip contains all of the contributed source used.
+Refer to getopt.c from one of these
+ BSD getopt.c:
+ http://www.openmash.org/lxr/source/src/getopt.c?c=gsm
+ public domain getopt.c:
+ http://www.koders.com/c/fid034963469B932D9D87F91C86680EB08DB4DE9AA3.aspx
+ GNU LGPL getopt.c:
+ http://svn.xiph.org/trunk/ogg-tools/oggsplit/
+Refer to openssl from this link (Apache-style license, not gpl)
+ http://www.openssl.org/source/openssl-0.9.7l.tar.gz.
+
+5.2.3 Copy initial contrib files into ipmiutil
+Below are sample directories where ipmiutil*.tar.gz was unpacked,
+and where the openssl*.tar.gz was unpacked.
+> set ipmiutil_dir=c:\dev\ipmiutil
+> set openssl_dir=c:\dev\openssl
+
+First, copy the getopt.c & getopt.h into the util directory.
+From the directory where ipmiutil-contrib.zip was unpacked,
+> copy getopt.* %ipmiutil_dir%\util
+The iphlpapi.lib comes from Visual Studio (2003 .Net), Win2003 DDK, or WinSDK.
+> copy iphlpapi.lib %ipmiutil_dir%\lib
+> copy iphlpapi.h %ipmiutil_dir%\util
+
+5.2.4 Build the openssl libraries
+To build from original source you would then want to build a copy of openssl
+for Windows, and copy the built openssl files to lib & inc.
+Follow the openssl build instructions from INSTALL.W32 for VC++ to build
+these binaries.
+
+5.2.5 Copy the resulting LIB and DLL binaries to ipmiutil
+> copy %openssl_dir%\out32dll\libeay32.lib %ipmiutil_dir%\lib
+> copy %openssl_dir%\out32dll\ssleay32.lib %ipmiutil_dir%\lib
+> copy %openssl_dir%\out32dll\libeay32.dll %ipmiutil_dir%\util
+> copy %openssl_dir%\out32dll\ssleay32.dll %ipmiutil_dir%\util
+> mkdir %ipmiutil_dir%\lib\lanplus\openssl
+> copy %openssl_dir%\include\openssl\*.h %ipmiutil_dir%\lib\lanplus\openssl
+
+5.2.6 Set the Visual Studio variables with vcvars*.bat
+For your installation of Microsoft Visual Studio, it has batch files to
+set the Visual C variables. Run the appropriate architecture version of
+these batch files to set the VC variables.
+
+Example:
+C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat
+or
+C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat
+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.
+
+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.
+
+----------------------------------
+5.3 WINDOWS COMMAND USAGE
+----------------------------------
+
+Because of the differences in Linux getopt and the getopt used in
+the Windows build, the order of parameters is more important in Windows.
+
+For example in Linux, the following command usages work, but not in Windows:
+ # ipmiutil cmd 00 20 18 01 -N 192.168.1.154
+ # ipmiutil cmd 00 20 -N 192.168.1.154 18 01
+
+The Windows equivalent would have to put the -N option immediately after
+the subfunction, as shown below:
+ > ipmiutil cmd -N 192.168.1.154 00 20 18 01
+
+
+--------------------------
+6.0 SAMPLE OUTPUT
+--------------------------
+Below is sample ipmiutil output from an Intel TIGW1U server.
+
+# ipmiutil alarms
+ipmiutil ver 2.13
+alarms ver 2.13
+-- BMC version 0.19, IPMI version 2.0
+Alarm LEDs: critical = off major = off minor = off power = off
+Alarm Relays: major = off minor = off
+disk slot 0 LED: off
+disk slot 1 LED: off
+disk slot 2 LED: off
+disk slot 3 LED: off
+disk slot 4 LED: off
+disk slot 5 LED: off
+alarms, completed successfully
+
+# ipmiutil cmd 00 20 18 01
+ipmiutil ver 2.21
+icmd ver 2.21
+This is a test tool to compose IPMI commands.
+Do not use without knowledge of the IPMI specification.
+-- BMC version 0.19, IPMI version 2.0
+respData[len=15]: 20 01 00 19 02 9f 57 01 00 11 08 00 48 00 16
+send_icmd ret = 0
+icmd, completed successfully
+
+# ipmiutil config -s /tmp/bmcconfig.out
+ipmiutil ver 2.21
+bmcconfig ver 1.1
+-- BMC version 0.19, IPMI version 2.0
+### bmcconfig, GetPefEntry ...
+### bmcconfig, GetLanEntry for channel 1 ...
+### bmcconfig, GetSOL for channel 1 ...
+### bmcconfig, GetSerEntry for channel 4 ...
+bmcconfig, completed successfully
+
+# cat /tmp/bmcconfig.out
+PEFParam 6,01: 01 c0 01 01 10 ff ff 01 ff 01 95 0a 00 00 00 00 00 00 00 00 00
+PEFParam 6,02: 02 c0 01 01 10 ff ff 02 ff 01 95 0a 00 00 00 00 00 00 00 00 00
+PEFParam 6,03: 03 c0 01 01 08 ff ff 04 ff 01 95 0a 00 00 00 00 00 00 00 00 00
+PEFParam 6,04: 04 c0 01 01 08 ff ff 05 05 6f 01 00 00 00 00 00 00 00 00 00 00
+PEFParam 6,05: 05 c0 01 01 08 ff ff 08 ff 6f 06 00 00 00 00 00 00 00 00 00 00
+PEFParam 6,06: 06 c0 01 01 10 ff ff 0c 08 6f 02 00 00 00 00 00 00 00 00 00 00
+PEFParam 6,07: 07 c0 01 01 08 ff ff 0f 06 6f 01 00 00 00 00 00 00 00 00 00 00
+PEFParam 6,08: 08 c0 01 01 10 ff ff 07 ff 6f 1c 00 00 00 00 00 00 00 00 00 00
+PEFParam 6,09: 09 c0 01 01 02 ff ff 13 ff 6f 3e 03 00 00 00 00 00 00 00 00 00
+PEFParam 6,10: 0a c0 01 01 01 ff ff 23 03 6f 0e 00 00 00 00 00 00 00 00 00 00
+PEFParam 6,11: 0b c0 01 01 01 ff ff 12 ff 6f 02 00 00 00 00 00 00 00 00 00 00
+PEFParam 6,12: 0c 80 01 01 10 ff ff 20 ff 6f ff 00 00 00 00 00 00 00 00 00 00
+PEFParam 6,13: 0d 80 01 01 08 ff ff 09 ff 0b 02 00 00 00 00 00 00 00 00 00 00
+PEFParam 6,14: 0e 80 01 01 04 ff ff 09 ff 0b 01 00 00 00 00 00 00 00 00 00 00
+PEFParam 6,15: 0f 80 01 01 04 ff ff 01 ff 81 95 0a 00 00 00 00 00 00 00 00 00
+PEFParam 6,16: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+PEFParam 6,17: 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+PEFParam 6,18: 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+PEFParam 6,19: 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+PEFParam 6,20: 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+PEFParam 1: 01
+PEFParam 2: 2f
+PEFParam 3: 3c
+PEFParam 4: 3c
+PEFParam 9,1: 01 18 11 00
+PEFParam 9,2: 02 00 00 00
+PEFParam 9,3: 03 00 00 00
+PEFParam 9,4: 04 00 00 00
+LanParam 0,0: 00
+LanParam 1,0: 15
+LanParam 2,0: 14 14 14 14 00
+LanParam 3,0: 0a f3 2a eb
+LanParam 4,0: 01
+LanParam 5,0: 00 0e 0c c7 1b a2
+LanParam 6,0: ff ff ff 00
+LanParam 7,0: 40 40 10
+LanParam 10,0: 01
+LanParam 11,0: 04
+LanParam 12,0: 0a f3 2a fb
+LanParam 13,0: 00 d0 06 21 eb fc
+LanParam 14,0: 00 00 00 00
+LanParam 15,0: 00 00 00 00 00 00
+LanParam 16,0: 70 75 62 6c 69 63 00 00 00 00 00 00 00 00 00 00 00 00
+LanParam 17,0: 04
+LanParam 18,1: 01 00 01 00 00
+LanParam 18,2: 02 00 00 00 00
+LanParam 18,3: 03 00 00 00 00
+LanParam 18,4: 04 00 00 00 00
+LanParam 19,1: 01 00 00 0a f3 2a d8 00 07 e9 06 15 30
+LanParam 19,2: 02 00 00 00 00 00 00 00 00 00 00 00 00
+LanParam 19,3: 03 00 00 00 00 00 00 00 00 00 00 00 00
+LanParam 19,4: 04 00 00 00 00 00 00 00 00 00 00 00 00
+LanParam 192,0: 00 00 00 00
+LanParam 193,0: 00 00 00 00 00 00
+LanParam 194,0: 00
+ChannelAccess 1: 02 04
+SOLParam 1,0: 01
+SOLParam 2,0: 82
+SOLParam 3,0: 04 32
+SOLParam 4,0: 06 14
+SOLParam 5,0: 0a
+SOLParam 6,0: 00
+SOLPayloadSupport 1: 00 15 00 00 00 00 00
+SOLPayloadAccess 1,1: 02 00 00 00
+SOLPayloadAccess 1,2: 02 00 00 00
+SOLPayloadAccess 1,3: 00 00 00 00
+UserAccess 1,1: 0f 02 01 14
+UserName 1: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+# UserPassword 1: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+UserAccess 1,2: 0f 02 01 14
+UserName 2: 75 73 72 32 00 00 00 00 00 00 00 00 00 00 00 00
+# UserPassword 2: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+UserAccess 1,3: 0f 02 01 0f
+UserName 3: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+# UserPassword 3: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+UserAccess 1,4: 0f 02 01 0f
+UserName 4: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+# UserPassword 4: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+SerialParam 0,0: 00
+SerialParam 1,0: 15
+SerialParam 2,0: 14 14 14 14 00
+SerialParam 3,0: 87
+SerialParam 4,0: 00
+SerialParam 5,0: 00 00 ff ff ff
+SerialParam 6,0: 03
+SerialParam 7,0: 20 0a
+SerialParam 8,0: 16 08
+SerialParam 9,0: 3f 00
+SerialParam 10,0: 01 41 54 45 31 51 30 56 31 58 34 26 44 32 26 43 31
+SerialParam 11,0: 2b 2b 2b 00 00
+SerialParam 12,0: 41 54 48 00 00 00 00 00
+SerialParam 13,0: 41 54 44 00 00 00 00 00
+SerialParam 14,0: 00
+SerialParam 15,0: 70 75 62 6c 69 63 00 00 00 00 00 00 00 00 00 00 00 00
+SerialParam 16,0: 08
+SerialParam 17,1: 01 00 05 03 00
+SerialParam 17,2: 02 00 05 03 00
+SerialParam 17,3: 03 00 05 03 00
+SerialParam 17,4: 04 00 05 03 00
+SerialParam 18,0: 3c
+SerialParam 19,1: 01 00 07
+SerialParam 19,2: 02 00 07
+SerialParam 19,3: 03 00 07
+SerialParam 19,4: 04 00 07
+SerialParam 29,0: 66 11
+ChannelAccess 4: 2b 04
+UserAccess 4,1: 0f 02 01 14
+UserName 1: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+# UserPassword 1: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+UserAccess 4,2: 0f 02 01 14
+UserName 2: 75 73 72 32 00 00 00 00 00 00 00 00 00 00 00 00
+# UserPassword 2: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+UserAccess 4,3: 0f 02 01 0f
+UserName 3: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+# UserPassword 3: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+UserAccess 4,4: 0f 02 01 0f
+UserName 4: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+# UserPassword 4: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+# ipmiutil discover -a -b 10.243.42.255
+ipmiutil ver 2.21
+idiscover ver 1.3
+Discovering IPMI Devices:
+1: response from 10.243.42.141
+2: response from 10.243.42.7
+3: response from 10.243.42.14
+4: response from 10.243.42.145
+5: response from 10.243.42.172
+6: response from 10.243.42.182
+7: response from 10.243.42.185
+8: response from 10.243.42.183
+9: response from 10.243.42.184
+10: response from 10.243.42.138
+11: response from 10.243.42.181
+12: response from 10.243.42.179
+13: response from 10.243.42.139
+14: response from 10.243.42.216
+15: response from 10.243.42.210
+16: response from 10.243.42.229
+17: response from 10.243.42.150
+18: response from 10.243.42.120
+19: response from 10.243.42.246
+20: response from 10.243.42.158
+21: response from 10.243.42.168
+22: response from 10.243.42.248
+23: response from 10.243.42.242
+24: response from 10.243.42.243
+25: response from 10.243.42.223
+26: response from 10.243.42.171
+27: response from 10.243.42.174
+28: response from 10.243.42.222
+29: response from 10.243.42.226
+30: response from 10.243.42.228
+31: response from 10.243.42.110
+32: response from 10.243.42.120
+33: response from 10.243.42.128
+34: response from 10.243.42.169
+idiscover: 1 pings sent, 34 responses
+
+# ipmiutil events 18 00 02 02 00 00 00 20 00 04 09 01 6f 44 0f ff
+ipmiutil ver 2.40
+ievents version 2.40
+RecId Date/Time_______ Source_ Evt_Type SensNum Evt_detail - Trig [Evt_data]
+0018 12/31/69 19:00:02 BMC 09 Power Unit #01 AC Lost 6f [44 0f ff]
+ievents, completed successfully
+
+# ipmiutil events -p -s sensor-TIGW1U.out B3 E8 00 0E 0C C7 1B A0 11 08 12 7F 10 90 FF FF 20 20 00 20 02 15 01 41 0F FF
+ipmiutil ver 2.40
+ievents version 2.40
+0023 SDR Comp 02 2b 20 a 09 snum 02 Power Redundancy
+0008 11/01/07 10:13:20 BMC 09 Power Unit #02 Redundancy Lost 0b [41 0f ff]
+ievents, completed successfully
+
+
+# ipmiutil fru
+ipmiutil ver 2.21
+fruconfig: version 2.21
+-- BMC version 0.19, IPMI version 2.0
+SDR[004c] FRU 20 00 0c 01 Baseboard FRU
+SDR[004d] FRU 20 02 15 01 Power Dist FRU
+Component FRU Size : 256
+Product Manufacturer: DELTA
+Product Name : AC-061 B
+Product Part Number : D76441-003
+Product Version : 00
+Product Serial Num : DLD0719000969
+Product Asset Tag :
+Product FRU File ID :
+SDR[004e] FRU 20 03 0a 01 Pwr Supply 1 FRU
+Component FRU Size : 256
+Product Manufacturer: DELTA
+Product Name : DPS-450KBA
+Product Part Number : D40117-007
+Product Version : S6
+Product Serial Num : DLD0721003047
+Product Asset Tag :
+Product FRU File ID :
+SDR[004f] FRU 20 04 0a 02 Pwr Supply 2 FRU
+Component FRU Size : 256
+Product Manufacturer: DELTA
+Product Name : DPS-450KBA
+Product Part Number : D40117-003
+Product Version : S2
+Product Serial Num : DLC0630000244
+Product Asset Tag :
+Product FRU File ID :
+SDR[0050] IPMB 20 00 07 01 Basbrd Mgmt Ctlr
+
+Mainboard FRU Size : 256
+Chassis Type : Rack-Mount Chassis
+Chassis Part Number : TIGW1U
+Chassis Serial Num :
+Chassis OEM Field : TIGW1U
+Board Mfg DateTime : Sun Jun 17 16:11:00 2007
+Board Manufacturer : Intel
+Board Product Name : S5000PHB
+Board Serial Number : CFTW72400602
+Board Part Number : D40552-601
+Board FRU File ID : FRU Ver 0.05
+Board OEM Field :
+Product Manufacturer: Intel
+Product Name : S5000PHB
+Product Part Number : TMWA0201W
+Product Version :
+Product Serial Num : sernum4wd
+Product Asset Tag : asset4wd
+Product FRU File ID :
+Product OEM Field :
+System GUID : b1d84f76-1de2-11dc-b3e8-000e0cc71ba0
+BIOS Version : S5000.86B.10.00.D414.081520081354
+fruconfig, completed successfully
+
+# ipmiutil getevt
+ipmiutil ver 2.21
+getevent ver 2.21
+-- BMC version 0.19, IPMI version 2.0
+event receiver sa = 20 lun = 00
+bmc enables = 0f
+Waiting 120 seconds for an event ...
+got event, sensor_type = 01
+event data: 3c 22 02 7b e6 bf 48 20 00 04 01 30 01 50 2e 33
+223c 09/04/08 09:45:31 BMC 01 Temperature #30 Lo Noncrit thresh act=2e thr=33
+Waiting 120 seconds for an event ...
+got event, sensor_type = 01
+event data: 64 22 02 7d e6 bf 48 20 00 04 01 30 81 50 2e 07
+2264 09/04/08 09:45:33 BMC 01 Temperature #30 LoN thresh OK now act=2e thr=07
+Waiting 120 seconds for an event ...
+get_event timeout
+getevent, completed successfully
+
+# ipmiutil health
+ipmiutil ver 2.21
+bmchealth ver 2.21
+BMC version 0.19, IPMI version 2.0
+BMC manufacturer = 000157 (Intel), product = 0811 (TIGW1U)
+BIOS Version = S5000.86B.10.00.D414.081520081354
+Chassis Status = 01 (on, restore_policy=stay_off)
+Power State = 00 (S0: working)
+Selftest status = 0055 (OK)
+Channel 15 Auth Types:
+ Status = 00, OEM ID 000000 OEM Aux 00
+bmchealth, completed successfully
+
+# ipmiutil lan
+ipmiutil ver 2.21
+pefconfig ver 2.21
+-- BMC version 0.19, IPMI version 2.0
+pefconfig, GetPefEntry ...
+PEFilter(01): 01 Temperature Sensor event - enabled for alert
+PEFilter(02): 02 Voltage Sensor event - enabled for alert
+PEFilter(03): 04 Fan Failure event - enabled for alert
+PEFilter(04): 05 Chassis Intrusion event - enabled for alert
+PEFilter(05): 08 Power Supply Fault event - enabled for alert
+PEFilter(06): 0c Memory ECC Error event - enabled for alert
+PEFilter(07): 0f FRB Failure event - enabled for alert
+PEFilter(08): 07 BIOS POST Error event - enabled for alert
+PEFilter(09): 13 Fatal NMI event - enabled for alert
+PEFilter(10): 23 Watchdog Timer Reset event - enabled for alert
+PEFilter(11): 12 System Restart event - enabled for alert
+PEFilter(12): 20 OS Critical Stop event - enabled for alert
+PEFilter(13): 09 Power Redundancy Lost event - enabled for alert
+PEFilter(14): 09 Power Unit OK event - enabled for alert
+PEFilter(15): 01 Temperature OK event - enabled for alert
+PEF Control: 01 : PEFenable
+PEF Actions: 2f : Alert PwrDn Reset PwrCyc DiagInt
+PEF Startup Delay: 3c : 60 sec
+PEF Alert Startup Delay: 3c: 60 sec
+PEF Alert Policy[1]: 01 18 11 00 : Chan[1] Dest[1] Enabled
+PEF Alert Policy[2]: 02 00 00 00 : Disabled
+PEF Alert Policy[3]: 03 00 00 00 : Disabled
+PEF Alert Policy[4]: 04 00 00 00 : Disabled
+
+pefconfig, GetLanEntry for channel 1 ...
+Lan Param(0) Set in progress: 00
+Lan Param(1) Auth type support: 15 : None MD5 Pswd
+Lan Param(2) Auth type enables: 14 14 14 14 00
+Lan Param(3) IP address: 10 243 42 235
+Lan Param(4) IP addr src: 01 : Static
+Lan Param(5) MAC addr: 00 0e 0c c7 1b a2
+Lan Param(6) Subnet mask: 255 255 255 0
+Lan Param(7) IPv4 header: 40 40 10
+Lan Param(10) BMC grat ARP: 01 : Grat-ARP enabled
+Lan Param(11) grat ARP interval: 04 : 2 sec
+Lan Param(12) Def gateway IP: 10 243 42 251
+Lan Param(13) Def gateway MAC: 00 d0 06 21 eb fc
+Lan Param(14) Sec gateway IP: 0 0 0 0
+Lan Param(15) Sec gateway MAC: 00 00 00 00 00 00
+Lan Param(16) Community string: public
+Lan Param(17) Num dest: 04
+Lan Param(18) Dest type: 01 00 01 00 00
+Lan Param(18) Dest type: 02 00 00 00 00
+Lan Param(18) Dest type: 03 00 00 00 00
+Lan Param(18) Dest type: 04 00 00 00 00
+Lan Param(19) Dest address: 01 00 00 [10 243 42 216] 00 07 e9 06 15 30
+Lan Param(19) Dest address: 02 00 00 [0 0 0 0] 00 00 00 00 00 00
+Lan Param(19) Dest address: 03 00 00 [0 0 0 0] 00 00 00 00 00 00
+Lan Param(19) Dest address: 04 00 00 [0 0 0 0] 00 00 00 00 00 00
+Lan Param(192) DHCP Server IP: 0 0 0 0
+Lan Param(193) DHCP MAC Address: 00 00 00 00 00 00
+Lan Param(194) DHCP Enable: 00
+Channel Access Mode(1=lan): 02 04 : Access = Always Avail, PEF Alerts Enabled
+pefconfig, GetSOL for channel 1 ...
+SOL Enable: 01 : enabled
+SOL Auth: 82 : User
+SOL Accum Interval: 04 32 : 20 msec
+SOL Retry Interval: 06 14 : 200 msec
+SOL nvol Baud Rate: 0a : 115.2k
+SOL vol Baud Rate: 00 : nobaud
+SOL Payload Support(1): 03 00 15 00 00 00 00 00
+SOL Payload Access(1,1): 02 00 00 00 : enabled
+SOL Payload Access(1,2): 02 00 00 00 : enabled
+SOL Payload Access(1,3): 00 00 00 00 : disabled
+SOL Payload Access(1,4): 00 00 00 00 : disabled
+Get User Access(1): 0f 02 01 14 : IPMI, Admin ()
+Get User Access(2): 0f 02 01 14 : IPMI, Admin (usr2)
+Get User Access(3): 0f 02 01 0f : No access ()
+Get User Access(4): 0f 02 01 0f : No access ()
+pefconfig, completed successfully
+
+# ipmiutil reset -n
+ipmiutil ver 2.21
+hwreset ver 2.21
+-- BMC version 0.19, IPMI version 2.0
+Power State = 00 (S0: working)
+hwreset: sending NMI ...
+chassis_reset ok
+hwreset: IPMI_Reset ok
+hwreset, completed successfully
+
+# ipmiutil sel
+ipmiutil ver 2.21
+showsel: version 2.21
+-- BMC version 0.19, IPMI version 2.0
+SEL Ver 51 Support f, Size = 3987 records, Free space = 3553 records
+RecId Date/Time_______ Source_ Evt_Type SensNum Evt_detail - Trig [Evt_data]
+0004 07/16/08 15:17:58 BMC 10 SEL Disabled #09 Log Cleared 6f [42 0f ff]
+0018 07/16/08 15:23:08 BIOS 12 System Event #83 Boot: ClockSync_1 6f [05 00 ff]
+002c 07/16/08 10:23:08 BIOS 12 System Event #83 Boot: ClockSync_2 6f [05 80 ff]
+0040 07/16/08 10:24:37 0033 12 System Event #01 OEM System Booted 6f [01 ff 00]
+0054 07/16/08 10:24:49 BMC 22 ACPI Power State #82 S0/G0 Working 6f [40 0f ff]
+0068 07/16/08 11:12:55 BMC 08 Power Supply #70 Removed ef [40 0f ff]
+007c 07/16/08 11:12:55 BMC 09 Power Unit #02 Redundancy Lost 0b [41 0f ff]
+0090 07/16/08 11:12:55 BMC 09 Power Unit #02 Not Redundant 0b [43 0f ff]
+00a4 07/16/08 11:13:23 BMC 08 Power Supply #70 Inserted 6f [40 0f ff]
+00b8 07/16/08 11:13:23 BMC 09 Power Unit #02 Redundancy OK 0b [40 0f ff]
+00cc 07/16/08 11:31:30 BMC 08 Power Supply #70 Removed ef [40 0f ff]
+00e0 07/16/08 11:31:31 BMC 09 Power Unit #02 Redundancy Lost 0b [41 0f ff]
+00f4 07/16/08 11:31:31 BMC 09 Power Unit #02 Not Redundant 0b [43 0f ff]
+0108 07/16/08 11:31:40 BMC 08 Power Supply #70 Inserted 6f [40 0f ff]
+011c 07/16/08 11:31:41 BMC 09 Power Unit #02 Redundancy OK 0b [40 0f ff]
+0130 07/16/08 11:46:34 BMC 01 Temperature #30 Lo Noncrit thresh act=2f thr=34
+0144 07/16/08 11:46:34 BMC 01 Temperature #30 Lo Crit thresh act=2f thr=33
+0158 07/16/08 11:46:36 BMC 01 Temperature #30 LoN thresh OK now act=2f thr=07
+016c 07/16/08 11:46:36 BMC 01 Temperature #30 LoC thresh OK now act=2f thr=06
+0180 07/16/08 12:00:59 BMC 08 Power Supply #70 Removed ef [40 0f ff]
+0194 07/16/08 12:01:00 BMC 09 Power Unit #02 Redundancy Lost 0b [41 0f ff]
+01a8 07/16/08 12:01:00 BMC 09 Power Unit #02 Not Redundant 0b [43 0f ff]
+01bc 07/16/08 12:01:32 BMC 08 Power Supply #70 Inserted 6f [40 0f ff]
+[...]
+1a08 08/12/08 01:57:20 SMI 20 OS Critical Stop #64 panic(dop) 6f [a1 6f 70]
+1a1c 08/12/08 01:58:08 BMC 2a Session Audit #0a Deactivated User 1 6f [a1 01 11]
+1a30 08/12/08 01:58:18 BMC 2a Session Audit #0a Activated User 1 6f [a0 01 01]
+[...]
+219c 08/27/08 06:29:24 BIOS 12 System Event #83 Boot: ClockSync_1 6f [05 00 ff]
+21b0 08/27/08 06:29:25 BIOS 12 System Event #83 Boot: ClockSync_2 6f [05 80 ff]
+21c4 08/27/08 06:30:18 0033 12 System Event #01 OEM System Booted 6f [01 ff 00]
+21d8 08/27/08 06:30:29 BMC 22 ACPI Power State #82 S0/G0 Working 6f [40 0f ff]
+showsel, completed successfully
+
+# ipmiutil sensor
+ipmiutil ver 2.21
+sensor: version 2.21
+-- BMC version 0.20, IPMI version 2.0
+_ID_ SDR_Type_xx ET Own Typ S_Num Sens_Description Hex & Interp Reading
+0001 SDR Full 01 01 20 a 02 snum 10 BB +1.2V Vtt = be OK 1.20 Volts
+0002 SDR Full 01 01 20 a 02 snum 12 BB +1.5V AUX = bd OK 1.47 Volts
+0003 SDR Full 01 01 20 a 02 snum 13 BB +1.5V = 75 OK 1.52 Volts
+0004 SDR Full 01 01 20 a 02 snum 14 BB +1.8V = af OK 1.78 Volts
+0005 SDR Full 01 01 20 a 02 snum 15 BB +3.3V = c1 OK 3.32 Volts
+0006 SDR Full 01 01 20 a 02 snum 16 BB +3.3V STB = bf OK 3.29 Volts
+0007 SDR Full 01 01 20 a 02 snum 17 BB +1.5V ESB = be OK 1.48 Volts
+0008 SDR Full 01 01 20 a 02 snum 18 BB +5V = c3 OK 5.07 Volts
+0009 SDR Full 01 01 20 a 02 snum 1a BB +12V AUX = c1 OK 11.97 Volts
+000a SDR Full 01 01 20 a 02 snum 1b BB +0.9V = ba OK 0.89 Volts
+000b SDR Full 01 01 20 a 01 snum 30 Baseboard Temp = 2d OK 45.00 degrees C
+000c SDR Full 01 01 20 a 01 snum 32 Front Panel Temp = 1a OK 26.00 degrees C
+000d SDR Full 01 01 20 a 01 snum 48 Mem Therm Margin = 00 Init 0.00 degrees C
+000e SDR Full 01 01 20 m 04 snum 50 Fan 1A = 6f OK 7659.00 RPM
+000f SDR Full 01 01 20 m 04 snum 51 Fan 1B = 6b OK 5457.00 RPM
+0010 SDR Full 01 01 20 m 04 snum 52 Fan 2A = 69 OK 7245.00 RPM
+0011 SDR Full 01 01 20 m 04 snum 53 Fan 2B = 6b OK 5457.00 RPM
+0012 SDR Full 01 01 20 m 04 snum 54 Fan 3A = 6c OK 7452.00 RPM
+0013 SDR Full 01 01 20 m 04 snum 55 Fan 3B = 6b OK 5457.00 RPM
+0014 SDR Full 01 01 20 m 04 snum 56 Fan 4A = 6f OK 7659.00 RPM
+0015 SDR Full 01 01 20 m 04 snum 57 Fan 4B = 69 OK 5355.00 RPM
+0016 SDR Full 01 01 20 m 04 snum 58 Fan 5 = 63 OK 6534.00 RPM
+0017 SDR Full 01 01 20 a 03 snum 78 PS1 AC Current = 05 OK 0.31 Amps
+0018 SDR Full 01 01 20 a 03 snum 79 PS2 AC Current = 16 OK 1.39 Amps
+0019 SDR Full 01 01 20 a 03 snum 7a PS1 +12V Current = 01 OK 0.50 Amps
+001a SDR Full 01 01 20 a 03 snum 7b PS2 +12V Current = 12 OK 9.00 Amps
+001b SDR Full 01 01 20 a 0b snum 7c PS1 +12V Power = 01 OK 4.00 Watts
+001c SDR Full 01 01 20 a 0b snum 7d PS2 +12V Power = 1b OK 108.00 Watts
+001d SDR Full 01 01 20 a 01 snum 99 P1 Therm Margin = c7 OK -57.00 degrees C
+001e SDR Full 01 01 20 m 01 snum c0 P1 Therm Ctrl % = 00 OK 0.00 unspecified
+001f SDR Full 01 01 20 a 02 snum d0 Proc 1 Vccp = b0 OK 1.09 Volts
+0020 SDR Comp 02 6f 20 a 09 snum 01 Power Unit = 00 c0 00 00 Enabled
+0021 SDR Comp 02 0b 20 a 09 snum 02 Power Redundancy = 00 c0 01 00 Redundant
+0022 SDR Comp 02 6f 20 a 23 snum 03 BMC Watchdog = 00 c0 00 00 OK
+0023 SDR Comp 02 6f 20 a 06 snum 04 Scrty Violation = 00 c0 00 00 OK
+0024 SDR Comp 02 6f 20 a 13 snum 07 FP Interrupt = 00 c0 00 00 OK
+0025 SDR Comp 02 6f 20 a 10 snum 09 Event Log Clear = 00 c0 00 00 OK
+0026 SDR Comp 02 6f 20 a 2a snum 0a Session Audit = 00 c0 00 00 Activated
+0027 SDR Comp 02 6f 20 a 12 snum 0b System Event = 00 c0 00 00 OK
+0028 SDR Comp 02 6f 20 a 29 snum 1e BB Vbat = 00 c0 00 00 OK
+0029 SDR Comp 02 6f 20 a 08 snum 70 PS1 Status = 00 c0 01 00 Present
+002a SDR Comp 02 6f 20 a 08 snum 71 PS2 Status = 00 c0 01 00 Present
+002b SDR Comp 02 6f 20 a 22 snum 82 ACPI State = 00 c0 01 00 Working
+002c SDR Comp 02 6f 20 a 14 snum 84 Button = 00 c0 00 00 OK
+002d SDR Comp 02 03 20 a f3 snum 85 SMI Timeout = 00 c0 01 00 Enabled
+002e SDR Comp 02 03 20 a c0 snum 87 NMI State = 00 c0 01 00 Enabled
+002f SDR Comp 02 03 20 a c0 snum 88 SMI State = 00 80 01 00 Enabled
+0030 SDR Comp 02 6f 20 m 07 snum 90 Processor 1 Stat = 00 c0 80 00 ProcPresent
+0031 SDR Comp 02 6f 20 a 13 snum a0 PCIe Link0 = 00 c0 00 00 OK
+0032 SDR Comp 02 6f 20 a 13 snum a1 PCIe Link1 = 00 c0 00 00 OK
+0033 SDR Comp 02 6f 20 a 13 snum a2 PCIe Link2 = 00 c0 00 00 OK
+0034 SDR Comp 02 6f 20 a 13 snum a3 PCIe Link3 = 00 c0 00 00 OK
+0035 SDR Comp 02 6f 20 a 13 snum a4 PCIe Link4 = 00 c0 00 00 OK
+0036 SDR Comp 02 6f 20 a 13 snum a5 PCIe Link5 = 00 c0 00 00 OK
+0037 SDR Comp 02 6f 20 a 13 snum a6 PCIe Link6 = 00 c0 00 00 OK
+0038 SDR Comp 02 6f 20 a 13 snum a7 PCIe Link7 = 00 c0 00 00 OK
+0039 SDR Comp 02 6f 20 a 13 snum a8 PCIe Link8 = 00 c0 00 00 OK
+003a SDR Comp 02 6f 20 a 13 snum a9 PCIe Link9 = 00 c0 00 00 OK
+003b SDR Comp 02 6f 20 a 13 snum aa PCIe Link10 = 00 c0 00 00 OK
+003c SDR Comp 02 6f 20 a 13 snum ab PCIe Link11 = 00 c0 00 00 OK
+003d SDR Comp 02 6f 20 a 13 snum ac PCIe Link12 = 00 c0 00 00 OK
+003e SDR Comp 02 6f 20 a 13 snum ad PCIe Link13 = 00 c0 00 00 OK
+003f SDR Comp 02 05 20 m 01 snum c8 CPU1 VRD Temp = 00 c0 00 00 OK*
+0040 SDR Comp 02 05 20 a 02 snum d2 CPU1 Vcc OOR = 00 c0 00 00 OK
+0041 SDR Comp 02 03 20 a 07 snum d8 CPU Popul Error = 00 c0 00 00 OK
+0042 SDR Comp 02 6f 20 a 21 snum e0 DIMM 1A = 00 c0 04 00 Present
+0043 SDR Comp 02 6f 20 a 21 snum e1 DIMM 2A = 00 e0 40 00 NotAvailable
+0044 SDR Comp 02 6f 20 a 21 snum e2 DIMM 3A = 00 e0 40 00 NotAvailable
+0045 SDR Comp 02 6f 20 a 21 snum e3 DIMM 1B = 00 c0 04 00 Present
+0046 SDR Comp 02 6f 20 a 21 snum e4 DIMM 2B = 00 e0 40 00 NotAvailable
+0047 SDR Comp 02 6f 20 a 21 snum e5 DIMM 3B = 00 e0 40 00 NotAvailable
+0048 SDR Comp 02 6f 20 a 0c snum ec Mem A Error = 00 c0 00 00 OK
+0049 SDR Comp 02 6f 20 a 0c snum ed Mem B Error = 00 c0 00 00 OK
+004a SDR Comp 02 6f 20 a 25 snum f0 DIMM Spare Enb = 00 e0 40 00 NotAvailable
+004b SDR Comp 02 0b 20 a 0c snum f1 DIMM Spare Redu = 00 e0 40 00 NotAvailable
+004c SDR FRU 11 18 dev: 20 00 80 00 0c 01 Baseboard FRU
+004d SDR FRU 11 19 dev: 20 02 80 00 15 01 Power Dist FRU
+004e SDR FRU 11 1b dev: 20 03 80 00 0a 01 Pwr Supply 1 FRU
+004f SDR FRU 11 1b dev: 20 04 80 00 0a 02 Pwr Supply 2 FRU
+0050 SDR IPMB 12 1b dev: 20 00 bf 07 01 Basbrd Mgmt Ctlr
+0051 SDR OEM c0 09 Intel: 02 02 00 01 70 71
+0052 SDR OEM c0 05 Intel: 06 01
+0053 SDR OEM c0 19 Intel: 0b 01 01 32 14 f0 0a a4 01 96 00 61 00 08 0a 64 00 05 00 00 00 00
+0054 SDR OEM c0 19 Intel: 0b 02 01 32 14 f0 0a a4 01 ff ff ff ff 10 14 ff ff 06 00 00 00 00
+0055 SDR OEM c0 19 Intel: 0b 01 02 32 14 f0 0a a4 01 96 00 61 00 08 0a 64 00 05 00 00 00 00
+0056 SDR OEM c0 19 Intel: 0b 02 02 32 14 f0 0a a4 01 ff ff ff ff 10 14 ff ff 06 00 00 00 00
+0057 SDR OEM c0 2c Intel: 0c 01 30 64 64 01 02 03 30 20 32 64 01 90 0d 00 2b 20 30 21 35 22 3a 23 3f 24 43 25 47 26 4c 27 51 28 56 29 5b 2a 60 2b 64
+0058 SDR OEM c0 2c Intel: 0c 02 30 64 64 01 02 03 30 20 32 64 01 90 0d 00 2b 20 30 21 35 22 3a 23 3f 24 43 25 47 26 4c 27 51 28 56 29 5b 2a 60 2b 64
+0059 SDR OEM c0 2c Intel: 0c 03 30 64 64 01 02 03 30 20 32 64 01 90 0d 00 2b 20 30 21 35 22 3a 23 3f 24 43 25 47 26 4c 27 51 28 56 29 5b 2a 60 2b 64
+005a SDR OEM c0 15 Intel: 0c 01 30 64 64 01 02 03 00 20 99 64 02 90 01 06 00 11
+005b SDR OEM c0 15 Intel: 0c 01 30 64 64 01 02 03 00 20 48 00 02 b8 01 02 00 00
+005c SDR OEM c0 15 Intel: 0c 02 30 64 64 01 02 03 00 20 99 64 02 90 01 06 00 11
+005d SDR OEM c0 15 Intel: 0c 03 30 64 64 01 02 03 00 20 30 64 02 90 01 02 3c 00
+005e SDR OEM c0 0e Intel: 08 00 00 45 88 45 88 45 88 45 88
+005f SDR OEM c0 16 Intel: 09 00 00 90 33 90 33 90 33 90 33 90 33 90 33 68 42 68 42
+0060 SDR OEM c0 08 Intel: BMC_TAM0 60 01 03 01 20 nrec=4 cfg=01
+0061 SDR OEM c0 31 Intel: BMC_TAM1 60 01 13 00 20 41 01 01 01 23 71 93 41 02 01 02 24 72 94 41 03 01 02 24 72 94 21 04 01 01 23 11 02 05 14 31 29 6f 01 13 23 21 09 0b 14 34
+0062 SDR OEM c0 31 Intel: BMC_TAM2 60 01 23 00 20 71 07 6f 03 13 23 33 43 55 83 11 08 6f 14 21 09 6f 54 64 20 7c 01 72 94 20 7d 01 72 94 11 21 6f 03 53 23 6f 05 15 25 35 85
+0063 SDR OEM c0 17 Intel: BMC_TAM3 60 01 33 00 c0 22 02 00 03 51 22 03 00 03 51 22 04 00 03 51
+0064 SDR OEM c0 0e Intel: SDR File 18
+0065 SDR OEM c0 11 Intel: SDR Package 18
+ SDR IPMI sensor: Power On Hours = 6923 hours
+sensor, completed successfully
+
+# ipmiutil serial
+ipmiutil ver 2.21
+tmconfig ver 2.21
+-- BMC version 0.19, IPMI version 2.0
+Code 0 SEL Ver 81 Support 15
+tmconfig: GetSerEntry for channel 4 ...
+Serial Param(0) Set in progress: 00
+Serial Param(1) Auth type support: 15 : None MD5 Pswd
+Serial Param(2) Auth type enables: 14 14 14 14 00
+Serial Param(3) Connection Mode: 87
+Serial Param(4) Sess Inactiv Timeout: 00 : infinite
+Serial Param(5) Channel Callback: 00 00 ff ff ff
+Serial Param(6) Session Termination: 03
+Serial Param(7) IPMI Msg Comm: 20 0a : no_flow, DTR, 115.2k
+Serial Param(8) Mux Switch: 16 08
+Serial Param(9) Modem Ring Time: 3f 00
+Serial Param(10) Modem Init String: 01 ATE1Q0V1X4&D2&C1
+Serial Param(11) Modem Escape Seq: +++
+Serial Param(12) Modem Hangup Seq: ATH
+Serial Param(13) Modem Dial Command: ATD
+Serial Param(14) Page Blackout Interval: 00
+Serial Param(15) Community String: public
+Serial Param(16) Num of Alert Dest: 08
+Serial Param(17) Destination Info: 01 00 05 03 00
+Serial Param(17) Destination Info: 02 00 05 03 00
+Serial Param(17) Destination Info: 03 00 05 03 00
+Serial Param(17) Destination Info: 04 00 05 03 00
+Serial Param(17) Destination Info: 05 00 05 03 00
+Serial Param(17) Destination Info: 06 00 05 03 00
+Serial Param(17) Destination Info: 07 00 05 03 00
+Serial Param(17) Destination Info: 08 00 05 03 00
+Serial Param(18) Call Retry Interval: 3c
+Serial Param(19) Destination Comm Settings: 01 00 07 : no_flow, 8N1, 19.2k
+Serial Param(19) Destination Comm Settings: 02 00 07 : no_flow, 8N1, 19.2k
+Serial Param(19) Destination Comm Settings: 03 00 07 : no_flow, 8N1, 19.2k
+Serial Param(19) Destination Comm Settings: 04 00 07 : no_flow, 8N1, 19.2k
+Serial Param(19) Destination Comm Settings: 05 00 07 : no_flow, 8N1, 19.2k
+Serial Param(19) Destination Comm Settings: 06 00 07 : no_flow, 8N1, 19.2k
+Serial Param(19) Destination Comm Settings: 07 00 07 : no_flow, 8N1, 19.2k
+Serial Param(19) Destination Comm Settings: 08 00 07 : no_flow, 8N1, 19.2k
+Serial Param(20) Number Dial Strings: 06
+Serial Param(21) Dest Dial String: 01 01
+Serial Param(21) Dest Dial String: 02 01
+Serial Param(21) Dest Dial String: 03 01
+Serial Param(21) Dest Dial String: 04 01
+Serial Param(21) Dest Dial String: 05 01
+Serial Param(21) Dest Dial String: 06 01
+Serial Param(22) Number Dest IP Addrs: 04
+Serial Param(23) Dest IP Address: 01 0 0 0 0
+Serial Param(23) Dest IP Address: 02 0 0 0 0
+Serial Param(23) Dest IP Address: 03 0 0 0 0
+Serial Param(23) Dest IP Address: 04 0 0 0 0
+Serial Param(29) Terminal Mode Config: 66 11
+Channel Access Mode(4=Ser): 2b 04 : Access = Shared, PEF Alerts Disabled
+Get User Access (1): 0f 02 01 14 : IPMI, Admin ()
+Get User Access (2): 0f 02 01 14 : IPMI, Admin (usr2)
+Get User Access (3): 0f 02 01 0f : No access ()
+Get User Access (4): 0f 02 01 0f : No access ()
+Get Serial MUX Status: 04
+Get Boot Options(3): 01 03 00
+tmconfig, completed successfully
+
+# ipmiutil sol -a -N 10.243.42.136
+ipmiutil ver 2.21
+isolconsole ver 2.21
+Opening connection to node 10.243.42.136 ...
+Connected to node 10.243.42.136 10.243.42.136
+-- BMC version 0.17, IPMI version 2.0
+Opening connection to node 10.243.42.136 ...
+[SOL session is running, use '~' to end session.]
+
+isolconsole exit via user input
+isolconsole, completed successfully
+
+# ipmiutil wdt
+ipmiutil ver 2.21
+wdt ver 2.21
+-- BMC version 0.19, IPMI version 2.0
+wdt data: 01 01 00 00 00 00 00 00
+Watchdog timer is stopped for use with BIOS FRB2. Logging
+ pretimeout is 0 seconds, pre-action is None
+ timeout is 0 seconds, counter is 0 seconds
+ action is Hard Reset
+
+wdt, completed successfully
+
+# ipmi_port
+ipmi_port ver 1.1
+open_rmcp_port(623) succeeded, sleeping
+
+
+--------------------------
+7.0 PROBLEMS
+--------------------------
+Note that each utility function has an option for extra debug output (-x),
+which can be used to find out the specific function which returned an
+error.
+
+For best-effort support, email the ipmiutil-developer mailing list:
+ http://lists.sourceforge.net/lists/listinfo/ipmiutil-developers
+or enter a bug report at:
+ http://sourceforge.net/tracker/?group_id=116222&func=browse
+
+7.1 ERROR RETURN CODES
+
+Return code = 0 means success, negative numbers indicate failure, and a
+positive return code represents an IPMI completion code.
+RetCode Description
+------ -----------------------------------------
+ 0 "completed successfully"
+ -1 "error -1", a generic error, usually returned by an OS routine
+ -2 "send to BMC failed" over IPMI LAN
+ -3 "receive from BMC failed" over IPMI LAN
+ -4 "cannot connect to BMC" over IPMI LAN
+ -5 "abort signal caught", the user pressed Ctl-C
+ -6 "timeout occurred", the timeout for a response expired
+ -7 "length greater than max", length supplied was too big
+ -8 "invalid lan parameter", invalid parameter for IPMI LAN function
+ -9 "request not supported", a requested function is not supported
+ -10 "receive too short", did not receive the minimum number of bytes
+ -11 "error resolving hostname" neither DNS or hosts could resolve to an IP
+ -12 "error during ping" could not perform the RMCP ping function
+ -13 "BMC only supports lan v1". LAN 2.0 (lanplus) was attempted, but this
+ BMC firmware only supports IPMI LAN 1.x
+ -14 "BMC only supports lan v2". LAN 1.x was attempted, but this BMC
+ supports LAN 2.0 but not LAN 1.x, which violates the IPMI 2.0 spec.
+ -15 "other error", an unknown error occurred
+ -16 "cannot open IPMI driver". No IPMI driver could be opened. Since
+ the driverless mode is also attempted, this usually means that the
+ user does not have root privilege.
+ -17 "invalid parameter" a parameter was out of bounds
+ -18 "access not allowed" user does not have access to this file or function
+ -19 "session dropped by BMC" the BMC firmware aborted the IPMI session
+ -20 "cannot open file" cannot open the specified file
+ -21 "item not found" requested item was not found
+ -22 "usage or help requested", the user requested usage/help
+ -23 "bad format", the data format is invalid, cannot proceed
+-504 "error getting msg from BMC" during driverless I/Os, a command did
+ not get a response.
+
+7.2 IPMI COMPLETION CODES
+
+IPMI Completion Codes are defined in IPMI 1.5, Table 5-2, and are also
+included below in both hex and decimal format. Note that the meaning of
+completion codes 0x80-0x9f may vary depending on the command.
+
+Code Dec Description
+---- --- -----------------------------------------
+0x00, 0, "Command completed successfully",
+0x80, 128, "Invalid Session Handle or Empty Buffer",
+0x81, 129, "Lost Arbitration",
+0x82, 130, "Bus Error",
+0x83, 131, "NAK on Write - busy",
+0x84, 132, "Truncated Read",
+0xC0, 192, "Node Busy",
+0xC1, 193, "Invalid Command",
+0xC2, 194, "Command invalid for given LUN",
+0xC3, 195, "Timeout while processing command",
+0xC4, 196, "Out of space",
+0xC5, 197, "Invalid Reservation ID, or cancelled",
+0xC6, 198, "Request data truncated",
+0xC7, 199, "Request data length invalid",
+0xC8, 200, "Request data field length limit exceeded",
+0xC9, 201, "Parameter out of range",
+0xCA, 202, "Cannot return requested number of data bytes",
+0xCB, 203, "Requested sensor, data, or record not present",
+0xCC, 204, "Invalid data field in request",
+0xCD, 205, "Command illegal for this sensor/record type",
+0xCE, 206, "Command response could not be provided",
+0xCF, 207, "Cannot execute duplicated request",
+0xD0, 208, "SDR Repository in update mode, no response",
+0xD1, 209, "Device in firmware update mode, no response",
+0xD2, 210, "BMC initialization in progress, no response",
+0xD3, 211, "Destination unavailable",
+0xD4, 212, "Cannot execute command. Insufficient privilege level",
+0xD5, 213, "Cannot execute command. Request parameters not supported",
+0xFF, 255, "Unspecified error"
+
+
+-------------------------------
+8.0 BUILDING IPMI UTILITIES
+-------------------------------
+
+The ipmiutil source package provides IPMI-based utilities and kernel
+patches for managing various servers in Linux or Windows.
+
+The same source files can be built in both Linux and Windows as shown
+below.
+
+To get the ipmiutil source:
+
+Download the latest released ipmiutil-*.tar.gz from
+http://sourceforge.net/projects/ipmiutil/files/
+
+Or download a tar.gz of the current subversion trunk with the latest source
+http://ipmiutil.svn.sourceforge.net/viewvc/ipmiutil/trunk/?view=tar
+
+Or, if you have subversion installed, you can check out the latest source
+by doing:
+# svn co https://ipmiutil.svn.sourceforge.net/svnroot/ipmiutil ipmiutil
+
+See also section 4.9 for information about building custom applications
+using ipmiutil library APIs. The ipmi_sample.c shows a sample application
+using the ipmiutil library.
+
+
+8.1 Build instructions for Linux
+
+To build with some GPL code:
+If you are building ipmiutil for open-source, then the MD2 hash
+for IPMI LAN and the valinux driver interface (/dev/ipmikcs) can
+be supported. If so, you should specify the following during
+configure:
+ "./configure --enable-gpl"
+The default is to build with only BSD-licensed code and not to
+include the MD2 and valinux features. The md2.h and ipmi_ioctl.h
+files with GPL code can be removed if this option is not enabled.
+
+To build a standalone binary without IPMI LAN 2.0 (lanplus plugin),
+which may be desirable for use on bootable media (USB/CDROM), to
+decrease the size or to avoid using libcrypto, you can specify the
+following during configure:
+ "./configure --enable-standalone"
+builds it without lanplus libs and without GPL code.
+Only the SOL console function requires lanplus, all other functions can
+use the lan interface, since the IPMI 2.0 firmware is required to support
+both lan and lanplus. However, lanplus does have more secure encryption,
+as provided by libcrypto.
+
+To add LanDesk IPMI support:
+Support for the LanDesk IPMI driver requires a library supplied by
+LanDesk (libipmiapi.a). After obtaining this library, place it in
+lib/libipmiapi.a. Then you can link ipmiutil to support it by
+specifying the following during configure:
+ "./configure --enable-landesk=yes"
+
+Steps to build for Linux:
+# ./beforeconf.sh
+ Which automates these functions:
+ * copying libtool files
+ * aclocal (may be needed if automake versions are different)
+ * autoconf (may be needed if automake versions are different)
+ * automake
+# ./configure
+ --enable-landesk adds landesk library support [default=no]
+ --disable-lanplus disable lanplus library support
+ --enable-standalone build standalone, with no GPL or LanPlus libs.
+ --enable-gpl build with some GPL code [default=no]
+# make
+
+To add the ifruset utility, which allows setting any FRU Product fields:
+# cd util; make ifruset
+# ifruset -?
+
+To build and install an rpm package, use one of the following:
+# make install
+# make rpm
+The make rpm produces a binary rpm, and a source rpm, which can be
+installed with "rpm -i *.rpm".
+
+To build and install a Debian package, do this:
+# dpkg-buildpackage
+then install it with "dpkg -i *.deb".
+
+
+8.2 Build instructions for Windows
+
+The ipmiutil Windows binaries for each release are pre-built and posted
+at http://ipmiutil.sourceforge.net, but here is how to build the ipmiutil
+EXEs for Windows from source.
+Note that the WIN32 compile flag is used.
+The ipmiutil buildwin.cmd shows how to compile and link the lib and exe
+files, although many people prefer instead to do builds with the
+Microsoft VisualStudio project GUI.
+See also ipmiutil UserGuide section 5.2 for more details.
+
+ 1) Install Visual Studio (e.g. VS 6.0 or VC98)
+
+ 2) Download contrib files from
+ http://ipmiutil.sf.net/FILES/ipmiutil-contrib.zip
+ and see section 5.2 for getopt.c and openssl.
+
+ 3) Copy initial contrib files into ipmiutil
+ See section 5.2.3 for details
+
+ 4) Build the openssl libraries according to its INSTALL.W32
+
+ 5) Copy the resulting openssl LIB and DLL binaries to ipmiutil
+
+ 6) Set the Visual C variables
+ Example: "C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"
+
+ 7) Run buildwin.cmd
+ buildwin.cmd will build all of the Windows EXE and DLL files.
+
+
+8.3 Build instructions for Solaris
+
+# iver=2.7.9
+# uname -a
+SunOS unknown 5.10 Generic_127128-11 i86pc i386 i86pc
+# gunzip ipmiutil-${iver}.tar.gz
+# tar xvf ipmiutil-${iver}.tar
+# cd ipmiutil-${iver}
+# PATH=/usr/sbin:/usr/bin:/usr/ucb:/usr/openwin:/usr/ccs/bin:/usr/sfw/bin
+# ./configure
+# make
+# make tarsol
+This produces /tmp/ipmiutil-${iver}-solaris.tar with the binaries.
+# gzip /tmp/ipmiutil-${iver}-solaris.tar
+
+Solaris Release Notes:
+- Built with support for bmc, lan, and lanplus interfaces.
+ Supports the Solaris 10 /dev/bmc driver via putmsg method.
+- Requests to slave addresses other than BMC are not supported by
+ the Solaris bmc driver (e.g. to HSC at 0xc0), and are sent to
+ the BMC sa instead.
+- Memory mapping logic returns an error (e.g. BIOS version).
+- idiscover -a broadcast ioctl works now in ipmiutil-2.3.1
+
+To Install on Solaris:
+ gunzip /tmp/ipmiutil-${iver}-solaris.tar.gz
+ tar xvf /tmp/ipmiutil-${iver}-solaris.tar
+ ./install.sh
+
+
+8.4 Build instructions for FreeBSD
+
+# iver=2.7.9
+# gunzip ipmiutil-${iver}.tar.gz
+# tar xvf ipmiutil-${iver}.tar
+# cd ipmiutil-${iver}
+# ./configure
+# make
+# make tarbsd
+This produces /tmp/ipmiutil-${iver}-bsd.tar with the binaries.
+# gzip /tmp/ipmiutil-${iver}-bsd.tar
+
+FreeBSD Release Notes:
+ - ipmiutil-2.3.5 supports FreeBSD with direct driverless KCS
+ - ipmiutil-2.5.2 adds support for FreeBSD 7.x ipmi driver port
+
+To Install on FreeBSD:
+ gunzip /tmp/ipmiutil-${iver}-bsd.tar.gz
+ tar xvf /tmp/ipmiutil-${iver}-bsd.tar
+ ./install.sh
+
+
+8.5 Build instructions for ARM (Android)
+
+# tar -xzvf ipmiutil-${iver}.tar.gz
+# cd ipmiutil-${iver}
+# ./configure --enable-standalone --host=arm
+# make
+
+
+-----------------------------
+10.0 IPMIUTIL LIBRARY APIS
+-----------------------------
+
+Below are some common routines available in the ipmiutil library.
+Also refer to util/ipmi_sample.c for an example of how these APIs are used.
+
+/*
+ * ipmi_cmd
+ * ushort cmd (input): (netfn << 8) + command
+ * uchar *pdata (input): pointer to ipmi data
+ * int sdata (input): size of ipmi data
+ * uchar *presp (output): pointer to response data buffer
+ * int *sresp (input/output): on input, size of response buffer,
+ * on output, length of response data
+ * uchar *cc (output): completion code
+ * char fdebugcmd(input): flag =1 if debug output desired
+ * returns 0 if successful, <0 if error
+ */
+int ipmi_cmd(ushort cmd, uchar *pdata, int sdata, uchar *presp,
+ int *sresp, uchar *pcc, char fdebugcmd);
+/*
+ * ipmi_cmdraw
+ * uchar cmd (input): IPMI Command
+ * uchar netfn (input): IPMI NetFunction
+ * uchar sa (input): IPMI Slave Address of the MC
+ * uchar bus (input): BUS of the MC
+ * uchar lun (input): IPMI LUN
+ * uchar *pdata (input): pointer to ipmi data
+ * int sdata (input): size of ipmi data
+ * uchar *presp (output): pointer to response data buffer
+ * int *sresp (input/output): on input, size of response buffer,
+ * on output, length of response data
+ * uchar *cc (output): completion code
+ * char fdebugcmd(input): flag =1 if debug output desired
+ * returns 0 if successful, <0 if error
+ */
+int ipmi_cmdraw(uchar cmd, uchar netfn, uchar sa, uchar bus, uchar lun,
+ uchar *pdata, int sdata, uchar *presp,
+ int *sresp, uchar *pcc, char fdebugcmd);
+/*
+ * ipmi_close_
+ * Called to close an IPMI session.
+ * returns 0 if successful, <0 if error
+ */
+int ipmi_close_(void);
+int ipmi_close(void); /*ditto*/
+/*-----------------------------------------------------------------*
+ * These externals are conditionally compiled in ipmicmd.c
+ ipmi_cmdraw_ia() Intel IMB driver, /dev/imb
+ ipmi_cmdraw_mv() MontaVista OpenIPMI driver
+ ipmi_cmdraw_va() VALinux driver
+ ipmi_cmdraw_ld() LANDesk driver
+ ipmi_cmdraw_direct() Direct/Driverless KCS or SSIF
+ ipmi_cmdraw_lan() IPMI LAN
+ ipmi_cmdraw_lan2() IPMI LANplus (RMCP+ in IPMI 2.0)
+ *-----------------------------------------------------------------*/
+
+/*
+ * parse_lan_options
+ * Parse the IPMI LAN options from the command-line getopt.
+ * int c (input): command-line option from getopt, one of:
+ case 'F': force driver type
+ case 'T': auth type
+ case 'V': priv level
+ case 'J': cipher suite
+ case 'N': nodename
+ case 'U': username
+ case 'R': remote password
+ case 'P': remote password
+ case 'E': get password from IPMI_PASSWORD environment var
+ case 'Y': prompt for remote password
+ case 'Z': set local MC address
+ * char *optarg (input): command-line argument from getopt
+ * char fdebug (input): show debug messages if =1, default=0
+ */
+void parse_lan_options(int c, char *optarg, char fdebug);
+/*
+ * set_lan_options
+ * Use this routine to set the lan options 'gnode','guser','gpswd', etc.
+ * This would only be required before opening a new session.
+ * char *node (input): IP address or nodename of remote node's IPMI LAN
+ * char *user (input): IPMI LAN username
+ * char *pswd (input): IPMI LAN password
+ * int auth (input): IPMI LAN authentication type (1 - 5)
+ * IPMI_SESSION_AUTHTYPE_NONE 0x00
+ * IPMI_SESSION_AUTHTYPE_MD2 0x01
+ * IPMI_SESSION_AUTHTYPE_MD5 0x02
+ * IPMI_SESSION_AUTHTYPE_PASSWORD 0x04
+ * IPMI_SESSION_AUTHTYPE_OEM 0x05
+ * int priv (input): IPMI LAN privilege level (1 - 5)
+ * IPMI_PRIV_LEVEL_CALLBACK 0x01
+ * IPMI_PRIV_LEVEL_USER 0x02
+ * IPMI_PRIV_LEVEL_OPERATOR 0x03
+ * IPMI_PRIV_LEVEL_ADMIN 0x04
+ * IPMI_PRIV_LEVEL_OEM 0x05
+ * int cipher (input): IPMI LAN cipher suite (0 thru 17, default is 3)
+ * See table 22-19 in the IPMIv2 spec.
+ * void *addr (input): Socket Address to use (SOCKADDR_T *) if not NULL
+ * This is only used in itsol.c because it has an
+ * existing socket open. Default is NULL for this.
+ * int addr_len (input): length of Address buffer (128 if ipv6, 16 if ipv4)
+ * returns 0 if successful, <0 if error
+ */
+int set_lan_options(char *node, char *user, char *pswd, int auth, int priv,
+ int cipher, void *addr, int addr_len);
+int get_lan_options(char *node, char *user, char *pswd, int *auth, int *priv,
+ int *cipher, void *addr, int *addr_len);
+void print_lan_opt_usage(void);
+int ipmi_getdeviceid(uchar *presp, int sresp, char fdebugcmd);
+/* int ipmi_open(void); * embedded in ipmi_cmd() */
+int ipmi_getpicmg(uchar *presp, int sresp, char fdebug);
+char *show_driver_type(int idx);
+int set_driver_type(char *tag);
+int get_driver_type(void);
+int nodeislocal(char *nodename);
+
+/* These *_mc routines are used to manage changing the mc.
+ * The local mc (mymc) may be changed via -Z, and
+ * the remote mc (mc) may be changed with -m. */
+void ipmi_set_mc(uchar bus, uchar sa, uchar lun, uchar type);
+void ipmi_get_mc(uchar *bus, uchar *sa, uchar *lun, uchar *type);
+void ipmi_restore_mc(void);
+void ipmi_set_mymc(uchar bus, uchar sa, uchar lun, uchar type);
+void ipmi_get_mymc(uchar *bus, uchar *sa, uchar *lun, uchar *type);
+/* ipmi_cmdraw_mc and ipmi_cmd_mc are used in cases where the mc may
+ * have been changed via ipmi_set_mc. */
+int ipmi_cmdraw_mc(uchar cmd, uchar netfn,
+ uchar *pdata, int sdata, uchar *presp,
+ int *sresp, uchar *pcc, char fdebugcmd);
+int ipmi_cmd_mc(ushort icmd, uchar *pdata, int sdata, uchar *presp,
+ int *sresp, uchar *pcc, char fdebugcmd);
+
+/* ipmi_sendrecv is a wrapper for ipmi_cmdraw which maps to ipmitool syntax */
+int ipmi_sendrecv(struct ipmi_rq * req, uchar *rsp, int *rsp_len);
+
+/* other common subroutines */
+char * decode_rv(int rv); /*ipmicmd.c*/
+char * decode_cc(ushort icmd, int cc);
+void dump_buf(char *tag,uchar *pbuf,int sz, char fshowascii);
+int get_lan_channel(uchar chstart, uchar *chan);
+void show_fru_picmg(uchar *pdata, int dlen); /* ifru_picmg.c*/
+
+/* show_outcome outputs the meaning of the return code. */
+void show_outcome(char *prog, int ret);
+
+/* these log routines are primarily for the isol debug log */
+FILE *open_log(char *mname);
+void close_log(void);
+void flush_log(void);
+void print_log( char *pattn, ... );
+void dump_log(FILE *fp,char *tag,uchar *pbuf,int sz, char fshowascii);
+void logmsg( char *pname, char *pattn, ... );
+
+#ifdef WIN32
+/* Implement the Linux strncasecmp for Windows. */
+int strncasecmp(const char *s1, const char *s2, int n);
+#endif
+const char *val2str(ushort val, const struct valstr *vs); /*ipmilanplus.c*/
+const char * oemval2str(ushort oem, uchar val, const struct oemvalstr *vs);
+void set_debug(void); /*used only by oem_sun.c*/
+void set_iana(int iana); /*ipmicmd.c*/
+void set_mfgid(uchar *devid, int len);
+void get_mfgid(int *pvend, int *pprod);
+void get_devid_ver(uchar *bmaj, uchar *bmin, uchar *iver);
+
+char *get_nodename(void);
+char is_remote(void);
+void show_devid(uchar b1, uchar b2, uchar i1, uchar i2);
+int set_max_kcs_loops(int ms); /* ipmicmd.c, calls ipmidir.c if ok */
+
+/* These common subroutines are in subs.c */
+int str_icmp(char *s1, char *s2); /*used internally in ipmicmd.c*/
+char * strdup_(const char *instr); /*wrapper for strdup, supports WIN32*/
+int strlen_(const char *s); /*wrapper for strlen, avoids compile warnings*/
+uchar htoi(char *inhex);
+void os_usleep(int s, int u);
+char *get_iana_str(int mfg); /*subs.c*/
+int get_errno(void); /*subs.c*/
+const char * buf2str(uchar * buf, int len); /*subs.c*/
+int str2uchar(char *str_in, uchar *uchr_out);
+uchar atob(char *str_in); /* calls str2uchar*/
+void atoip(uchar *array,char *instr);
+int get_system_info(uchar parm, char *pbuf, int *szbuf); /*subs.c*/
+int set_system_info(uchar parm, uchar *pbuf, int szbuf); /*subs.c*/
+int ipmi_reserved_user(int vend, int userid); /*subs.c*/
+
+/* from mem_if.c */
+int get_BiosVersion(char *str);
+
+/* See util/isensor.h for SDR cache routines. */
+/* See util/ievents.h for sensor_type_desc, sel_opts, decode_sel routines. */
+
+
+--------------------------
+10.0 RELATED INFORMATION
+--------------------------
+
+10.1 History
+
+History of ipmiutil:
+This project started in October 2001 as part of the Carrier Grade Linux effort.
+It was then known as 'panicsel' and included a kernel patch to write a Linux
+panic event to the IPMI firmware log, as well as utilities.
+This code was first included in MontaVista CGE Linux 2.1 in July 2002.
+The panicsel functionality was included in OSDL CGL 1.0 and 2.0 requirements.
+The kernel panic functionality was included in the OpenIPMI driver for 2.6
+Linux kernels. Compile flags for Windows 2000 & 2003 support were added in
+Jan 2004.
+In August 2004, 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, support for the FreeIPMI library was added.
+A Linux rpm and a Windows setup package for ipmiutil is included on the
+Resource CD with Intel carrier-grade servers.
+The ipmiutil (or panicsel) rpm is known to be included in the following
+distributions: MontaVista CGE 2.1/3.0/3.1/4.0, SuSE SLES9, Red Flag 5.0
+
+
+10.2 Links
+
+Links with information related to the IPMI Management Utilities project.
+
+ipmiutil project, sourceforge http://ipmiutil.sourceforge.net (current)
+panicsel project, sourceforge http://panicsel.sourceforge.net (old)
+IPMI Specification http://www.intel.com/design/servers/ipmi/index.htm
+OSDL Carrier Grade Linux http://www.osdl.org/lab_activities/carrier_grade_linux/
+Intel imb driver source http://downloadfinder.intel.com/scripts-df-external/Product_Search.asp?Prod_nm=ipmi*driver*source
+Intel imb driver for Windows http://downloadfinder.intel.com/scripts-df-external/Product_Search.aspx?Prod_nm=imb+driver
+OpenIPMI project http://sourceforge.net/projects/openipmi/
+ by Corey Minyard of MontaVista (home= http://openipmi.sourceforge.net)
+ipmitools project by San Mehat http://sourceforge.net/projects/ipmitools/
+ valinux IPMI driver http://cvs.sf.net/cgi-bin/viewcvs.cgi/ipmitools/ipmitools/kernel/kcs/patches/2.4.x/
+GNU FreeIPMI library project http://www.gnu.org/software/freeipmi/
+LANDesk IPMI driver/daemon http://www.landesk.com/Support/ (or see
+ Intel System Resource CD for Intel servers)
+lm-sensors project http://secure.netroedge.com/~lm78/
+dmidecode project http://www.nongnu.org/dmidecode/
+IPMI vendor/mfg IDs http://www.iana.org/assignments/enterprise-numbers
+
diff --git a/doc/bmclanaol.mib b/doc/bmclanaol.mib
new file mode 100644
index 0000000..bdac611
--- /dev/null
+++ b/doc/bmclanaol.mib
@@ -0,0 +1,210 @@
+--************************************************************************\
+--* *
+--* Copyright (c) 1998-2004 Intel Corporation. All Rights Reserved. *
+--* *
+--* Redistribution and use in source and binary forms, with or without *
+--* modification, are permitted provided that the following conditions *
+--* are met: *
+--* *
+--* a.. Redistributions of source code must retain the above copyright *
+--* notice, this list of conditions and the following disclaimer. *
+--* b.. Redistributions in binary form must reproduce the above *
+--* copyright notice, this list of conditions and the following *
+--* disclaimer in the documentation and/or other materials provided *
+--* with the distribution. *
+--* c.. Neither the name of Intel Corporation nor the names of its *
+--* contributors may be used to endorse or promote products derived *
+--* from this software without specific prior written permission. *
+--* *
+--* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
+--* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *
+--* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR *
+--* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT *
+--* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *
+--* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *
+--* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
+--* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON *
+--* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR *
+--* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF *
+--* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
+--* DAMAGE. *
+--* *
+--\***********************************************************************/
+
+--/**************************************************************************
+--*
+--* NAME:
+--* aolnprxy.mib
+--*
+--* DESCRIPTION:
+--* Alert on LAN MIB
+--*
+--*
+--* $WorkFile: $
+--* $Revision: 6 $
+--* $ModTime: $
+--* $Author: Psaranga $
+--*
+--***************************************************************************
+
+PET-MIB
+
+DEFINITIONS ::= BEGIN
+
+-- Title : Alert on LAN pET MIB version 1.0.
+
+IMPORTS
+ MODULE-IDENTITY,
+ OBJECT-TYPE,
+ Integer32, IpAddress
+ FROM SNMPv2-SMI
+ enterprises
+ FROM RFC1155-SMI
+ DisplayString
+ FROM RFC1213-MIB
+ TRAP-TYPE
+ FROM RFC-1215
+ ;
+
+
+wired_for_management OBJECT IDENTIFIER ::= { enterprises 3183 }
+pET OBJECT IDENTIFIER ::= { wired_for_management 1 }
+pET_version_1 OBJECT IDENTIFIER ::= { pET 1 }
+
+
+-- MODULE IDENTIFICATION
+--
+-- Alert_on_LAN MODULE-IDENTITY
+-- LAST-UPDATED "9807210000Z"
+-- ORGANIZATION "Intel Corporation"
+-- CONTACT-INFO
+-- " Alert On LAN* Software
+-- Intel Corporation, JF3-4
+-- Hillsboro, OR. "
+-- DESCRIPTION
+-- " This is the pET MIB. Version 1.0 "
+-- We should be able to plug this branch into any tree from this point forward
+
+
+-- ****************************************
+-- SYSTEM INFORMATION BRANCH STARTS HERE.
+-- ****************************************
+
+
+pETTrap OBJECT-TYPE
+ SYNTAX OCTET STRING ( SIZE(110) )
+ ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Trap information"
+::= { pET_version_1 1 }
+
+pET_PresenceHeartbeat TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "Presence Heartbeat Expired"
+ ::= 2584320
+
+pET_CoverTamper TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "Cover Tamper"
+ ::= 356096
+
+pET_Voltage_Fan_Temperature TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "Voltage/Fan/Temperature Out of Specification"
+ ::= 552706
+
+pET_LANLeash TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "LAN Leash Tamper"
+ ::= 356100
+
+pET_Temperature TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "Temperature Out of Specification"
+ ::= 93952
+
+pET_ProcessorMissing TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "Processor Missing"
+ ::= 356099
+
+pET_ProcessorTemperature TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "Processor Over Temperature"
+ ::= 487169
+
+pET_Watchdog TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "Watchdog Event"
+ ::= 1142534
+
+pET_P_O_S_T TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "P.O.S.T."
+ ::= 1011456
+
+pET_Voltage TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "Voltage Out of Specification"
+ ::= 159488
+
+pET_Fan TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "Fan Out of Specification"
+ ::= 290560
+
+pET_Fan_Temperature TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "Fan/Temperature Out of Specification"
+ ::= 683778
+
+pET_Undock TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "Surprised Undock event"
+ ::= 356101
+
+pET_EventClear TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "Event clear"
+ ::= 1076994
+
+pET_AlertOnLAN_2 TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "Alert on LAN 2 Event has occurred"
+ ::= 2277391
+
+pET_AlertOnLAN_Boot TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "System Boot Event occurred"
+ ::= 1208065
+
+pET_AlertOnLAN_Fan TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "Fan Event occurred"
+ ::= 262400
+
+pET_AlertOnLAN_Fan2 TRAP-TYPE
+ ENTERPRISE pET_version_1
+ DESCRIPTION
+ "Fan Event occurred"
+ ::= 262402
+
+END
diff --git a/doc/bmclanpet.mib b/doc/bmclanpet.mib
new file mode 100644
index 0000000..5f7641e
--- /dev/null
+++ b/doc/bmclanpet.mib
@@ -0,0 +1,1083 @@
+--/************************************************************************
+--* *
+--* Copyright (c) 1998-2004 Intel Corporation. All Rights Reserved. *
+--* *
+--* Redistribution and use in source and binary forms, with or without *
+--* modification, are permitted provided that the following conditions *
+--* are met: *
+--* *
+--* a.. Redistributions of source code must retain the above copyright *
+--* notice, this list of conditions and the following disclaimer. *
+--* b.. Redistributions in binary form must reproduce the above *
+--* copyright notice, this list of conditions and the following *
+--* disclaimer in the documentation and/or other materials provided *
+--* with the distribution. *
+--* c.. Neither the name of Intel Corporation nor the names of its *
+--* contributors may be used to endorse or promote products derived *
+--* from this software without specific prior written permission. *
+--* *
+--* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
+--* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *
+--* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR *
+--* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT *
+--* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *
+--* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *
+--* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
+--* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON *
+--* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR *
+--* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF *
+--* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
+--* DAMAGE. *
+--* *
+--*************************************************************************
+--* Name : PetEvents.mib
+--* Description : MIB file for PET events
+--* Created : Wesdnesday, December 17, 2003
+--* Author : Intel Corporation
+--*
+--* $History:$
+--*
+--* Date : March 7th,2002
+--* Changed by :
+--* Change Description : Updated MIB file
+--*
+--* Date : December 17th,2003
+--* Changed by :
+--* Change Description : Started with ASF MIB file
+--*
+--*************************************************************************/
+
+
+
+PET-EVENTS DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ enterprises
+ FROM RFC1155-SMI
+ OBJECT-TYPE
+ FROM RFC-1212
+
+ TRAP-TYPE
+ FROM RFC-1215
+
+
+ DisplayString
+ FROM RFC1213-MIB;
+
+ wiredformgmt OBJECT IDENTIFIER ::= { enterprises 3183 }
+ pet OBJECT IDENTIFIER ::= { wiredformgmt 1 }
+
+-- MODULE IDENTIFICATION
+--
+-- PET Events Alerting MODULE-IDENTITY
+-- LAST-UPDATED "February 4, 2004"
+-- ORGANIZATION "Intel Corporation"
+-- CONTACT-INFO
+-- " PET Events,
+-- Intel Corporation, DP3-407
+-- DuPont, WA 98352"
+-- DESCRIPTION
+-- "This is the MIB file for SNMPv1.0 based PET traps"
+
+
+-- ****************************************
+-- SYSTEM INFORMATION BRANCH STARTS HERE.
+-- ****************************************
+
+ petevts OBJECT IDENTIFIER ::= { pet 1 }
+
+
+-- **********************************************
+-- * Temperature *
+-- **********************************************
+
+-- Lower Non Critical threshold crossed
+ trapUnderTemperatureWarning TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Under-Temperature Warning (Lower non-critical, going low)"
+
+ --#TYPE "Temperature Event"
+ --#SUMMARY "Under-Temperature Warning (Lower non-critical, going low)"
+ --#ARGUMENTS {}
+ --#SEVERITY WARNING
+
+ ::= 65792
+
+-- Lower Critical threshold crossed
+ trapUnderTemperatureCritical TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Critical Under-Temperature Problem (Lower Critical - going low)"
+
+ --#TYPE "Temperature Event"
+ --#SUMMARY "Critical Under-Temperature Problem (Lower Critical - going low)"
+ --#ARGUMENTS {}
+ --#SEVERITY CRITICAL
+
+ ::= 65794
+
+-- Upper Non Critical threshold crossed
+ trapOverTemperatureWarning TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Over-Temperature Warning (Upper non-critical, going high)"
+
+ --#TYPE "Temperature Event"
+ --#SUMMARY "Over-Temperature Warning (Upper non-critical, going high)"
+ --#ARGUMENTS {}
+ --#SEVERITY WARNING
+
+ ::= 65799
+
+-- Upper Critical threshold crossed
+ trapOverTemperatureCritical TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Critical Over-Temperature Problem (Upper Critical - going high)"
+
+ --#TYPE "Temperature Event"
+ --#SUMMARY "Critical Over-Temperature Problem (Upper Critical - going high)"
+ --#ARGUMENTS {}
+ --#SEVERITY CRITICAL
+
+ ::= 65801
+
+-- Back to Normal from Lower Non Critical
+ trapUnderTemperatureWarningCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Under-Temperature Warning Cleared"
+
+ --#TYPE "Temperature Event"
+ --#SUMMARY "Under-Temperature Warning Cleared"
+ --#ARGUMENTS {}
+ --#SEVERITY INFORMATIONAL
+
+ ::= 65920
+
+-- Back to Normal from Lower Critical
+ trapUnderTemperatureCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Under-Temperature Problem Cleared"
+
+ --#TYPE "Temperature Event"
+ --#SUMMARY "Under-Temperature Problem Cleared"
+ --#ARGUMENTS {}
+ --#SEVERITY INFORMATIONAL
+
+ ::= 65922
+
+-- Back to Normal from Upper Non Critical
+ trapOverTemperatureWarningCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Over-Temperature warning Cleared"
+
+ --#TYPE "Temperature Event"
+ --#SUMMARY "Over-Temperature Warning Cleared"
+ --#ARGUMENTS {}
+ --#SEVERITY INFORMATIONAL
+
+ ::= 65927
+
+-- Back to Normal from Upper Critical
+ trapOverTemperatureCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Over-Temperature Problem Cleared"
+
+ --#TYPE "Temperature Event"
+ --#SUMMARY "Over-Temperature Problem Cleared"
+ --#ARGUMENTS {}
+ --#SEVERITY INFORMATIONAL
+
+ ::= 65929
+
+-- Generic critical temperature problem
+ trapGenericCriticalTemperature TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Generic Critical Temperature Problem (Transition to Critical from less severe)"
+
+ --#TYPE "Temperature Event"
+ --#SUMMARY "Generic Critical Temperature Problem (Transition to Critical from less severe)"
+ --#ARGUMENTS {}
+ --#SEVERITY CRITICAL
+
+ ::= 67330
+
+-- Generic temperature warning
+ trapGenericTemperatureWarning TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Generic Temperature Warning (Transition to Warning from less severe)"
+
+--#TYPE "Temperature Event"
+--#SUMMARY "Generic Temperature Warning (Transition to Warning from less severe)"
+--#ARGUMENTS {}
+--#SEVERITY WARNING
+
+ ::= 67331
+
+
+-- **********************************************
+-- * Voltage *
+-- **********************************************
+
+-- (Analog voltage) Lower Non Critical threshold crossed
+ trapUnderAnalogVoltageWarning TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Under-Voltage Warning (Lower Non Critical - going low)"
+--#TYPE "Voltage Event"
+--#SUMMARY "Under-Voltage Warning (Lower Non Critical - going low)"
+--#ARGUMENTS {}
+--#SEVERITY WARNING
+
+ ::= 131328
+
+-- (Analog voltage) Lower Critical threshold crossed
+ trapUnderAnalogVoltageCritical TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Critical Under-Voltage Problem (Lower Critical - going low)"
+
+--#TYPE "Voltage Event"
+--#SUMMARY "Critical Under-Voltage Problem (Lower Critical - going low)"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 131330
+
+-- (Analog voltage) Upper Non Critical threshold crossed
+ trapOverAnalogVoltageWarning TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Over-Voltage Warning (Upper Non Critical - going high)"
+
+--#TYPE "Voltage Event"
+--#SUMMARY "Over-Voltage Warning (Upper Non Critical - going high)"
+--#ARGUMENTS {}
+--#SEVERITY WARNING
+
+ ::= 131335
+
+-- (Analog voltage) Upper Critical threshold crossed
+ trapOverAnalogVoltageCritical TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Critical Over-Voltage Problem (Upper Critical - going high)"
+
+--#TYPE "Voltage Event"
+--#SUMMARY "Critical Over-Voltage Problem (Upper Critical - going high)"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 131337
+
+-- (Analog voltage) Voltage back to OK from Lower Non Critical
+ trapUnderAnalogVoltageWarningCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Under-Voltage Warning Cleared"
+
+--#TYPE "Voltage Event"
+--#SUMMARY "Under-Voltage Warning Cleared"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 131456
+
+-- (Analog voltage) Voltage back to OK from Lower Non Critical
+ trapUnderAnalogVoltageCriticalCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Under-Voltage Problem Cleared"
+
+--#TYPE "Voltage Event"
+--#SUMMARY "Under-Voltage Problem Cleared"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 131458
+
+-- (Analog voltage) Voltage back to OK from Upper Non Critical Warning
+ trapOverAnalogVoltageWarningCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Over-Voltage Warning Cleared"
+
+--#TYPE "Voltage Event"
+--#SUMMARY "Over-Voltage Warning Cleared"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 131463
+
+-- (Analog voltage) Voltage back to OK from Upper Critical
+ trapOverAnalogVoltageCriticalCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Over-Voltage Problem Cleared"
+
+--#TYPE "Voltage Event"
+--#SUMMARY "Over-Voltage Problem Cleared"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 131465
+
+-- (Discrete voltage) Critical voltage problem
+ trapGenericCriticalDiscreteVoltageCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Generic Critical Voltage Problem Cleared"
+
+--#TYPE "Voltage Event"
+--#SUMMARY "Generic Critical Voltage Problem Cleared"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 131840
+
+-- (Discrete voltage) Critical voltage problem
+ trapGenericCriticalDiscreteVoltage TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Generic Critical Voltage Problem (Transition to Critical from less severe)"
+
+--#TYPE "Voltage Event"
+--#SUMMARY "Generic Critical Voltage Problem (Transition to Critical from less severe)"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 131841
+
+-- (Discrete voltage) Critical voltage problem
+ trapGenericCriticalDiscreteVoltage2 TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Generic Critical Voltage Problem (Transition to Critical from less severe)"
+
+--#TYPE "Voltage Event"
+--#SUMMARY "Generic Critical Voltage Problem (Transition to Critical from less severe)"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 132866
+
+-- (Discrete voltage) Non-Critical voltage problem
+ trapGenericDiscreteVoltageWarning TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Generic Voltage Warning (Transition to Non-Critical from less severe)"
+
+--#TYPE "Voltage Event"
+--#SUMMARY "Generic Voltage Warning (Transition to Non-Critical from less severe)"
+--#ARGUMENTS {}
+--#SEVERITY WARNING
+
+ ::= 132867
+
+
+-- **********************************************
+-- * Fan *
+-- **********************************************
+
+-- Lower Non Critical threshold crossed
+ trapFanUnderSpeedWarning TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Fan speed warning (Fan speed below expected speed)"
+
+--#TYPE "Fan Event"
+--#SUMMARY "Fan speed Warning (Fan speed below expected speed)"
+--#ARGUMENTS {}
+--#SEVERITY WARNING
+
+ ::= 262400
+
+-- Fan Lower Critical threshold crossed
+ trapFanCriticalUnderSpeed TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Generic Critical Fan Failure (Transition to Critical from less severe)"
+
+--#TYPE "Fan Event"
+--#SUMMARY "Critical Fan Failure (Transition to Critical from less severe)"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 262402
+
+-- Fan back to OK from warning level
+ trapFanUnderSpeedWarningCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Fan speed Warning Cleared"
+
+--#TYPE "Fan Event"
+--#SUMMARY "Fan speed Warning Cleared"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 262528
+
+-- Fan back to OK from critical level
+ trapFanCriticalUnderSpeedCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Critical Fan Failure Cleared"
+
+--#TYPE "Fan Event"
+--#SUMMARY "Critical Fan Failure Cleared"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 262530
+
+-- Fan Full Redundancy
+ trapFanFullRedundancy TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Fan redundancy has returned to Normal"
+
+--#TYPE "Fan Event"
+--#SUMMARY "Fan redundancy has returned to Normal"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 264960
+
+-- Fan Redundancy lost
+ trapFanRedundancyLost TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Fan Redundancy has been Lost"
+
+--#TYPE "Fan Event"
+--#SUMMARY "Fan Redundancy has been Lost"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 264961
+
+-- Fan Redundancy degraded
+ trapFanRedundancyDegraded TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Fan Redundancy is in a degraded state"
+
+--#TYPE "Fan Event"
+--#SUMMARY "Fan Redundancy is in a degraded state"
+--#ARGUMENTS {}
+--#SEVERITY WARNING
+
+ ::= 264962
+
+
+-- **********************************************
+-- * Power Supply *
+-- **********************************************
+
+-- Power Supply Full Redundancy
+ trapPowerSupplyFullRedundancy TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Power Supply Redundancy Has Returned to Normal"
+
+--#TYPE "Power Supply Event"
+--#SUMMARY "Power Supply Redundancy Has Returned to Normal"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 527104
+
+-- Power Supply Redundancy lost
+ trapPowerSupplyRedundancyLost TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Power Supply Redundancy has been Lost"
+
+--#TYPE "Power Supply Event"
+--#SUMMARY "Power Supply Redundancy has been Lost"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 527105
+
+-- Power Supply Redundancy degraded
+ trapPowerSupplyRedundancyDegraded TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Power Supply Redundancy is in a degraded state"
+
+--#TYPE "Power Supply Event"
+--#SUMMARY "Power Supply Redundancy is in a degraded state"
+--#ARGUMENTS {}
+--#SEVERITY WARNING
+
+ ::= 527106
+
+-- Power Supply presence detected
+ trapPowerSupplyPresenceDeteced TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Power Supply Inserted"
+
+--#TYPE "Power Supply Event"
+--#SUMMARY "Power Supply Inserted"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 552704
+
+trapPowerSupplyFailureDetected TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Power supply Failure detected"
+
+--#TYPE "Power Supply Event"
+--#SUMMARY "Power Supply failure detected"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 552705
+
+trapPowerSupplyWarning TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Power supply Warning"
+
+--#TYPE "Power Supply Event"
+--#SUMMARY "Power Supply Warning"
+--#ARGUMENTS {}
+--#SEVERITY WARNING
+
+ ::= 552706
+
+ -- AC Lost
+ trapPowerSupplyACLost TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Power Supply AC Lost"
+
+--#TYPE "Power Supply Event"
+--#SUMMARY "Power Supply AC Lost"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 552707
+
+-- Power Supply removed
+ trapPowerSupplyPresenceRemoved TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Power Supply Removed"
+
+--#TYPE "Power Supply Event"
+--#SUMMARY "Power Supply Removed"
+--#ARGUMENTS {}
+--#SEVERITY WARNING
+
+ ::= 552832
+
+-- Back to normal from failure
+ trapPowerSupplyFailureCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Power Supply Failure Cleared"
+
+--#TYPE "Power Supply Event"
+--#SUMMARY "Power Supply Failure Cleared"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 552833
+
+-- Predictive Failure cleared
+ trapPowerSupplyWarningCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Power Supply Warning Cleared"
+
+--#TYPE "Power Supply Event"
+--#SUMMARY "Power Supply Warning Cleared"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 552834
+
+ -- AC Back
+ trapPowerSupplyACBack TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Power Supply AC Restored"
+
+--#TYPE "Power Supply Event"
+--#SUMMARY "Power Supply AC Restored"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 552835
+
+-- Power Unit Redundancy OK
+ trapPowerUnitRedundancyOk TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Power Unit Redundancy has been restored"
+
+--#TYPE "Power Supply Event"
+--#SUMMARY "Power Unit Redundancy has been restored"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 592640
+
+-- Power Unit Redundancy lost
+ trapPowerUnitRedundancyLost TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Power Unit Redundancy has been Lost"
+
+--#TYPE "Power Supply Event"
+--#SUMMARY "Power Unit Redundancy has been Lost"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 592641
+
+-- **********************************************
+-- * Processor *
+-- **********************************************
+
+-- Processor internal error
+ trapProcessorInternalError TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Processor Internal Error"
+
+--#TYPE "Processor Event"
+--#SUMMARY "Processor Internal Error"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 487168
+
+-- Processor Thermal Trip
+ trapProcessorThermalTrip TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Processor Thermal Trip (Over Temperature Shutdown)"
+
+--#TYPE "Processor Event"
+--#SUMMARY "Processor Thermal Trip (Over Temperature Shutdown)"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 487169
+
+-- Processor Fault Resilient Booting (FRB) 1 / Built-in self test (BIST) Error
+ trapProcessorBistError TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Processor Fault Resilient Booting (FRB) 1 / BIST (Built In Self Test) Failure"
+
+--#TYPE "Processor Event"
+--#SUMMARY "Processor Fault Resilient Booting (FRB) 1 / Processor BIST (Built In Self Test) Failure"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 487170
+
+-- Processor Fault Resilient Booting (FRB) 2 / Hang in Power On Self Test (POST)
+trapProcessorFRB2Failure TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Processor Fault Resilient Booting (FRB) 2 / Hang in Power On Self Test (POST) Failure"
+
+--#TYPE "Processor Event"
+--#SUMMARY "Processor Fault Resilient Booting (FRB) 2 / Hang in Power On Self Test (POST) Failure"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 487171
+
+-- Processor Fault Resilient Booting (FRB) 3 / Processor Setup / Initialization Failure
+trapProcessorFRB3Failure TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Processor Fault Resilient Booting (FRB) 3 / Processor Setup / Initialization Failure"
+
+--#TYPE "Processor Event"
+--#SUMMARY "Processor Fault Resilient Booting (FRB) 3 / Processor Setup / Initialization Failure"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 487172
+
+-- Processor config error
+ trapProcessorConfigError TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Processor Configuration Error"
+
+--#TYPE "Processor Event"
+--#SUMMARY "Processor Configuration Error"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 487173
+
+-- Processor throttle.
+ trapProcessorThrottle TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Processor Throttled (Processor Speed Reduced)"
+
+--#TYPE "Processor Event"
+--#SUMMARY "Processor Throttled (Processor Speed Reduced)"
+--#ARGUMENTS {}
+--#SEVERITY WARNING
+
+ ::= 487178
+
+-- Processor internal error cleared
+ trapProcessorInternalErrorCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Processor Internal Error Cleared"
+
+--#TYPE "Processor Event"
+--#SUMMARY "Processor Internal Error Cleared"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 487296
+
+-- Processor Back to normal from Thermal Trip
+ trapProcessorThermalTripCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Processor Thermal Trip (Over Temperature Shutdown) Cleared"
+
+--#TYPE "Processor Event"
+--#SUMMARY "Processor Thermal Trip (Over Temperature Shutdown) Cleared"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 487297
+
+-- Processor BIST Error cleared
+ trapProcessorBistErrorCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Processor BIST (Built In Self Test) Failure Cleared"
+
+--#TYPE "Processor Event"
+--#SUMMARY "Processor BIST (Built In Self Test) Failure Cleared"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 487298
+
+-- Processor config error cleared
+ trapProcessorConfigErrorCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Processor Configuration Error Cleared"
+
+--#TYPE "Processor Event"
+--#SUMMARY "Processor Configuration Error Cleared"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 487301
+
+-- Processor return to normal from throttled
+ trapProcessorThrottleCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Processor Throttle Cleared (Normal Processor Speed)"
+
+--#TYPE "Processor Event"
+--#SUMMARY "Processor Throttle Cleared (Normal Processor Speed)"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 487306
+
+-- **********************************************
+-- * Memory *
+-- **********************************************
+
+trapMemoryUncorrectableECC TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Uncorrectable ECC or other uncorrectable memory error"
+
+--#TYPE "Memory Event"
+--#SUMMARY "Uncorrectable ECC or other uncorrectable memory error"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 814849
+
+
+--**********************
+--* Chassis Intrusion *
+--**********************
+
+-- Chassis Intrusion
+ trapChassisIntrusion TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Chassis Intrusion - Physical Security Violation"
+
+--#TYPE "Chassis Intrusion Event"
+--#SUMMARY "Chassis Intrusion - Physical Security Violation"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 356096
+
+-- Chassis Intrusion cleared
+ trapChassisIntrusionCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Chassis Intrusion (Physical Security Violation) Event Cleared"
+
+--#TYPE "Chassis Intrusion Event"
+--#SUMMARY "Chassis Intrusion( Physical Security Violation) Event Cleared"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 356224
+
+
+-- **********************************************
+-- * Critical Interrupts *
+-- **********************************************
+
+-- Critical Interrupt, Bus timeout error
+trapCriticalInterruptBusTimeout TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Critical Interrupt, Bus Timeout error"
+
+--#TYPE "Critical Interrupts Event"
+--#SUMMARY "Critical Interrupt, Bus Timeout error"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 1273601
+
+-- Critical Interrupt, IO Channel Non-Maskable Interrupt
+trapCriticalInterruptIOChannelNMI TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Critical Interrupt, IO Channel check NMI error"
+
+--#TYPE "Critical Interrupts Event"
+--#SUMMARY "Critical Interrupt, IO Channel check NMI error"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 1273602
+
+-- Critical Interrupt, Software Non-Maskable Interrupt error
+trapCriticalInterruptSoftwareNMI TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Critical Interrupt, software NMI error"
+
+--#TYPE "Critical Interrupts Event"
+--#SUMMARY "Critical Interrupt, software NMI error"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 1273603
+
+-- Non special-cycle parity errors
+trapCriticalInterruptPCIPERR TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Critical Interrupt, PCI PERR parity error"
+
+--#TYPE "Critical Interrupts Event"
+--#SUMMARY "Critical Interrupt, PCI PERR parity error"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 1273604
+
+-- Special-cycle parity errors
+trapCriticalInterruptPCISERR TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Critical Interrupt, PCI SERR parity error"
+
+--#TYPE "Critical Interrupts Event"
+--#SUMMARY "Critical Interrupt, PCI SERR parity error"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 1273605
+
+-- Bus uncorrectable error
+trapCriticalInterruptBusUncorrect TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Critical Interrupt, Bus Uncorrectable error"
+
+--#TYPE "Critical Interrupts Event"
+--#SUMMARY "Critical Interrupt, Bus Uncorrectable error"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 1273608
+
+-- Fatal non-maskable interrupt (NMI)
+trapCriticalInterruptFatalNMI TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Critical Interrupt, Fatal NMI error"
+
+--#TYPE "Critical Interrupts Event"
+--#SUMMARY "Critical Interrupt, Fatal NMI error"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 1273609
+
+
+-- **********************************************
+-- * System Firmware Progress *
+-- **********************************************
+
+-- Power On Self Test (POST) code error
+trapBIOSPOSTCodeError TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "System Firmware Progress: BIOS POST code error"
+
+--#TYPE "System Firmware Progress Event"
+--#SUMMARY "System Firmware Progress: BIOS POST code error"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 1011456
+
+
+-- **********************************************
+-- * WatchDog *
+-- **********************************************
+
+-- Watchdog reset event
+trapWatchdogReset TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Watchdog Reset"
+
+--#TYPE "Watchdog Event"
+--#SUMMARY "Watchdog Reset"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 2322177
+
+-- Watchdog power down event
+trapWatchdogPowerDown TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Watchdog Power Down"
+
+--#TYPE "Watchdog Event"
+--#SUMMARY "Watchdog Power Down"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 2322178
+
+-- Watchdog power cycle event
+trapWatchdogPowerCycle TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "Watchdog Power Cycle"
+
+--#TYPE "Watchdog Event"
+--#SUMMARY "Watchdog Power cycle"
+--#ARGUMENTS {}
+--#SEVERITY WARNING
+
+ ::= 2322179
+
+
+-- **********************************************
+-- * System Event Log *
+-- **********************************************
+
+-- System Event Log Cleared
+ trapSystemEventLogCleared TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "System Event Log (SEL) Cleared"
+
+--#TYPE "System Event Log"
+--#SUMMARY "System Event Log (SEL) Cleared"
+--#ARGUMENTS {}
+--#SEVERITY INFORMATIONAL
+
+ ::= 1076994
+
+-- System Event Log Full
+ trapSystemEventLogFull TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "System Event Log (SEL) Full (Logging Disabled)"
+
+--#TYPE "System Event Log"
+--#SUMMARY "System Event Log (SEL) Full (Logging Disabled)"
+--#ARGUMENTS {}
+--#SEVERITY CRITICAL
+
+ ::= 1076995
+
+
+-- **********************************************
+-- * System *
+-- **********************************************
+
+-- System boot event
+trapSystemBootEvent TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "System Boot Event"
+
+--#TYPE "System Event"
+--#SUMMARY "System Boot Event"
+--#ARGUMENTS {}
+--#SEVERITY WARNING
+
+ ::= 1208065
+
+-- **********************************************
+-- * Linux Panic, Critical Stop *
+-- **********************************************
+
+-- Linux panic event
+trapOSCriticalStop TRAP-TYPE
+ ENTERPRISE petevts
+ DESCRIPTION
+ "OS Critical Stop occurred"
+
+--#TYPE "System Event"
+--#SUMMARY "System Boot Event"
+--#ARGUMENTS {}
+--#SEVERITY WARNING
+
+ ::= 2125569
+
+END
diff --git a/doc/ialarms.8 b/doc/ialarms.8
new file mode 100644
index 0000000..34de55a
--- /dev/null
+++ b/doc/ialarms.8
@@ -0,0 +1,103 @@
+.TH IALARMS 8 "Version 1.3: 20 Apr 2007"
+.SH NAME
+ipmiutil_alarms \- display and set alarm indicators
+.SH SYNOPSIS
+.B "ipmiutil alarms [-abcdimnoprx -N node -U user -P/-R pswd -EFJTVY]"
+
+.SH DESCRIPTION
+.I ipmiutil alarms
+is a program that uses IPMI commands to
+display and set alarm indicators, which are usually LEDs on the system
+chassis front panel.
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N.
+Note that a LAN user must have Administrative privileges to read or write
+the alarm LEDs.
+
+Note that this utility may not be the only logic setting alarm states.
+The BMC firmware, system management software, or cluster fault manager
+may also want to set alarm states. Intel provides a Telco Alarms Manager API
+which presents a consolidated interface for all alarm management applications.
+
+.SH OPTIONS
+Command line options are described below.
+.IP "-r"
+Read-only. Show the alarms status, but do not set any states.
+This is also the default mode if no parameters are specified.
+.IP "-iN"
+Sets the Chassis Identify feature, which can be an LED or some other
+alarm. If N=0, turn off the Chassis ID, otherwise turn the ID on
+for N seconds. N=255 will turn on the ID indefinitely, if it is IPMI 2.0.
+.IP "-aN"
+Sets Disk A Fault LED. If N=0, turn it off. If N=1, turn it on. Used only for TIGPT1U platform.
+.IP "-bN"
+Sets Disk B Fault LED. If N=0, turn it off. If N=1, turn it on. Used only for TIGPT1U platform.
+.IP "-dXN"
+Sets Disk X Fault LED, where X=0-6. If N=0, turn it off. If N=1, turn it on. Used only for NSC2U platform.
+.IP "-cN"
+Sets the Critical Alarm. If N=0, turn it off. If N=1, turn it on.
+.IP "-mN"
+Sets the Major Alarm. If N=0, turn it off. If N=1, turn it on.
+.IP "-nN"
+Sets the Minor Alarm. If N=0, turn it off. If N=1, turn it on.
+.IP "-pN"
+Sets the Power Alarm. If N=0, turn it off. If N=1, turn it on.
+Note that the Power LED is also wired to the System Fault LED
+in the back of the system, so this state may be off for Power,
+but the LED could be lit for a System Fault reason instead.
+Refer to the system Technical Product Specification for System Faults.
+.IP "-o"
+Sets all alarms off, including the Chassis ID.
+.IP "-x"
+Causes extra debug messages to be displayed.
+
+.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
+management interface is used.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use this IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use this IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+
+.SH "SEE ALSO"
+ipmiutil(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/icmd.8 b/doc/icmd.8
new file mode 100644
index 0000000..f786528
--- /dev/null
+++ b/doc/icmd.8
@@ -0,0 +1,113 @@
+.TH ICMD 8 "Version 1.0: 10 Aug 2004"
+.SH NAME
+ipmiutil_cmd \- a tool to send specific IPMI commands via the command line.
+
+.SH SYNOPSIS
+.B "ipmiutil cmd [-qsx -NUPREFJTVY] bus rsSa netFn/lun cmd [data bytes]"
+
+.SH DESCRIPTION
+This
+.I ipmiutil cmd
+tool sends specific IPMI commands to the firmware. The commands
+are composed as hex values on the command line. This tool was
+written to allow in-band use to match the DOS CMDTOOL.EXE or
+IPMITOOL.EXE program which is distributed with many Intel servers.
+Certain scripts or pre-written commands may have been supplied for
+the DOS tool that can now be used while the system is running
+Linux or Windows.
+
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N.
+
+This tool should only be used if you are familiar with the IPMI 1.5
+specification, or you have specific pre-written commands to send.
+
+
+.SH OPTIONS
+Command line options are described below.
+.IP "-q"
+Quiet mode. Show only minimal header information.
+.IP "-s"
+Skips the GetDeviceID command
+.IP "-x"
+Causes extra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+.SH PARAMETERS
+The following parameters are used by icmd. Each is represented as
+a two-digit hex byte. The parameters have no default values.
+
+.IP "bus"
+This byte contains the bus number for this command, usually 00.
+
+.IP "rsSa"
+This is the resource slave address, usually 0x20 for the BMC.
+
+.IP "netFn/lun"
+This byte combines the net Function and Lun. The 2 low-order bits
+are the Lun and the 6 high-order bits are the net Function.
+This representation is consistent with the DOS CMDTOOL/IPMITOOL.
+
+.IP "cmd"
+This byte contains the IPMI command.
+
+.IP "[data bytes]"
+This is a sequence of zero to 16 bytes that represent data bytes
+specific to this command.
+
+.SH "EXAMPLES"
+icmd 00 20 18 01
+.br
+Sends the GetDevice ID command to the BMC.
+.PP
+icmd 00 20 28 43 00 00 ff ff 00 ff
+.br
+Sends a Get SEL entry command for the last entry in the firmware log.
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) iconfig(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/iconfig.8 b/doc/iconfig.8
new file mode 100644
index 0000000..d95ed0b
--- /dev/null
+++ b/doc/iconfig.8
@@ -0,0 +1,96 @@
+.TH ICONFIG 8 "Version 1.4: 17 Feb 2010"
+.SH NAME
+ipmiutil_config \- list, save, and restore BMC configuration parameters
+.SH SYNOPSIS
+.B "ipmiutil config [-lpxLNUPREFJTVY] [-r file] [-s file]"
+
+.SH DESCRIPTION
+.I ipmiutil config
+is a program that uses an IPMI driver to send IPMI commands which list,
+save and restore BMC configuration parameters for LAN, Serial, PEF,
+SOL, User, Channel. This combines the functionality of ipmiutil lan (ilan)
+and ipmiutil serial (iserial).
+Note that some of the LAN parameters cannot be restored remotely over
+the IPMI LAN, changing the configuration that is in use.
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N.
+
+.SH OPTIONS
+Command line options are described below.
+
+.IP "-l"
+Lists BMC configuration parameters with a keyword, index, and its hex values.
+This is the default behavior if no options are specified.
+.IP "-r config_file"
+Restores BMC configuration from config_file, which was produced with \-s below.
+.IP "-s config_file"
+Saves BMC configuration to config_file. This file could be edited, in certain
+cases, such as to vary the BMC IP address (LanParam 3), or to use the
+UserPassword records. Note that lines beginning with '#' are comments
+and are ignored.
+For editing UserPassword records, convert your text value to hex format;
+for example "echo 'mypassword' |od \-t x1", and leave off the trailing 0a.
+.IP "-x"
+Causes extra debug messages to be displayed.
+.IP "-p password_to_set"
+This specifies the firmware password to set for BMC LAN access for all users
+during the restore.
+If not specified, the password configuration will not be changed, unless a
+valid UserPassword record is present in the file to be restored.
+Note that user passwords are write-only via standard IPMI commands.
+.IP "-L lan_ch_num"
+This specifies the IPMI LAN channel number used for BMC LAN. This varies
+by platform, and can be found in the platform technical specifications.
+By default, bmcconfig scans all IPMI channels to find a LAN channel for
+BMC LAN.
+
+.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
+management interface is used.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) icmd(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/idcmi.8 b/doc/idcmi.8
new file mode 100644
index 0000000..c110afd
--- /dev/null
+++ b/doc/idcmi.8
@@ -0,0 +1,122 @@
+.TH IDCMI 8 "Version 1.0: 02 Feb 2012"
+.SH NAME
+ipmiutil_dcmi \- handle DCMI functions
+
+.SH SYNOPSIS
+.B "ipmiutil dcmi [-admsx -NUPREFTVY] <function>
+
+.SH DESCRIPTION
+This
+.I ipmiutil dcmi
+subcommand handles DCMI command functions according to the DCMI
+specification.
+
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N.
+
+.SH OPTIONS
+Command line options are described below.
+.IP "-a string"
+Set the DCMI Asset Tag to this string.
+.IP "-d string"
+Set the DCMI MC ID to this string.
+.IP "-m 002000"
+Target 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.
+.IP "-s"
+When getting info, also get the DCMI sensor information.
+.IP "-x"
+Causes extra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+.SH FUNCTIONS
+
+.IP "info"
+Get DCMI Capabilities, MC ID, and Asset Tag. This is the default function
+if no function was specified.
+
+.IP "power "
+Get DCMI Power reading and DCMI Power limit, if supported in the DCMI capabilties.
+.IP "power set_limit"
+Set Power limit
+.IP "power set_action <action>"
+Set Power limit exception action
+(where action = no_action | power_off | log_sel)
+.IP "power set_correction"
+Set Power limit correction time (in ms)
+.IP "power set_sample"
+Set Power limit sampling period (in sec)
+.IP "power activate"
+Activate Power limit
+.IP "power deactivate"
+Deactivate Power limit
+
+
+.IP "thermal"
+Get/Set DCMI Thermal parameters. This requires DCMI 1.5 support.
+
+.IP "config"
+Get/Set DCMI Configuration parameters. This requires DCMI 1.5 support.
+
+.IP "help"
+Show the help (usage) message
+
+.SH "EXAMPLES"
+ipmiutil dcmi info \-s
+.br
+Gets DCMI information, plus DCMI sensor information
+.PP
+ipmiutil dcmi \-N 192.168.1.1 \-U root \-P pswd
+.br
+Gets DCMI information over IPMI LAN.
+
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) iconfig(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2010 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/idelloem.8 b/doc/idelloem.8
new file mode 100644
index 0000000..997fe16
--- /dev/null
+++ b/doc/idelloem.8
@@ -0,0 +1,177 @@
+.TH IDELLOEM 8 "Version 1.0: 17 Aug 2011"
+.SH NAME
+ipmiutil_delloem \- OEM commands for Dell servers
+.SH SYNOPSIS
+.B "ipmiutil delloem [-mx -NPRUEFJTVY] commands"
+
+.SH DESCRIPTION
+.I ipmiutil delloem commands
+is a program that uses Dell OEM IPMI commands to
+perform platform-specific functions.
+
+.SH OPTIONS
+
+.IP "-m 002000"
+Show FRU 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.
+.IP "-x"
+Causes extra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+.SH COMMANDS
+
+.RS
+.RE
+.TP
+\fImac\fP \fIlist\fP
+.RS
+ Lists the MAC address of LOMs
+
+.RE
+.TP
+\fImac\fP \fIget\fP <\fBNIC number\fR>
+.RS
+ Shows the MAC address of specified LOM. 0-7 System LOM, 8- DRAC/iDRAC.
+
+.RE
+.TP
+\fIlan\fP \fIset\fP <\fBMode\fR>
+.RS
+ Sets the NIC Selection Mode (dedicated, shared,
+ shared with failover lom2, shared with Failover all loms).
+
+.RE
+.TP
+\fIlan\fP \fIget\fP
+.RS
+ Returns the current NIC Selection Mode (dedicated, shared,
+ shared with failover lom2, shared with Failover all loms).
+
+.RE
+.TP
+\fIlan\fP \fIget\fP \fIactive\fP
+.RS
+ Returns the current active NIC (dedicated, LOM1, LOM2, LOM3, LOM4).
+
+.RE
+.TP
+\fIpowermonitor\fP
+.RS
+ Shows power tracking statistics
+
+.RE
+.TP
+\fIpowermonitor\fP \fIclear\fP \fIcumulativepower\fP
+.RS
+ Reset cumulative power reading
+
+.RE
+.TP
+\fIpowermonitor\fP \fIclear\fP \fIpeakpower\fP
+.RS
+ Reset peak power reading
+
+.RE
+.TP
+\fIpowermonitor\fP \fIpowerconsumption\fP
+.RS
+ Displays power consumption in <watt|btuphr>
+
+.RE
+.TP
+\fIpowermonitor\fP \fIpowerconsumptionhistory\fP <\fBwatt|btuphr\fR>
+.RS
+ Displays power consumption history
+
+.RE
+.TP
+\fIpowermonitor\fP \fIgetpowerbudget\fP
+.RS
+ Displays power cap in <watt|btuphr>
+
+.RE
+.TP
+\fIpowermonitor\fP \fIsetpowerbudget\fP <\fBval\fR> <\fBwatt|btuphr|percent\fR>
+.RS
+ Allows user to set the power cap in <watt|BTU/hr|percentage>
+
+.RE
+.TP
+\fIpowermonitor\fP \fIenablepowercap\fP
+.RS
+ To enable set power cap
+
+.RE
+.TP
+\fIpowermonitor\fP \fIdisablepowercap\fP
+.RS
+ To disable set power cap
+
+.RE
+.TP
+\fIwindbg\fP \fIstart\fP
+.RS
+ Starts the windbg session (Cold Reset & SOL Activation)
+
+.RE
+.TP
+\fIwindbg\fP \fIend\fP
+.RS
+ Ends the windbg session (SOL Deactivation)
+
+.RE
+.TP
+\fIvFlash\fP \fIinfo\fP \fICard\fP
+.RS
+ Shows Extended SD Card information
+.RE
+
+
+.SH "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) isensor(8) iserial(8) isol(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/idiscover.8 b/doc/idiscover.8
new file mode 100644
index 0000000..e7b05b0
--- /dev/null
+++ b/doc/idiscover.8
@@ -0,0 +1,92 @@
+.TH IDISCOVER 8 "Version 1.0: 02 May 2007"
+.SH NAME
+ipmiutil_discover \- discover IPMI LAN-enabled nodes
+.SH SYNOPSIS
+.B "idiscover [-abegisx]"
+
+.SH DESCRIPTION
+.I idiscover
+is a program that uses IPMI LAN commands to discover any nodes
+on the LAN that are available, by probing the RMCP port (623.)
+on those nodes.
+This utility uses IPMI LAN, so no IPMI drivers are needed.
+There are three methods that can be used:
+.br
+\-a = broadcast RMCP ping method (default)
+.br
+\-g = GetChannelAuthCap command method
+.br
+else = specific RMCP ping method
+.P
+A beginning IP address can be specified with \-b for broadcast and specific
+methods. An ending IP can be specified for non-broadcast methods.
+
+.SH OPTIONS
+Command line options are described below.
+.IP "-a"
+All nodes, use the broadcast ping method. This is the default if no options
+are specified. This will detect the first enabled ethernet interface, and
+defaults to the broadcast address x.x.x.255 (where x.x.x.x is IP address)
+unless \-b is used to specify otherwise.
+.IP "-b <ip>"
+Beginning IP address, required, unless using broadcast with defaults.
+This could be a specific IP address, or a broadcast address, ending in 255,
+if the broadcast method (\-a) is used.
+.IP "-e <ip>"
+Endign IP address of the range. Not used for broadcast method.
+If this is not specified, a range of one IP address matching the beginning
+IP is assumed.
+.IP "-g"
+Use the GetChannelAuthenticationCapabilities command method over IPMI LAN
+instead of the RMCP ping. Not compatible with broadcast.
+This may be useful if the vendor BMC does not support RMCP ping for some
+reason.
+.IP "-i eth0"
+The interface name to use when sending the probes. The default is to
+detect the first enabled ethernet interface (e.g. eth0).
+.IP "-m"
+shows MAC address. Uses the broadcast ping method, but uses a raw socket
+so that the MAC address can be displayed. This detects the first enabled
+ethernet interface, and defaults to the broadcast address 255.255.255.255
+like \-a. Using \-m with raw sockets requires root privilege.
+.IP "-r N"
+Repeat the ping N times to each node. Default is to send 1 ping per node.
+.IP "-x"
+Causes extra debug messages to be displayed.
+
+
+.SH "EXAMPLES"
+
+ idiscover \-a \-b 192.168.1.255
+.br
+Sends a broadcast RMCP ping to discover IPMI LAN nodes on the specified subnet.
+.PP
+ idiscover \-b 192.168.1.100 \-e 192.168.1.254
+.br
+Sends RMCP pings to a range of IP addresses.
+.PP
+ idiscover \-g \-b 192.168.1.100 \-e 192.168.1.254
+.br
+Sends GetChannelAuthCap commands to a range of IP addresses.
+
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) iconfig(8) icmd(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/iekanalyzer.8 b/doc/iekanalyzer.8
new file mode 100644
index 0000000..c4ca1e2
--- /dev/null
+++ b/doc/iekanalyzer.8
@@ -0,0 +1,251 @@
+.TH IEKANALYZER 8 "Version 1.0: 09 Sep 2010"
+.SH NAME
+ipmiutil_ekanalyzer \- run FRU-Ekeying analyzer with FRU files
+.SH SYNOPSIS
+.B "ipmiutil ekanalyzer [-mx -NPRUEFJTVY] commands"
+.B (deprecated, see ifru instead)
+
+.SH DESCRIPTION
+.I ipmiutil ekanalyzer
+is a program that analyzes FRU Ekeying information from files
+saved from PICMG IPMI systems.
+
+.br
+\fIekanalyzer\fP \fBcommand\fR \fBxx=filename1\fR \fBxx=filename2\fR [\fBrc=filename3\fR]
+.br
+NOTE: This command can support a maximum of 8 files per command line
+
+.IP "\fIfilename1\fP"
+binary file that stores FRU data of a Carrier or an AMC module
+
+.IP "\fIfilename2\fP"
+binary file that stores FRU data of an AMC module.
+These binary files can be generated from this command:
+ \fIipmiutil fru \-i id \-d filename\fP
+
+.IP "\fIfilename3\fP"
+configuration file used for configuring On-Carrier Device ID or OEM GUID. This file is optional.
+
+.IP "\fIxx\fP"
+indicates the type of the file. It can take the following value:
+.br
+ \fIoc\fP : On-Carrier device
+.br
+ \fIa1\fP : AMC slot A1
+.br
+ \fIa2\fP : AMC slot A2
+.br
+ \fIa3\fP : AMC slot A3
+.br
+ \fIa4\fP : AMC slot A4
+.br
+ \fIb1\fP : AMC slot B1
+.br
+ \fIb2\fP : AMC slot B2
+.br
+ \fIb3\fP : AMC slot B3
+.br
+ \fIb4\fP : AMC slot B4
+.br
+ \fIsm\fP : Shelf Manager
+
+
+.SH OPTIONS
+
+.IP "-m 002000"
+Show FRU 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.
+.IP "-x"
+Causes extra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+.SH "COMMANDS"
+.RE
+.TP
+.br
+The available commands for ekanalyzer are:
+
+.RE
+.RS
+.TP
+\fIprint\fP [\fBcarrier\fR | \fBpower\fR | \fBall\fR]
+.RS
+.TP
+\fIcarrier\fP (default) \fBoc=filename1\fR \fBoc=filename2\fR \fB...\fR
+.br
+
+Display point to point physical connectivity between carriers and AMC modules.
+ Example:
+ # ipmiutil ekanalyzer print carrier oc=fru oc=carrierfru
+ From Carrier file: fru
+ Number of AMC bays supported by Carrier: 2
+ AMC slot B1 topology:
+ Port 0 =====> On Carrier Device ID 0, Port 16
+ Port 1 =====> On Carrier Device ID 0, Port 12
+ Port 2 =====> AMC slot B2, Port 2
+ AMC slot B2 topology:
+ Port 0 =====> On Carrier Device ID 0, Port 3
+ Port 2 =====> AMC slot B1, Port 2
+ *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+ From Carrier file: carrierfru
+ On Carrier Device ID 0 topology:
+ Port 0 =====> AMC slot B1, Port 4
+ Port 1 =====> AMC slot B1, Port 5
+ Port 2 =====> AMC slot B2, Port 6
+ Port 3 =====> AMC slot B2, Port 7
+ AMC slot B1 topology:
+ Port 0 =====> AMC slot B2, Port 0
+ AMC slot B1 topology:
+ Port 1 =====> AMC slot B2, Port 1
+ Number of AMC bays supported by Carrier: 2
+
+.TP
+\fIpower\fP \fBxx=filename1\fR \fBxx=filename2\fR \fB...\fr
+.br
+
+Display power supply information between carrier and AMC modules.
+.TP
+\fIall\fP \fBxx=filename\fR \fBxx=filename\fR \fB...\fr
+.br
+
+Display both physical connectivity and power supply of each carrier and AMC
+modules.
+
+.RE
+.TP
+\fIfrushow\fP \fBxx=filename\fR
+.br
+Convert a binary FRU file into human readable text format. Use \-v option to get
+more display information.
+
+.RE
+.RS
+.TP
+\fIsummary\fP [\fBmatch\fR | \fBunmatch\fR | \fBall\fR]
+.RS
+.TP
+\fImatch\fP (default) \fBxx=filename\fR \fBxx=filename\fR \fB...\fR
+.br
+Display only matched results of Ekeying match between an On-Carrier device
+and an AMC module or between 2 AMC modules. Example:
+ # ipmiutil ekanalyzer summary match oc=fru b1=amcB1 a2=amcA2
+ On-Carrier Device vs AMC slot B1
+ AMC slot B1 port 0 ==> On-Carrier Device 0 port 16
+ Matching Result
+ From On-Carrier Device ID 0
+ Channel ID 11 || Lane 0: enable
+ Link Type: AMC.2 Ethernet
+ Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
+ Link Group ID: 0 || Link Asym. Match: exact match
+ To AMC slot B1
+ Channel ID 0 || Lane 0: enable
+ Link Type: AMC.2 Ethernet
+ Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
+ Link Group ID: 0 || Link Asym. Match: exact match
+ *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+ AMC slot B1 port 1 ==> On-Carrier Device 0 port 12
+ Matching Result
+ From On-Carrier Device ID 0
+ Channel ID 6 || Lane 0: enable
+ Link Type: AMC.2 Ethernet
+ Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
+ Link Group ID: 0 || Link Asym. Match: exact match
+ To AMC slot B1
+ Channel ID 1 || Lane 0: enable
+ Link Type: AMC.2 Ethernet
+ Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
+ Link Group ID: 0 || Link Asym. Match: exact match
+ *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+ On-Carrier Device vs AMC slot A2
+ AMC slot A2 port 0 ==> On-Carrier Device 0 port 3
+ Matching Result
+ From On-Carrier Device ID 0
+ Channel ID 9 || Lane 0: enable
+ Link Type: AMC.2 Ethernet
+ Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
+ Link Group ID: 0 || Link Asym. Match: exact match
+ To AMC slot A2
+ Channel ID 0 || Lane 0: enable
+ Link Type: AMC.2 Ethernet
+ Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
+ Link Group ID: 0 || Link Asym. Match: exact match
+ *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+ AMC slot B1 vs AMC slot A2
+ AMC slot A2 port 2 ==> AMC slot B1 port 2
+ Matching Result
+ From AMC slot B1
+ Channel ID 2 || Lane 0: enable
+ Link Type: AMC.3 Storage
+ Link Type extension: Serial Attached SCSI (SAS/SATA)
+ Link Group ID: 0 || Link Asym. Match: FC or SAS interface {exact match}
+ To AMC slot A2
+ Channel ID 2 || Lane 0: enable
+ Link Type: AMC.3 Storage
+ Link Type extension: Serial Attached SCSI (SAS/SATA)
+ Link Group ID: 0 || Link Asym. Match: FC or SAS interface {exact match}
+ *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+.TP
+\fIunmatch\fP \fBxx=filename\fR \fBxx=filename\fR \fB...\fr
+.br
+
+Display the unmatched results of Ekeying match between an On-Carrier device
+and an AMC module or between 2 AMC modules
+.TP
+\fIall\fP \fBxx=filename\fR \fBxx=filename\fR \fB...\fr
+.br
+
+Display both matched result and unmatched results of Ekeying match between two
+cards or two modules.
+.RE
+
+.SH "SEE ALSO"
+ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifirewall(8)
+ifru(8) ifruset(8) ifwum(8) igetevent(8) ihealth(8) ihpm(8)
+ilan(8) ipicmg(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) isunoem(8)
+iwdt(8) ipmiutil(8) ipmi_port(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/ievents.8 b/doc/ievents.8
new file mode 100644
index 0000000..4dc72a7
--- /dev/null
+++ b/doc/ievents.8
@@ -0,0 +1,93 @@
+.TH IEVENTS 8 "Version 1.3: 23 June 2009"
+.SH NAME
+ievents \- decode IPMI and PET event data
+.SH SYNOPSIS
+.B "ievents [-bfhnprsx] 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10"
+
+.SH DESCRIPTION
+.I ievents
+is a standalone utility delivered with ipmiutil, used to interpret raw
+hex data from IPMI events or from IPMI PET SNMP trap varbind data.
+This utility uses the same interpretation logic as is used by
+"ipmiutil sel" (showsel) and "ipmiutil getevt" (getevents).
+
+The data bytes in the input are always assumed to be in hex form.
+
+This could be useful if a utility other than "ipmiutil sel" were used to
+obtain IPMI SEL records or events and interpretation is needed.
+
+This would also be needed at an enterprise management station to
+interpret the PET SNMP trap hex data into human-readable form,
+see option \-p.
+
+.SH OPTIONS
+
+.IP "-b bin_file"
+Interpret a file containing raw binary/hex SEL data dumped in binary form,
+such as that produced by "ipmitool sel writeraw bin_file".
+Each set of 16 bytes in the file will be interpreted as an IPMI event.
+(same as \-h)
+
+.IP "-f sel_file"
+Interpret a file containing raw ascii text SEL data captured with
+ipmiutil sel \-r, or some other similar utility.
+Each line in the file should be in this
+form, with no leading spaces:
+.br
+04 00 02 76 a9 4a 47 20 00 04 10 09 6f 42 0f ff
+.br
+If this option is not specified, the default is to use the 16 bytes
+taken from the command-line arguments.
+(same as \-r)
+
+.IP "-h bin_file"
+Interpret a file containing raw binary/hex SEL data dumped in binary form,
+such as that produced by "ipmitool sel writeraw bin_file".
+Each set of 16 bytes in the file will be interpreted as an IPMI event.
+(same as \-b)
+
+.IP "-n"
+This option generates a New IPMI platform event, using 9 bytes of input.
+The input bytes are the same as the last 9 bytes of an IPMI event.
+
+.IP "-p"
+Decode as PET event bytes, where the input is 34 PET hex data bytes,
+skipping the first 8 of the 47-byte PET data.
+The default without \-p assumes that the input is a 16-byte IPMI event.
+
+.IP "-r sel_file"
+Interpret a file containing raw ascii text SEL data captured with
+ipmiutil sel \-r, or some other similar utility.
+(same as \-f)
+
+.IP "-s sensor_file"
+Sensor file with the output of "ipmiutil sensor", used
+to get the PET sensor_type from the sensor_num.
+The default is /usr/share/ipmiutil/sensor_out.txt as
+generated during the ipmiutil package installation.
+This is only needed with PET interpretation (\-p).
+
+.IP "-x"
+show eXtra debug messages
+
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/ifirewall.8 b/doc/ifirewall.8
new file mode 100644
index 0000000..a327a2b
--- /dev/null
+++ b/doc/ifirewall.8
@@ -0,0 +1,152 @@
+.TH IFIREWALL 8 "Version 1.0: 04 Jun 2010"
+.SH NAME
+ipmiutil_firewall \- configure the IPMI firmware firewall functions
+
+.SH SYNOPSIS
+.B "ipmiutil firewall [-mxNUPREFJTVY] parameters"
+
+.SH DESCRIPTION
+This
+.I ipmiutil firewall
+command supports the IPMI Firmware Firewall capability. It may be used to
+add or remove security-based restrictions on certain commands/command
+sub-functions or to list the current firmware firewall restrictions set on
+any commands. For each firmware firewall command listed below, parameters
+may be included to cause the command to be executed with increasing
+granularity on a specific LUN, for a specific NetFn, for a specific IPMI
+Command, and finally for a specific command's sub-function.
+See Appendix H in the IPMI 2.0 Specification for a listing of any
+sub-function numbers that may be associated with a particular command.
+
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N.
+
+.SH OPTIONS
+Command line options are described below.
+.IP "-m 002000"
+Show FRU 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.
+.IP "-x"
+Causes extra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+.SH PARAMETERS
+Parameter syntax and dependencies are as follows:
+
+firewall [\fIchannel\fP \fBH\fR] [\fIlun\fP \fBL\fR [ \fInetfn\fP \fBN\fR [\fIcommand\fP \fBC\fR [\fIsubfn\fP \fBS\fR]]]]
+
+Note that if "netfn \fBN\fR" is specified, then "lun \fBL\fR" must also be
+specified; if "command \fBC\fR" is specified, then "netfn \fBN\fR" (and
+therefore "lun \fBL\fR") must also be specified, and so forth.
+
+"channel \fBH\fR" is an optional and standalone parameter. If not specified,
+the requested operation will be performed on the current channel. Note that
+command support may vary from channel to channel.
+
+Firmware firewall commands:
+.RS
+.TP
+\fIinfo\fP [\fB(Parms as described above)\fR]
+.br
+
+List firmware firewall information for the specified LUN, NetFn, and
+Command (if supplied) on the current or specified channel. Listed
+information includes the support, configurable, and enabled bits for
+the specified command or commands.
+
+Some usage examples:
+.RS
+.TP
+\fIinfo\fP [\fBchannel H\fR] [\fBlun L\fR]
+.br
+
+This command will list firmware firewall information for all NetFns for the
+specified LUN on either the current or the specified channel.
+.TP
+\fIinfo\fP [\fBchannel H\fR] [\fBlun L\fR [ \fBnetfn N\fR ]
+.br
+
+This command will print out all command information for a single LUN/NetFn pair.
+.TP
+\fIinfo\fP [\fBchannel H\fR] [\fBlun L\fR [ \fBnetfn N\fR [\fBcommand C\fR] ]]
+.br
+
+This prints out detailed, human-readable information showing the support, configurable,
+and enabled bits for the specified command on the specified LUN/NetFn pair. Information
+will be printed about each of the command subfunctions.
+.TP
+\fIinfo\fP [\fBchannel H\fR] [\fBlun L\fR [ \fBnetfn N\fR [\fBcommand C\fR [\fBsubfn S\fR]]]]
+.br
+
+Print out information for a specific sub-function.
+.RE
+.TP
+\fIenable\fP [\fB(Parms as described above)\fR]
+.br
+
+This command is used to enable commands for a given NetFn/LUN combination on
+the specified channel.
+.TP
+\fIdisable\fP [\fB(Parms as described above)\fR] [\fBforce\fR]
+.br
+
+This command is used to disable commands for a given NetFn/LUN combination on
+the specified channel. Great care should be taken if using the "force"
+option so as not to disable the "Set Command Enables" command.
+.TP
+\fIreset\fP [\fB(Parms as described above)\fR]
+.br
+
+This command may be used to reset the firmware firewall back to a state
+where all commands and command sub-functions are enabled.
+
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) iconfig(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2010 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/ifru.8 b/doc/ifru.8
new file mode 100644
index 0000000..5162ed0
--- /dev/null
+++ b/doc/ifru.8
@@ -0,0 +1,111 @@
+.TH IFRU 8 "Version 1.4: 09 Sep 2010"
+.SH NAME
+ipmiutil_fru \- show Field Replacable Unit configuration data
+.SH SYNOPSIS
+.B "ipmiutil fru [-abcdeikmsvx -N node -U user -P/-R pswd -EFJTVY]"
+
+.SH DESCRIPTION
+.I ipmiutil fru
+is a program that uses IPMI commands to
+show FRU configuration data and optionally
+write an asset tag string into the FRU data.
+Setting the asset tag is a function that can be
+used to uniquely identify the unit, even if the
+storage devices are removed or changed.
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N.
+
+.SH OPTIONS
+Command line options are described below.
+.IP "-a asset_string"
+This option specifies an asset tag string to be written
+to the baseboard FRU Product area. The asset tag length is
+limited by the existing FRU Product data, but is usually
+allowed up to 16 characters. The default is to not modify this FRU field.
+.IP "-b"
+Only show the Baseboard FRU data. The default behavior is to also scan
+for any SDR FRU data or DIMM SPD data referenced by the SDRs.
+.IP "-c"
+Show FRU output in a canonical format, with a default delimiter of '|'.
+.IP "-d file"
+Dump binary FRU data to the specified file.
+.IP "-e"
+Show Every FRU output in a bladed chassis, including those under child MCs.
+The default is to show FRUs referred to by just the target MC.
+.IP "-i 00"
+This option specifies a specific FRU ID to show. The input value should be
+in hex (0b, 1a, etc.), as shown from the sensor SDR output.
+By default, all FRU IDs that are specified in the FRU locator SDRs are shown.
+.IP "-k <setsn | setmfgdate | nextboot>"
+These Kontron OEM functions set FRU data based on existing data stored
+elsewhere. The setsn option sets the FRU Board and Product serial number,
+and the setmfgdate option sets the FRU Board Mfg DateTime. The nextboot
+option specifies the boot device for the next boot:
+BIOS, FDD, HDD, CDROM, or network.
+These options are only supported on Kontron ATCA boards which have this
+functionality.
+.IP "-m 002000"
+Show FRU 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.
+.IP "-s serial_num"
+This option specifies a serial number string to be written
+to the baseboard FRU Product area. The serial number can be
+any string up to 16 characters. The default is to not modify this FRU field.
+.IP "-v prod_ver"
+This option specifies a product version number string to be written
+to the baseboard FRU Product area. The version number can be
+any string up to 16 characters. The default is to not modify this FRU field.
+.IP "-x"
+Causes eXtra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/ifruset.8 b/doc/ifruset.8
new file mode 100644
index 0000000..9f72eda
--- /dev/null
+++ b/doc/ifruset.8
@@ -0,0 +1,122 @@
+.TH IFRUSET 8 "Version 1.0: 14 Apr 2010"
+.SH NAME
+ifruset \- show/set Field Replacable Unit configuration data
+.SH SYNOPSIS
+.B "ifruset [-bcimx -unpvsafo -N node -U user -P/-R pswd -EFJTVY]"
+
+.SH DESCRIPTION
+.I ifruset
+is a program that uses IPMI commands to
+show FRU configuration data and optionally
+write any Product area fields into the FRU data.
+Setting the FRU Product area fields is a function
+that might be done by a manufacturer or system integrator.
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if -N.
+
+This program is not built or installed by default.
+Integrators who wish to use it should build ipmiutil from source,
+then do 'cd util; make ifruset'.
+
+.SH OPTIONS
+Command line options are described below.
+.IP "-u manuf"
+This option specifies a product manufacturer string to be written
+to the baseboard FRU Product area field 0. This field can be
+any string up to 20 characters. The default is to not modify this FRU field.
+.IP "-n name"
+This option specifies a product name string to be written
+to the baseboard FRU Product area field 1. This field can be
+any string up to 20 characters. The default is to not modify this FRU field.
+.IP "-p partnum"
+This option specifies a product part number string to be written
+to the baseboard FRU Product area field 2. This field can be
+any string up to 20 characters. The default is to not modify this FRU field.
+.IP "-v prod_ver"
+This option specifies a product version number string to be written
+to the baseboard FRU Product area field 3. The version number can be
+any string up to 20 characters. The default is to not modify this FRU field.
+.IP "-s serial_num"
+This option specifies a serial number string to be written
+to the baseboard FRU Product area field 4. The serial number can be
+any string up to 20 characters. The default is to not modify this FRU field.
+.IP "-a asset_string"
+This option specifies an asset tag string to be written
+to the baseboard FRU Product area field 5. The asset tag length is
+limited by the existing FRU Product data, but is usually
+allowed up to 20 characters. The default is to not modify this FRU field.
+.IP "-f fruid"
+This option specifies a product FRU file ID string to be written
+to the baseboard FRU Product area field 6. This field can be
+any string up to 20 characters.
+.IP "-o oem"
+This option specifies a product OEM field string to be written
+to the baseboard FRU Product area field 7. This field can be
+any string up to 20 characters.
+
+.IP "-b"
+Only show the Baseboard FRU data. The default behavior is to also scan
+for any SDR FRU data or DIMM SPD data referenced by the SDRs.
+.IP "-c"
+Show FRU output in a canonical format, with a default delimiter of '|'.
+.IP "-i 00"
+This option specifies a specific FRU ID to show. The input value should be
+in hex (0b, 1a, etc.), as shown from the sensor SDR output.
+By default, all FRU IDs that are specified in the FRU locator SDRs are shown.
+.IP "-m 002000"
+Show FRU 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.
+.IP "-x"
+Causes eXtra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are -E or -P.
+
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/ifwum.8 b/doc/ifwum.8
new file mode 100644
index 0000000..330811b
--- /dev/null
+++ b/doc/ifwum.8
@@ -0,0 +1,124 @@
+.TH IFWUM 8 "Version 1.0: 24 Aug 2010"
+.SH NAME
+ipmiutil_fwum \- Update IPMC using Kontron OEM Firmware Update Manager
+
+.SH SYNOPSIS
+.B "ipmiutil fwum [-mixNUPREFJTVY] parameters"
+
+.SH DESCRIPTION
+This
+.I ipmiutil fwum
+subcommand updates IPMC firmware using Kontron OEM Firmware Update Manager.
+
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N.
+
+.SH OPTIONS
+Command line options are described below.
+.IP "-i 00"
+This option specifies a specific FRU ID to show. The input value should be
+in hex (0b, 1a, etc.), as shown from the sensor SDR output.
+The default FRU ID is zero (0).
+.IP "-m 002000"
+Show FRU 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.
+.IP "-x"
+Causes extra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+.SH PARAMETERS
+\fIfwum\fP \fBparameters\fR
+.RS
+
+.TP
+\fIinfo\fP
+.br
+Show information about current firmware.
+
+.TP
+\fIstatus\fP
+.br
+Show status of each firmware bank present in the hardware.
+
+.TP
+\fIdownload\fP \fBfilename\fR
+.br
+Download the specified firmware image.
+
+.TP
+\fIupgrade\fP [\fBfilename\fR]
+.br
+Install firmware upgrade. If the filename is specified,
+the file is downloaded first, otherwise the last firmware
+downloaded is used.
+
+.TP
+\fIrollback\fP
+.br
+Ask IPMC to rollback to previous version.
+
+.TP
+\fItracelog\fP
+.br
+Show the firmware upgrade log.
+
+
+.SH "EXAMPLES"
+ipmiutil fwum info
+.br
+Gets Firmware information
+.PP
+ipmiutil fwum \-N 192.168.1.1 \-U root \-P pswd download firmware.img
+.br
+Downloads the firmware version contained in firmware.img over IPMI LAN.
+
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) iconfig(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2010 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/igetevent.8 b/doc/igetevent.8
new file mode 100644
index 0000000..c5df169
--- /dev/null
+++ b/doc/igetevent.8
@@ -0,0 +1,154 @@
+.TH IGETEVENT 8 "Version 1.2: 17 Feb 2010"
+.SH NAME
+ipmiutil_getevt \- wait for IPMI events
+.SH SYNOPSIS
+.B "ipmiutil getevt [-abosx -t secs -N node -U user -P/-R pswd -EFJTVY]"
+
+.SH DESCRIPTION
+.I ipmiutil getevt
+is a program that uses IPMI commands to
+wait for IPMI events sent from the BMC firmware. These events are
+also sent to the IPMI System Event Log (SEL).
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N.
+
+Some server management functions want to trigger custom actions or
+alerts when IPMI hardware-related events occur, but do not want to
+track all events, just newly occurring events.
+This utility waits a specified timeout period for any events, and
+returns interpreted output for each event. It is designed as a
+scriptable command-line utility, but if the timeout is infinite
+(\-t 0), then this code could be used for a sample service as well.
+
+.br
+There are several methods to do this which are implemented here.
+.PP
+The SEL method:
+.br
+This method polls the SEL once a second, keeps track of the last
+SEL event read, and only new events are processed. This ensures
+that in a series of rapid events, all events are received in order,
+however, some transition-to-OK events may not be configured to
+write to the SEL on certain platforms.
+This method is used if getevent \-s is specified.
+This is the only method supported over IPMI LAN, i.e. with \-N.
+.PP
+The ReadEventMessageBuffer method:
+.br
+This uses an IPMI Message Buffer in the BMC firmware to read
+each new event. This receives any event, but if two events
+occur nearly simultaneously, only the most recent of the two
+will be returned with this method. An example of simultaneous
+events might be, if a fan stops/fails, both the non-critical
+and critical fan threshold events would occur at that time.
+This is the default method for getevent.
+.PP
+The OpenIPMI custom method:
+.br
+Different IPMI drivers may have varying behavior. For instance,
+the OpenIPMI driver uses the IPMI GetMessage commands internally
+and does not allow client programs to use those commands. It has
+its own custom mechanism, see getevent_mv().
+This method is used if the OpenIPMI driver is detected, and
+no other method is specified.
+.PP
+The Async Event method:
+.br
+This only gets certain Asynchronous requests from the BMC to an
+SMS OS service, like a remote OS shutdown, and get_software_id.
+This method is disabled by default and only turned on if
+the getevent \-a option is specified. This method is only
+supported via the Intel IMB and OpenIPMI driver interfaces.
+There is an init script provided with ipmiutil to automate the
+task of starting this async event daemon.
+.br
+# chkconfig \-\-add ipmiutil_asy (skip this if no chkconfig)
+.br
+# /etc/init.d/ipmiutil_asy start
+.br
+This listens for IPMI LAN requests for soft-shutdown, and logs
+the output to /var/log/ipmiutil_asy.log
+
+.SH OPTIONS
+Command line options are described below.
+
+.IP "-a"
+Use the Async request method, which receives SMS OS requests
+from the BMC using the IMB or OpenIPMI driver interface. This services
+remote SMS bridge agent requests, like remote OS shutdown and get software_id.
+.IP "-b"
+Run in Background as a daemon. If this option is specified, normal output
+will be redirected to /var/log/ipmiutil_getevt.log. The default is to run
+in foreground.
+.IP "-c"
+Show output in a canonical format, with a delimiter of '|'.
+.IP "-e N"
+Wait for a specific event sensor type N.
+The parameter can be in hex (0x23) or decimal (35).
+The default is 0xFF which means wait for any event.
+.IP "-r F"
+Run script file F when an event occurs. The filename can include a full path.
+The script will be passed the event description as a parameter.
+A sample evt.sh script is included with the ipmiutil package.
+.IP "-o"
+Only run one pass to wait for the first event. Default is to loop for multiple events for the timeout period.
+.IP "-s"
+Use the SEL method to get events. This polls the SEL once a second for new
+events. The last SEL record read is saved in /usr/share/ipmiutil/evt.idx.
+Otherwise, the default is to use the ReadEventMessageBuffer method
+to get new events.
+.IP "-t N"
+Set the timeout period to N seconds. Default is 120 seconds.
+A timeout of 0 means an infinite period.
+.IP "-x"
+Causes extra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifru(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/ihealth.8 b/doc/ihealth.8
new file mode 100644
index 0000000..8d510f4
--- /dev/null
+++ b/doc/ihealth.8
@@ -0,0 +1,93 @@
+.TH IHEALTH 8 "Version 1.1: 17 Feb 2010"
+.SH NAME
+ipmiutil_health\- show IPMI health
+.SH SYNOPSIS
+.B "ipmiutil health [-ifhglmnopqsx -N node -U user -P/-R pswd -EFJTVY]"
+
+.SH DESCRIPTION
+.I ipmiutil health
+is a program that uses IPMI commands to
+show the health of the BMC.
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N.
+
+.SH OPTIONS
+Command line options are described below.
+
+.IP "-c"
+Show canonical, delimited output.
+.IP "-f"
+Show the FRUSDR version also.
+.IP "-g"
+Show the IPMI GUID of this system. The GUID is a read-only unique identifier.
+.IP "-h"
+Check the health of the HotSwap Controller also.
+.IP "-l"
+Show the IPMI LAN channel statistics also.
+.IP "-m 002000"
+Target 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.
+.IP "-n string"
+Set the System Name to this string in the IPMI System Information.
+.IP "-o string"
+Set the Primary Operating System to this string in the IPMI System Information.
+.IP "-p 1"
+Set the chassis Power restore policy, governing the desired behavior when power was lost and is restored. Values: 0 = stay off, 1 = last state, 2 = always on.
+.IP "-q string"
+Set the Secondary Operating System to this string in the IPMI System Information.
+.IP "-s"
+Show the IPMI Session information also.
+.IP "-x"
+Causes extra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/ihpm.8 b/doc/ihpm.8
new file mode 100644
index 0000000..1b93358
--- /dev/null
+++ b/doc/ihpm.8
@@ -0,0 +1,185 @@
+.TH IHPM 8 "Version 1.0: 25 Aug 2010"
+.SH NAME
+ipmiutil_hpm \- PICMG HPM.1 Upgrade Agent
+
+.SH SYNOPSIS
+.B "ipmiutil hpm [-mxNUPREFJTVY] parameters"
+
+.SH DESCRIPTION
+This
+.I ipmiutil hpm
+subcommand updates HPM components using PICMG HPM.1 file
+
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N.
+
+.SH OPTIONS
+Command line options are described below.
+.IP "-m 002000"
+Target 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.
+.IP "-x"
+Causes extra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+.SH PARAMETERS
+\fIhpm\fP \fBparameters\fR
+.RS
+
+.TP
+\fIcheck\fR
+.br
+Check the target information.
+
+.TP
+\fIcheck\fP \fBfilename\fR
+.br
+Display both the existing target version and image version on the screen.
+
+.TP
+\fIdownload\fP \fBfilename\fR
+.br
+Download specified firmware.
+
+.TP
+\fIupgrade\fP \fBfilename\fR [\fBall\fR] [\fBcomponent x\fR] [\fBactivate\fR]
+.br
+Upgrade the firmware using a valid HPM.1 image file. If no option is specified,
+the firmware versions are checked first and the firmware is upgraded only if they
+are different.
+
+.RS
+.TP
+\fIall\fR
+.br
+Upgrade all components even if the firmware versions are the same
+(use this only after using "check" command).
+
+.TP
+\fIcomponent\fP \fBx\fR
+.br
+Upgrade only given component from the given file.
+.br
+component 0 - BOOT
+.br
+component 1 - RTK
+
+.TP
+\fIactivate\fR
+.br
+Activate new firmware right away.
+
+.RE
+
+.TP
+\fIactivate\fR
+.br
+Activate the newly uploaded firmware.
+
+.TP
+\fItargetcap\fR
+.br
+Get the target upgrade capabilities.
+
+.TP
+\fIcompprop\fP \fBid\fR \fBopt\fR
+.br
+Get the specified component properties. Valid component \fBid\fR: 0-7.
+\fBOpt\fR can be one of following:
+.br
+0 - General properties
+.br
+1 - Current firmware version
+.br
+2 - Description string
+.br
+3 - Rollback firmware version
+.br
+4 - Deferred firmware version
+
+.TP
+\fIabort\fR
+.br
+Abort the on-going firmware upgrade.
+
+.TP
+\fIupgstatus\fR
+.br
+Show status of the last long duration command.
+
+.TP
+\fIrollback\fR
+.br
+Perform manual rollback on the IPM Controller firmware.
+
+.TP
+\fIrollbackstatus\fR
+.br
+Show the rollback status.
+
+.TP
+\fIselftestresult\fR
+.br
+Query the self test results.
+
+.RE
+
+.SH "EXAMPLES"
+ipmiutil hpm targetcap
+.br
+Gets HPM target capabilities
+.PP
+ipmiutil hpm \-N 192.168.1.1 \-U root \-P pswd download firmware.img
+.br
+Downloads the HPM firmware version contained in firmware.img over IPMI LAN.
+
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) iconfig(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2010 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/ilan.8 b/doc/ilan.8
new file mode 100644
index 0000000..31b26ae
--- /dev/null
+++ b/doc/ilan.8
@@ -0,0 +1,305 @@
+.TH ILAN 8 "Version 1.8: 17 Feb 2010"
+.SH NAME
+ipmiutil_lan \- show and configure BMC LAN parameters and
+set up a PEF entry to send BMC LAN Alerts for OS Critical Stop log events
+.SH SYNOPSIS
+.B "ipmiutil lan [-abcdefghijklmnopq#rstuvwxyzBDQK -i eth1 ]"
+ [\-I ipadr \-M macadr \-S subnet \-B baud_sol ]
+ [\-G gwyip \-H gwymac \-L lan_channel_num ]
+ [\-A alertip \-X alertmac \-C community ]
+ [\-u user_to_set \-p password_to_set ]
+ [\-N nodename \-U username \-Fimb ]
+ [\-P/\-R rmt_node_pswd \-EFJTVY ]
+
+.SH DESCRIPTION
+.I ipmiutil lan
+shows or sets all of the IPMI LAN Parameters to enable
+remote LAN sessions or BMC LAN Alerts. The IP address and MAC address of
+the local system, the default gateway, and the alert destination
+can be defaulted to those specified in Linux, or can be overridden
+by user parameters.
+It also creates a new Platform Event Filter table entry for an OS Critical
+Stop (0x20) SEL firmware log event, so that it will be enabled to send a
+BMC LAN Alert. This utility will skip the PEF records if the system does
+not support IPMI 1.5 or greater.
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N.
+
+.SH OPTIONS
+Command line options are described below.
+Note that without options, ipmiutil lan behaves as if option \-r were used.
+To configure IPMI LAN & PEF, use option \-e.
+
+.IP "-a alertnum"
+Specify which PEF alert number is to be used. Default is 1. This would only
+be used if extra PEF alert destinations had been set.
+.IP "-b authmask"
+Specify a certain authtype mask in hex to use when configuring this channel.
+The default mask is 0x16, so to include authtype None (bit 0), it would
+require entering '\-b 17'.
+.IP "-c"
+Show Canonical output, which shows only interpreted text and streamlines
+the parameters shown, using a common delimiter.
+.IP "-d"
+This option disables the IPMI LAN and PEF parameters, so as not to allow BMC
+LAN connections or alerts. This option also sets the IP address to zeros.
+.IP "-e"
+This option enables the BMC LAN configuration and PEF event alerts.
+The utility will attempt to obtain the default BMC LAN parameters
+from the OS automatically, or they can be specified with command
+options below.
+.IP "-f"
+Set the ARP control parameter to 1 = gratuituous ARPs, 2 = ARP responses,
+or 3 = both grat ARP and ARP responses. The default is 1.
+.IP "-g"
+This specifies the secondary gateway IP address to use for the BMC LAN.
+The default is to omit this parameter and only use the default gateway.
+See also \-G.
+.IP "-h"
+Set the IPMI VLAN ID to this value. Setting to a value >=4096 disables the
+VLAN ID. The default behavior is not to set this parameter.
+.IP "-i ethif"
+By default, the eth0 interface is used to find IP and MAC addresses.
+Sometimes, however, the first ethernet port on the baseboard may
+be represented by Linux as eth1 or eth2 instead. If so, use this
+option to indicate the correct ethernet interface to use. By default,
+ipmiutil lan will scan up to 32 eth interfaces for the onboard one that
+BMC LAN uses.
+.IP "-j"
+This sets a custom PEF rule as the last PEF entry. The input is
+a series of 10 hex bytes, forming the PEF entry. For example, this
+sample PEF entry would perform a power down action if the Baseboard Temp
+reached its threshold.
+ "ipmiutil lan \-e \-j020110ffff013001950a"
+.IP "-k"
+This causes ipmiutil lan to also insert two rules to send alerts for
+transition-to-OK events, including Power Redundancy OK and Temperature OK.
+.IP "-l"
+This option enables the BMC LAN configuration, but not PEF events.
+The utility will attempt to obtain the default BMC LAN parameters
+from the OS automatically, or they can be specified with command
+options below.
+.IP "-n num"
+By default, the new PEF entry for OS Critical Stop is inserted at
+offset 12 into the table. This can be changed to insert it at an
+offset > 12 if another entry already exists at offset 12.
+.IP "-o"
+Disable Only SOL. This could be used after the IPMI LAN was configured, to
+disable Serial-Over-LAN console access but still allow other IPMI LAN access.
+.IP "-p password_to_set"
+This specifies the firmware password to set for BMC LAN access.
+If not specified, the user and password configuration will not be changed.
+.IP "-q"
+Specify an alternate user number for the LAN username from the \-u option.
+This is normally user number 2, 3, or 4, where 2 is the default.
+The maximum number of users is 15. Same as -# below.
+.IP "-#"
+Specify an alternate user number for the LAN username from the \-u option.
+Same as \-q above.
+.IP "-r"
+This option just reads the configuration without writing any BMC LAN
+parameters or writing any new entries to the PEF table.
+.IP "-s"
+This option will also display some of the Serial parameters.
+.IP "-t"
+Test if the BMC LAN has already been configured. Returns 0 if so.
+.IP "-u username_to_set"
+This specifies the firmware username to set for BMC LAN access.
+If a username is specified, user 3 will be set.
+If not specified, the default user 1 will be used.
+.IP "-v priv"
+Set a specific access priVilege for this user, where priv can be:
+1=Callback, 2=User, 3=Operator, 4=Admin, 5=OEM, 15=NoAccess
+The default if not specified or specified in error, is to use 4=Admin.
+.IP "-w N"
+Set the Gratuitous ARP Interval to N seconds. This has no effect if
+the firmware does not support Grat-ARP, as shown in Lan Param 10.
+If not set, the interval remains at the firmware default.
+.IP "-x"
+Causes extra debug messages to be displayed.
+.IP "-y N"
+Set the OEM LAN Failover parameter to N. Values for N with Intel Romley/S2600 baseboards: 1 = enable, 0 = disable. Values for N with SuperMicro baseboards: 2 = failover, 1 = lan1 , 0 = dedicated.
+.IP "-z"
+Also show the IPMI LAN Statistics
+.IP "-A alert_ip_addr"
+This specifies the SNMP Alert Destination IP address to use for the BMC LAN.
+By default, this utility will attempt to obtain this from the
+/etc/snmp/snmpd.conf file, via the trapsink parameter.
+The alert destination will see the BMC LAN traps with the
+enterprises.3183.1.1 OID. If no alert IP address is specified in either
+snmpd.conf or this parameter, or if that IP address does not respond,
+the other SNMP parameters for BMC LAN will be skipped.
+.IP "-B baud_sol"
+This specifies the Baud rate for SerialOverLan. The possible values are:
+9600, 19.2k, 38.4k, 57.6k, and 115.2k. The default is 19.2k.
+.IP "-C snmp_community"
+This specifies the SNMP Community name to use for BMC LAN Alerts.
+The default community string is "public".
+This parameter is ignored if there is no Alert IP address.
+.IP "-D "
+This causes the local IP address to be determined by DHCP instead of a
+static IP address.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-G gwy_ip_addr"
+This specifies the default gateway IP address to use for the BMC LAN.
+The default is to automatically obtain this from the Linux route table.
+.IP "-H gwy_mac_addr"
+This specifies the default gateway MAC address to use for the BMC LAN.
+The format can be either 11:22:33:44:55:66 or 11-22-33-44-55-66.
+The default is to try to automatically obtain this by sending an arp request
+from an OS LAN eth interface: the default one, or as specified by \-i.
+.IP "-K hostname"
+This specifies the IPMI hostname to set, for Kontron servers only.
+This enables the firmware to properly map the IP address to a hostname,
+especially with the web interface.
+The default is not to set this parameter, and use IP address only.
+.IP "-I ip_addr"
+This specifies the local IP address to use for the BMC LAN on eth0.
+The default is to automatically obtain this from the Linux ifconfig.
+.IP "-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.
+.IP "-L lan_ch_num"
+This specifies the IPMI LAN channel number used for BMC LAN. This varies
+by platform, and can be found in the platform technical specifications.
+For instance, Intel platforms usually use channels 1 & 2 for onboard NICs,
+and channel 3 for optional RMM NICs.
+By default, ipmiutil lan scans all IPMI channels to find the first LAN
+channel for BMC LAN.
+To just list all IPMI channels to see what is available, use the string 'list'
+instead of a LAN channel number. This will list the channels and exit.
+.IP "-M mac_addr"
+This specifies the local MAC address to use for the BMC LAN on eth0.
+The format can be either 11:22:33:44:55:66 or 11-22-33-44-55-66.
+The default is to automatically obtain this from the Linux ifconfig.
+.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
+management interface is used.
+.IP "-P rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+Same as \-R below.
+.IP "-Q"
+Set the IPMI VLAN Priority. The default priority is 0.
+.IP "-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+Same as \-P above.
+.IP "-S subnet"
+This specifies the local subnet mask to use for the BMC LAN on eth0.
+The default is to automatically obtain this from the Linux ifconfig.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5,
+4=Straight Password, 5=OEM.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level,
+3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-X alert_mac_addr"
+This specifies the SNMP Alert Destinations's MAC address to use for the BMC LAN.
+The format can be either 11:22:33:44:55:66 or 11-22-33-44-55-66.
+The default is to attempt to obtain this from the Linux arp cache.
+This parameter is ignored if there is no Alert IP address.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+.SH EXAMPLES
+To read existing settings:
+.br
+ipmiutil lan \-r
+.PP
+To enable IPMI LAN with default settings detected, assuming shared MAC/IP:
+.br
+ipmiutil lan \-e
+.PP
+To set up IPMI LAN for a unique IP address and set PEF SNMP Alerts:
+.br
+ipmiutil lan \-e \-I 192.168.1.1 \-A 192.168.1.10
+.PP
+To set the IPMI LAN password for the default user:
+.br
+ipmiutil lan \-e \-p mypassword
+.PP
+To disable access to the IPMI LAN channel:
+.br
+ipmiutil lan \-d
+
+.SH "SAMPLE PEF TABLE"
+These 11 PEF table entries are configured from the factory for various
+Intel Sahalee BMC systems, and will be applied as the defaults for a
+system with an empty PEF table:
+.br
+PEF(01): 01 Temperature Sensor event - enabled for alert
+.br
+01 c0 01 01 00 ff ff 01 ff 01 95 0a 00 00 00 00 00 00 00 00 00
+.br
+PEF(02): 02 Voltage Sensor event - enabled for alert
+.br
+02 c0 01 01 00 ff ff 02 ff 01 95 0a 00 00 00 00 00 00 00 00 00
+.br
+PEF(03): 04 Fan Failure event - enabled for alert
+.br
+03 c0 01 01 00 ff ff 04 ff 01 95 0a 00 00 00 00 00 00 00 00 00
+.br
+PEF(04): 05 Chassis Intrusion event - enabled for alert
+.br
+04 c0 01 01 00 ff ff 05 05 6f 01 00 00 00 00 00 00 00 00 00 00
+.br
+PEF(05): 08 Power Supply Fault event - enabled for alert
+.br
+05 c0 01 01 00 ff ff 08 ff 6f 06 00 00 00 00 00 00 00 00 00 00
+.br
+PEF(06): 0c Memory ECC Error event - enabled for alert
+.br
+06 c0 01 01 00 ff ff 0c 08 6f 02 00 00 00 00 00 00 00 00 00 00
+.br
+PEF(07): 0f FRB Failure event - enabled for alert
+.br
+07 c0 01 01 00 ff ff 0f 06 6f 01 00 00 00 00 00 00 00 00 00 00
+.br
+PEF(08): 07 BIOS POST Error event - enabled for alert
+.br
+08 c0 01 01 00 ff ff 07 ff 6f 1c 00 00 00 00 00 00 00 00 00 00
+.br
+PEF(09): 13 Fatal NMI event - enabled for alert
+.br
+09 c0 01 01 00 ff ff 13 ff 6f 3e 03 00 00 00 00 00 00 00 00 00
+.br
+PEF(10): 23 Watchdog Timer Reset event - enabled for alert
+.br
+0a c0 01 01 00 ff ff 23 03 6f 0e 00 00 00 00 00 00 00 00 00 00
+.br
+PEF(11): 12 System Restart event - enabled for alert
+.br
+0b c0 01 01 00 ff ff 12 ff 6f 02 00 00 00 00 00 00 00 00 00 00
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/ipicmg.8 b/doc/ipicmg.8
new file mode 100644
index 0000000..0f4523f
--- /dev/null
+++ b/doc/ipicmg.8
@@ -0,0 +1,157 @@
+.TH IPICMG 8 "Version 1.0: 04 Jun 2010"
+.SH NAME
+ipmiutil_picmg \- send specific PICMG extended IPMI commands
+
+.SH SYNOPSIS
+.B "ipmiutil picmg [-mixNUPREFJTVY] parameters"
+
+.SH DESCRIPTION
+This
+.I ipmiutil picmg
+subcommand sends specific PICMG/ATCA extended IPMI commands to the firmware.
+
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N.
+
+.SH OPTIONS
+Command line options are described below.
+.IP "-i 00"
+This option specifies a specific FRU ID to show. The input value should be
+in hex (0b, 1a, etc.), as shown from the sensor SDR output.
+The default FRU ID is zero (0).
+.IP "-m 002000"
+Show FRU 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.
+.IP "-x"
+Causes extra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+.SH PARAMETERS
+\fIpicmg\fP \fBparameters\fR
+.RS
+
+.TP
+\fIproperties\fP
+Get PICMG properties may be used to
+obtain and print Extension major version information, PICMG identifier,
+FRU Device ID and Max FRU Device ID.
+
+.TP
+\fIaddrinfo\fP
+.br
+
+Get address information. This command may return information on the Hardware
+address, IPMB-0 Address, FRU ID, Site/Entity ID, and Site/Entity Type.
+.TP
+\fIfrucontrol\fP \fBfru id\fR \fBoptions\fR
+.br
+
+Set various control options:
+.RS
+.TP
+\fI0x00\fP - Cold Reset
+.br
+.TP
+\fI0x01\fP - Warm Reset
+.br
+.TP
+\fI0x02\fP - Graceful Reboot
+.br
+.TP
+\fI0x03\fP - Issue Diagnostic Interrupt
+.br
+.TP
+\fI0x04\fP - Quiesce [AMC only]
+.br
+.TP
+\fI0x05-0xFF\fP - Cold Reset
+.br
+.RE
+.TP
+\fIactivate\fP \fBfru id\fR
+.br
+
+Activate the specified FRU.
+.TP
+\fIdeactivate\fP \fBfru id\fR
+.br
+
+Deactivate the specified FRU.
+.TP
+\fIpolicy\fP \fIget\fP \fBfru id\fR
+.br
+
+Get FRU activation policy.
+.TP
+\fIpolicy\fP \fIset\fP \fBfru id\fR \fBlockmask\fR \fBlock\fR
+.br
+
+Set FRU activation policy. \fBlockmask\fR is 1 or 0 to indicate action
+on the deactivation or activation locked bit respectively. \fBlock\fR is
+1 or 0 to set/clear locked bit.
+.TP
+\fIportstate\fP \fBset\fR|\fBgetall\fR|\fBgetgranted\fR|\fBgetdenied\fR \fBparameters\fR
+.br
+
+Get or set various port states. See usage for parameter details.
+
+
+
+.SH "EXAMPLES"
+ipmiutil picmg properties
+.br
+Gets PICMG properties from the default target address (slave address 0x20).
+.PP
+ipmiutil picmg \-N 192.168.1.1 \-U root \-P pswd addrinfo
+.br
+Gets PICMG Address Information from the specified IP address.
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) iconfig(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2010 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/ipmi_port.8 b/doc/ipmi_port.8
new file mode 100644
index 0000000..15287e2
--- /dev/null
+++ b/doc/ipmi_port.8
@@ -0,0 +1,44 @@
+.TH IPMI_PORT 8 "Version 1.0: 14 Apr 2010"
+.SH NAME
+ipmi_port \- a daemon to bind RMCP port 623 to prevent portmap from using it
+
+.SH SYNOPSIS
+.B "ipmi_port [-bx]"
+
+.SH DESCRIPTION
+This
+.I ipmi_port
+service starts and binds port 623, then sleeps forever, so that the portmap
+service will not try to reuse port 623, which it otherwise might try to do.
+Since the IPMI firmware snoops the NIC channel and grabs any traffic destined
+for RMCP port 623, any application in the OS which tried to use port 623
+would fail.
+
+.SH OPTIONS
+Command line options are described below.
+.IP "-b"
+Background mode. Convert to a daemon and run in background.
+Without specifying this option, ipmi_port will run in foreground.
+.IP "-x"
+Causes eXtra debug messages to be displayed.
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) iconfig(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/ipmiutil.8 b/doc/ipmiutil.8
new file mode 100644
index 0000000..24d0a3a
--- /dev/null
+++ b/doc/ipmiutil.8
@@ -0,0 +1,116 @@
+.TH IPMIUTIL 8 "Version 1.1: 10 May 2012"
+.SH NAME
+ipmiutil \- a meta-command to invoke various IPMI functions.
+
+.SH SYNOPSIS
+.B "ipmiutil <command> [-x -NUPREFJTVY] [other command options]
+
+.SH DESCRIPTION
+This utility performs various IPMI functions. Each of the individual
+commands in the ipmiutil project can be invoked via this meta-command.
+The <command> is one of the following:
+ alarms show/set the front panel alarm LEDs and relays
+ leds show/set the front panel alarm LEDs and relays
+ cmd send a specified raw IPMI command to the BMC
+ config list/save/restore BMC configuration parameters
+ dcmi get/set DCMI parameters
+ discover discover all IPMI servers on this LAN
+ ekanalyzer run FRU-EKeying analyzer on FRU files (deprecated, see fru)
+ events decode IPMI events and display them
+ firewall show/set firmware firewall functions
+ fru show decoded FRU inventory data, write asset tag
+ fwum OEM firmware update manager extensions
+ getevt get IPMI events and display them, event daemon
+ getevent get IPMI events and display them, event daemon
+ health check and show the basic health of the IPMI BMC
+ hpm HPM firmware update manager extensions
+ lan show/set IPMI LAN parameters and PEF table
+ picmg show/set picmg extended functions
+ reset cause the BMC to reset or power down the system
+ sel show/clear firmware System Event Log records
+ sensor show Sensor Data Records, readings, thresholds
+ serial show/set IPMI Serial & Terminal Mode parameters
+ sol start/stop an SOL console session
+ smcoem SuperMicro OEM functions
+ sunoem Sun OEM functions
+ delloem Dell OEM functions
+ tsol Tyan SOL console start/stop session
+ wdt show/set/reset the watchdog timer
+.br
+For help on each command (e.g. 'sel'), enter:
+ ipmiutil sel -?
+.br
+For man pages on each command, its man page is named "i<command>",
+or refer to SEE ALSO below.
+
+.br
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N is used.
+
+.SH OPTIONS
+Command options are described in the man page for each command.
+Below are a few of the common options.
+.IP "-x"
+Causes extra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+.SH "EXAMPLES"
+ipmiutil sel
+.br
+Shows the IPMI System Event Log entries.
+.PP
+ipmiutil wdt
+.br
+Shows the watchdog timer values.
+.PP
+
+.SH "SEE ALSO"
+ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifirewall(8)
+ifru(8) ifruset(8) ifwum(8) igetevent(8) ihealth(8) ihpm(8)
+ilan(8) ipicmg(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) isunoem(8)
+iwdt(8) ipmiutil(8) ipmi_port(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/ipmiutil.spec b/doc/ipmiutil.spec
new file mode 100644
index 0000000..cd849f2
--- /dev/null
+++ b/doc/ipmiutil.spec
@@ -0,0 +1,424 @@
+# spec file for package ipmiutil
+#
+# Copyright (c) 2012 Andy Cress
+#
+Name: ipmiutil
+Version: 2.9.3
+Release: 1%{?dist}
+Summary: Easy-to-use IPMI server management utilities
+License: BSD
+Group: System/Management
+Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
+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
+Requires: systemd-units
+%endif
+%if 0%{?suse_version} >= 1210
+%define req_systemd 1
+%endif
+%if 0%{?req_systemd}
+BuildRequires: openssl-devel gcc gcc-c++ libtool systemd
+%define unit_dir %{_unitdir}
+%define systemd_fls %{unit_dir}
+# Requires: %{?systemd_requires}
+%else
+BuildRequires: openssl-devel gcc gcc-c++ libtool
+%if 0%{?fedora} == 16
+%define unit_dir /lib/systemd/system
+%else
+%define unit_dir %{_unitdir}
+%endif
+%define systemd_fls %{_datadir}/%{name}
+%endif
+%define init_dir %{_initrddir}
+
+%description
+The ipmiutil package provides easy-to-use utilities to view the SEL,
+perform an IPMI chassis reset, set up the IPMI LAN and Platform Event Filter
+entries to allow SNMP alerts, Serial-Over-LAN console, event daemon, and
+other IPMI tasks.
+These can be invoked with the metacommand ipmiutil, or via subcommand
+shortcuts as well. IPMIUTIL can also write sensor thresholds, FRU asset tags,
+and has a full IPMI configuration save/restore.
+An IPMI driver can be provided by either the OpenIPMI driver (/dev/ipmi0)
+or the Intel IPMI driver (/dev/imb), etc. If used locally and no driver is
+detected, ipmiutil will use user-space direct I/Os instead.
+
+%package devel
+Group: Development/Libraries
+Summary: Includes libraries and headers for the ipmiutil package
+Provides: ipmiutil-static = %{version}-%{release}
+
+%description devel
+The ipmiutil-devel package contains headers and libraries which are
+useful for building custom IPMI applications.
+
+%prep
+%setup -q
+
+%build
+%if 0%{?fedora} >= 15
+autoconf
+%endif
+%if 0%{?req_systemd}
+%configure --enable-systemd
+%else
+%configure
+%endif
+make
+
+%install
+rm -rf %{buildroot}
+make install DESTDIR=%{buildroot}
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%defattr(-, root, root, -)
+%dir %{_datadir}/%{name}
+%dir %{_var}/lib/%{name}
+%{_bindir}/ipmiutil
+%{_bindir}/idiscover
+%{_bindir}/ievents
+%{_sbindir}/iseltime
+%{_sbindir}/ipmi_port
+%{_sbindir}/ialarms
+%{_sbindir}/iconfig
+%{_sbindir}/icmd
+%{_sbindir}/ifru
+%{_sbindir}/igetevent
+%{_sbindir}/ihealth
+%{_sbindir}/ilan
+%{_sbindir}/ireset
+%{_sbindir}/isel
+%{_sbindir}/isensor
+%{_sbindir}/iserial
+%{_sbindir}/isol
+%{_sbindir}/iwdt
+%{_sbindir}/ipicmg
+%{_sbindir}/ifirewall
+%{_sbindir}/ifwum
+%{_sbindir}/ihpm
+%{_datadir}/%{name}/ipmiutil_evt
+%{_datadir}/%{name}/ipmiutil_asy
+%{_datadir}/%{name}/ipmiutil_wdt
+%{_datadir}/%{name}/ipmi_port
+%{_datadir}/%{name}/ipmi_info
+%{_datadir}/%{name}/checksel
+%{systemd_fls}/ipmiutil_evt.service
+%{systemd_fls}/ipmiutil_asy.service
+%{systemd_fls}/ipmiutil_wdt.service
+%{systemd_fls}/ipmi_port.service
+%{_datadir}/%{name}/ipmiutil.env
+%{_datadir}/%{name}/ipmiutil.pre
+%{_datadir}/%{name}/ipmiutil.setup
+%{_datadir}/%{name}/ipmi_if.sh
+%{_datadir}/%{name}/evt.sh
+%{_datadir}/%{name}/ipmi.init.basic
+%{_datadir}/%{name}/bmclanpet.mib
+%{_mandir}/man8/isel.8*
+%{_mandir}/man8/isensor.8*
+%{_mandir}/man8/ireset.8*
+%{_mandir}/man8/igetevent.8*
+%{_mandir}/man8/ihealth.8*
+%{_mandir}/man8/iconfig.8*
+%{_mandir}/man8/ialarms.8*
+%{_mandir}/man8/iwdt.8*
+%{_mandir}/man8/ilan.8*
+%{_mandir}/man8/iserial.8*
+%{_mandir}/man8/ifru.8*
+%{_mandir}/man8/icmd.8*
+%{_mandir}/man8/isol.8*
+%{_mandir}/man8/ipmiutil.8*
+%{_mandir}/man8/idiscover.8*
+%{_mandir}/man8/ievents.8*
+%{_mandir}/man8/ipmi_port.8*
+%{_mandir}/man8/ipicmg.8*
+%{_mandir}/man8/ifirewall.8*
+%{_mandir}/man8/ifwum.8*
+%{_mandir}/man8/ihpm.8*
+%{_mandir}/man8/isunoem.8*
+%{_mandir}/man8/idelloem.8*
+%{_mandir}/man8/ismcoem.8*
+%{_mandir}/man8/iekanalyzer.8*
+%{_mandir}/man8/itsol.8*
+%{_mandir}/man8/idcmi.8*
+%doc AUTHORS ChangeLog COPYING NEWS README TODO
+%doc doc/UserGuide
+
+%files devel
+%defattr(-,root,root)
+# %{_datadir}/%{name} is used by both ipmiutil and ipmituil-devel
+%dir %{_datadir}/%{name}
+%{_datadir}/%{name}/ipmi_sample.c
+%{_datadir}/%{name}/ipmi_sample_evt.c
+%{_datadir}/%{name}/isensor.c
+%{_datadir}/%{name}/ievents.c
+%{_datadir}/%{name}/isensor.h
+%{_datadir}/%{name}/ievents.h
+%{_datadir}/%{name}/Makefile
+%{_includedir}/ipmicmd.h
+%{_libdir}/libipmiutil.a
+%{_libdir}/libipmiutil.so
+
+
+%pre
+%if 0%{?req_systemd}
+%service_add_pre ipmi_port.service ipmiutil_evt.service ipmiutil_asy.service ipmiutil_wdt.service
+%endif
+
+%post
+# POST_INSTALL, $1 = 1 if rpm -i, $1 = 2 if rpm -U
+if [ "$1" = "1" ]
+then
+ # doing rpm -i, first time
+ vardir=%{_var}/lib/%{name}
+ scr_dir=%{_datadir}/%{name}
+
+%if 0%{?req_systemd}
+%service_add_post ipmi_port.service ipmiutil_evt.service ipmiutil_asy.service ipmiutil_wdt.service
+%else
+ if [ -x /bin/systemctl ]; then
+ echo "IINITDIR=%{init_dir}" >>%{_datadir}/%{name}/ipmiutil.env
+ cp -f ${scr_dir}/ipmiutil_evt.service %{unit_dir}
+ cp -f ${scr_dir}/ipmiutil_asy.service %{unit_dir}
+ cp -f ${scr_dir}/ipmiutil_wdt.service %{unit_dir}
+ cp -f ${scr_dir}/ipmi_port.service %{unit_dir}
+ # systemctl enable ipmi_port.service >/dev/null 2>&1 || :
+ else
+ cp -f ${scr_dir}/ipmiutil_wdt %{init_dir}
+ cp -f ${scr_dir}/ipmiutil_asy %{init_dir}
+ cp -f ${scr_dir}/ipmiutil_evt %{init_dir}
+ cp -f ${scr_dir}/ipmi_port %{init_dir}
+ cp -f ${scr_dir}/ipmi_info %{init_dir}
+ fi
+%endif
+
+ # Run some ipmiutil command to see if any IPMI interface works.
+ %{_bindir}/ipmiutil sel -v >/dev/null 2>&1 || :
+ IPMIret=$?
+ # If IPMIret==0, the IPMI cmd was successful, and IPMI is enabled locally.
+ if [ $IPMIret -eq 0 ]; then
+ # If IPMI is enabled, automate managing the IPMI SEL
+ if [ -d %{_sysconfdir}/cron.daily ]; then
+ cp -f %{_datadir}/%{name}/checksel %{_sysconfdir}/cron.daily
+ fi
+ # IPMI_IS_ENABLED, so enable services, but only if Red Hat
+ if [ -f /etc/redhat-release ]; then
+ if [ -x /bin/systemctl ]; 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
+ fi
+ fi
+
+ # Capture a snapshot of IPMI sensor data once now for later reuse.
+ sensorout=$vardir/sensor_out.txt
+ if [ ! -f $sensorout ]; then
+ %{_bindir}/ipmiutil sensor -q >$sensorout || :
+ if [ $? -ne 0 ]; then
+ # remove file if error, try again in ipmi_port on reboot.
+ rm -f $sensorout
+ fi
+ fi
+ fi
+else
+ # postinstall, doing rpm update
+ %{_bindir}/ipmiutil sel -v >/dev/null 2>&1 || :
+ if [ $? -eq 0 ]; then
+ if [ -d %{_sysconfdir}/cron.daily ]; then
+ cp -f %{_datadir}/%{name}/checksel %{_sysconfdir}/cron.daily
+ fi
+ fi
+fi
+%if 0%{?fedora} >= 18
+%systemd_post ipmiutil_evt.service
+%systemd_post ipmiutil_asy.service
+%systemd_post ipmiutil_wdt.service
+%systemd_post ipmi_port.service
+%endif
+
+%preun
+# before uninstall, $1 = 1 if rpm -U, $1 = 0 if rpm -e
+if [ "$1" = "0" ]
+then
+%if 0%{?req_systemd}
+%service_del_preun ipmi_port.service ipmiutil_evt.service ipmiutil_asy.service ipmiutil_wdt.service
+%else
+ if [ -x /bin/systemctl ]; then
+ if [ -f %{unit_dir}/ipmiutil_evt.service ]; then
+%if 0%{?fedora} >= 18
+%systemd_preun ipmiutil_evt.service
+%systemd_preun ipmiutil_asy.service
+%systemd_preun ipmiutil_wdt.service
+%systemd_preun ipmi_port.service
+%else
+ systemctl disable ipmi_port.service >/dev/null 2>&1 || :
+ systemctl disable ipmiutil_evt.service >/dev/null 2>&1 || :
+ systemctl disable ipmiutil_asy.service >/dev/null 2>&1 || :
+ systemctl disable ipmiutil_wdt.service >/dev/null 2>&1 || :
+ systemctl stop ipmiutil_evt.service >/dev/null 2>&1 || :
+ systemctl stop ipmiutil_asy.service >/dev/null 2>&1 || :
+ systemctl stop ipmiutil_wdt.service >/dev/null 2>&1 || :
+ systemctl stop ipmi_port.service >/dev/null 2>&1 || :
+%endif
+ fi
+ else
+ if [ -x /sbin/service ]; then
+ /sbin/service ipmi_port stop >/dev/null 2>&1 || :
+ /sbin/service ipmiutil_wdt stop >/dev/null 2>&1 || :
+ /sbin/service ipmiutil_asy stop >/dev/null 2>&1 || :
+ /sbin/service ipmiutil_evt stop >/dev/null 2>&1 || :
+ fi
+ if [ -x /sbin/chkconfig ]; then
+ /sbin/chkconfig --del ipmi_port >/dev/null 2>&1 || :
+ /sbin/chkconfig --del ipmiutil_wdt >/dev/null 2>&1 || :
+ /sbin/chkconfig --del ipmiutil_asy >/dev/null 2>&1 || :
+ /sbin/chkconfig --del ipmiutil_evt >/dev/null 2>&1 || :
+ fi
+ fi
+%endif
+ if [ -f %{_sysconfdir}/cron.daily/checksel ]; then
+ rm -f %{_sysconfdir}/cron.daily/checksel
+ fi
+fi
+
+%postun
+%if 0%{?req_systemd}
+%service_del_postun ipmi_port.service ipmiutil_evt.service ipmiutil_asy.service ipmiutil_wdt.service
+%else
+if [ -x /bin/systemctl ]; then
+%if 0%{?fedora} >= 18
+%systemd_postun_with_restart ipmi_port.service
+%else
+ systemctl daemon-reload || :
+ if [ $1 -ge 1 ] ; then
+ # Package upgrade, not uninstall
+ systemctl try-restart ipmi_port.service || :
+ fi
+%endif
+ if [ -f %{unit_dir}/ipmiutil_evt.service ]; then
+ rm -f %{unit_dir}/ipmiutil_evt.service 2>/dev/null || :
+ rm -f %{unit_dir}/ipmiutil_asy.service 2>/dev/null || :
+ rm -f %{unit_dir}/ipmiutil_wdt.service 2>/dev/null || :
+ rm -f %{unit_dir}/ipmi_port.service 2>/dev/null || :
+ fi
+else
+ if [ -f %{init_dir}/ipmiutil_evt.service ]; then
+ rm -f %{init_dir}/ipmiutil_wdt 2>/dev/null || :
+ rm -f %{init_dir}/ipmiutil_asy 2>/dev/null || :
+ rm -f %{init_dir}/ipmiutil_evt 2>/dev/null || :
+ rm -f %{init_dir}/ipmi_port 2>/dev/null || :
+ fi
+fi
+%endif
+
+%changelog
+* Tue Aug 21 2012 Andrew Cress <arcress at users.sourceforge.net> 2.8.5-2
+ Added F18 systemd macros for RH bug #850163
+* Fri May 04 2012 Andrew Cress <arcress at users.sourceforge.net> 2.8.4-1
+ Fixups for devel rpm (RH bug #818910)
+* Tue Apr 24 2012 Andrew Cress <arcress at users.sourceforge.net> 2.8.3-1
+ Use service_* macros if req_systemd is set
+* Thu Mar 08 2012 Andrew Cress <arcress at users.sourceforge.net> 2.8.2-1
+ reworked systemd logic/macros, moved ipmiutil from sbindir to bindir
+* Mon Dec 12 2011 Andrew Cress <arcress at users.sourceforge.net> 2.8.0-1
+ added devel package files
+* Fri Nov 11 2011 Andrew Cress <arcress at users.sourceforge.net> 2.7.9-3
+ fix RH bug #752319 to not copy checksel to cron.daily if IPMI not enabled
+* Tue Sep 13 2011 Andrew Cress <arcress at users.sourceforge.net> 2.7.8-1
+ added systemd scripts, added idelloem.8
+* Mon Jun 06 2011 Andrew Cress <arcress at users.sourceforge.net> 2.7.7-1
+ add gcc,gcc-c++ to BuildRequires to detect broken build systems
+* Mon May 09 2011 Andrew Cress <arcress at users.sourceforge.net> 2.7.6-1
+ updated ipmiutil
+* Fri Nov 12 2010 Andrew Cress <arcress at users.sourceforge.net> 2.7.3-1
+ updated package description
+* Fri Oct 15 2010 Andrew Cress <arcress at users.sourceforge.net> 2.7.1-1
+ skip chkconfig --add if not Red Hat
+* Mon Sep 27 2010 Andrew Cress <arcress at users.sourceforge.net> 2.7.0-1
+ added fwum, hpm, sunoem, ekanalyzer man pages
+* Mon Jul 19 2010 Andrew Cress <arcress at users.sourceforge.net> 2.6.8-1
+ cleaned up two more rpmlint issues
+* Mon Jul 12 2010 Andrew Cress <arcress at users.sourceforge.net> 2.6.7-1
+ cleaned up some rpmlint issues, include ipmiutil_evt in chkconfig's
+* Thu Apr 29 2010 Andrew Cress <arcress at users.sourceforge.net> 2.6.4-1
+ cleaned up some style issues
+* Fri Mar 5 2010 Andrew Cress <arcress at users.sourceforge.net> 2.6.1-1
+ cleaned up some style issues
+* Tue Feb 16 2010 Andrew Cress <arcress at users.sourceforge.net> 2.6.0-1
+ cleaned up some script clutter, changed naming scheme for sub-commands
+* Tue Jan 26 2010 Andrew Cress <arcress at users.sourceforge.net> 2.5.3-1
+ cleaned up some rpmlint issues, removed bmclanaol.mib
+* Mon Nov 9 2009 Andrew Cress <arcress at users.sourceforge.net> 2.5.1-1
+ do not gzip man files, clean up scripts, move distro specifics to configure
+* Tue Jun 23 2009 Andrew Cress <arcress at users.sourceforge.net> 2.4.0-1
+ moved all progs to sbin, install init/cron scripts via files not post
+* Wed Dec 10 2008 Andrew Cress <arcress at users.sourceforge.net> 2.3.2-1
+ changes for Fedora with ipmiutil-2.3.2
+* Fri Jun 08 2007 Andrew Cress <arcress at users.sourceforge.net>
+ rpmlint tweaks for ipmiutil-1.9.8
+* Mon May 21 2007 Andrew Cress <arcress at users.sourceforge.net>
+ added isroot flag for chroot cases
+* Mon May 18 2007 Andrew Cress <arcress at users.sourceforge.net>
+ added ipmi_port init handling
+* Mon Jul 10 2006 Andrew Cress <arcress at users.sourceforge.net>
+ changed to libfreeipmi.so.2, include and run ipmi_if.sh
+* Tue Aug 02 2005 Andrew Cress <arcress at users.sourceforge.net>
+ changed not to run pefconfig if already configured
+* Wed Feb 03 2005 Andrew Cress <arcress at users.sourceforge.net>
+ changed /usr/man to /usr/share/man,
+ fixed postun to recognize rpm -U via arg 1
+* Mon Nov 1 2004 Andrew Cress <arcress at users.sourceforge.net>
+ added freeipmi install files and logic
+* Tue Aug 23 2004 Andrew Cress <arcress at users.sourceforge.net>
+- added MIB links to /usr/share/snmp/mibs
+* Tue Aug 10 2004 Andrew Cress <arcress at users.sourceforge.net>
+- added icmd utility to the rpm
+* Thu Aug 05 2004 Andrew Cress <arcress at users.sourceforge.net>
+- added special logic for SuSE snmpd.conf
+* Fri Apr 02 2004 Andrew Cress <arcress at users.sourceforge.net>
+- added checksel cron job
+* Tue Jan 28 2003 Andrew Cress <arcress at users.sourceforge.net>
+- added sensor & fruconfig for ipmiutil 1.2.8
+* Tue Aug 2 2002 Andrew Cress <arcress at users.sourceforge.net>
+- fixed bug 793 (dont need Require:ipmidrvr) for ipmiutil 1.2.2
+* Tue Jul 2 2002 Andrew Cress <arcress at users.sourceforge.net>
+- fixed bug 555 in showsel for ipmiutil 1.2.1
+* Fri May 10 2002 Andrew Cress <arcress at users.sourceforge.net>
+- fixed bug 504 in pefconfig for ipmiutil 1.1.5
+* Thu Apr 11 2002 Andrew Cress <arcress at users.sourceforge.net>
+- updated pathnames for ipmiutil 1.1.4, some cleanup
+* Mon Mar 18 2002 Andrew Cress <arcress at users.sourceforge.net>
+- updated for 1.1.3-2, added checking for grub vs. lilo to .spec
+* Tue Mar 12 2002 Andrew Cress <arcress at users.sourceforge.net>
+- updated for 1.1.3, added source rpm, changed license, etc.
+* Thu Jan 31 2002 Andrew Cress <arcress at users.sourceforge.net>
+- updated for 1.1.0-2, changed selpef to pefconfig
+* Thu Jan 25 2002 Andrew Cress <arcress at users.sourceforge.net>
+- updated for 1.1.0, changed to ipmidrvr rather than isc dependency
+* Thu Jan 16 2002 Andrew Cress <arcress at users.sourceforge.net>
+- updated for 1.1.0, added hwreset utility
+* Thu Dec 14 2001 Andrew Cress <arcress at users.sourceforge.net>
+- updated for 1.0.0, man page updates
+* Thu Nov 19 2001 Andrew Cress <arcress at users.sourceforge.net>
+- updated for 0.9.0, uses new OSS bmc_panic, so don't install module.
+* Thu Nov 13 2001 Andrew Cress <arcress at users.sourceforge.net>
+- updated for 0.8.5, add "Requires: isc" (#32), hide selpef output (#38)
+* Thu Nov 8 2001 Andrew Cress <arcress at users.sourceforge.net>
+- updated for 0.8.4, eliminate "file exists" messages by fixing removal
+* Thu Oct 25 2001 Andrew Cress <arcress at users.sourceforge.net>
+- updated for 0.8.2, run selpef (objdump:applypatch gives bogus warning)
+* Thu Oct 25 2001 Andrew Cress <arcress at users.sourceforge.net>
+- updated for 0.8.2, run selpef (objdump:applypatch gives bogus warning)
+* Wed Oct 24 2001 Andrew Cress <arcress at users.sourceforge.net>
+- created ipmiutil package 0.8.1 without kbuild
+* Tue Oct 23 2001 Andrew Cress <arcress at users.sourceforge.net>
+- created ipmiutil package 0.8.0
diff --git a/doc/ireset.8 b/doc/ireset.8
new file mode 100644
index 0000000..a018000
--- /dev/null
+++ b/doc/ireset.8
@@ -0,0 +1,118 @@
+.TH IRESET 8 "Version 1.5: 01 Jul 2011"
+.SH NAME
+ipmiutil_reset \- perform a hardware reset on the system
+.SH SYNOPSIS
+.B "ipmiutil reset [-bcdDefhijmnoprsuwxy -N node -U user -P/-R pswd -EFJTVY]"
+
+.SH DESCRIPTION
+.I ipmiutil reset
+is a program that uses IPMI commands to
+perform a hardware reset of the chassis, or boot to a specific
+device.
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N.
+
+.SH OPTIONS
+Command line options are described below.
+.IP "-c"
+Power Cycle the system chassis
+.IP "-d"
+Power Down the system chassis
+.IP "-n"
+Send NMI to the system
+.IP "-u"
+Power Up the system chassis
+.IP "-r"
+Hard Reset the system chassis
+.IP "-D"
+Do a soft shutdown of the OS, and then power down.
+Note that remote soft shutdown (\-D \-N) for Intel S5000 baseboard requires
+ipmiutil getevt \-a running on the target server.
+.IP "-o"
+Do a soft shutdown of the OS, and then reset.
+Note that remote soft shutdown (\-o \-N) for Intel S5000 baseboard requires
+ipmiutil getevt \-a running on the target server.
+.IP "-k"
+Do a cold reset to restart the BMC firmware.
+.IP "-m 002000s"
+Perform these function for a specific MC (e.g. bus 00, sa 20, lun 00).
+The trailing character, if present, indicates SMI addressing if 's',
+or IPMB addressing if 'i' or not present.
+.IP "-b"
+Do a hard reset and reboot to the BIOS Setup menu, for this reboot only.
+.IP "-e"
+Do a hard reset to EFI, if IPMI EFI boot is enabled, for this reboot only.
+.IP "-f"
+Do a hard reset to Floppy/Removable, for this reboot only.
+.IP "-h"
+Do a hard reset to a Hard Disk, for this reboot only.
+.IP "-i"
+Set the boot Initiator mailbox string, usually for PXE use.
+The string must be less than 78 characters.
+.IP "-j"
+Set the IANA number used for the boot Initiator mailbox string.
+.IP "-p"
+Do a hard reset and network boot to PXE server, for this reboot only.
+.IP "-s"
+Do a hard reset and reboot to the Service/Diagnostic Partition, for this
+reboot only. Reboots to the default if no service partition is configured.
+.IP "-v"
+Do a hard reset to DVD/CDROM Media, for this reboot only.
+.IP "-w"
+Wait for BMC ready after a reset before exiting the utility.
+.IP "-x"
+Causes extra debug messages to be displayed.
+.IP "-y"
+Yes, try to persist any boot options used [\-befhprsv]. This requires the IPMI
+firmware to ask the BIOS to change boot order settings, so it may not
+be supported by all BMC firmware vendors.
+.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
+management interface is used.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ilan(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/isel.8 b/doc/isel.8
new file mode 100644
index 0000000..a765e32
--- /dev/null
+++ b/doc/isel.8
@@ -0,0 +1,137 @@
+.TH ISEL 8 "Version 1.4: 17 Feb 2010"
+.SH NAME
+ipmiutil_sel \- show firmware System Event Log records
+.SH SYNOPSIS
+.B "ipmiutil sel [-abcflswvx -N node -P/-R pswd -U user -EFJTVY]"
+
+.SH DESCRIPTION
+.I ipmiutil sel
+is a program that uses IPMI commands to
+to read and display the System Event Log (SEL) which
+is stored by the BMC firmware. IPMI commands are issued
+to read each record, and, if specified, incrementally write
+records that have not previously been read into the
+Linux syslog (/var/log/messages).
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N.
+
+.SH OPTIONS
+Command line options are described below.
+
+.IP "-a string"
+Add a SEL record with a string of up to 13 characters. Longer strings will
+be truncated. Note that this should be used sparingly, but would be useful
+for changes made to the hardware or firmware environment, like "Fan replaced"
+or "flash FW2.1".
+
+.IP "-b bin_file"
+Interpret a file containing raw binary/hex SEL data dumped in binary form,
+such as that produced by "ipmitool sel writeraw bin_file".
+Each set of 16 bytes in the file will be interpreted as an IPMI event.
+
+.IP "-c"
+Show output in a canonical format, with a default delimiter of '|'.
+(same as \-n).
+
+.IP "-d"
+Deletes/Clears the SEL of all records.
+If the SEL becomes full (free space = 0), it no longer accepts new records,
+so the SEL should be cleared periodically (use checksel cron script).
+
+.IP "-e"
+Show Extended sensor descriptions for events if run locally.
+This option will attempt to get the full sensor description from
+/var/lib/ipmiutil/sensor_out.txt, and also use its SDR to decode any raw
+threshold values in the event, if present.
+
+.IP "-f sel_file"
+Interpret a file containing raw ascii text SEL data captured with
+ipmiutil sel \-r, or some other similar utility.
+Each line in the file should be in this
+form, with no leading spaces:
+.br
+04 00 02 76 a9 4a 47 20 00 04 10 09 6f 42 0f ff
+.br
+Lines not in this format will be ignored.
+
+.IP "-l N"
+Show last N SEL records, in reverse order (newest first).
+For some BMC implementations, this may not show all N records specified.
+.IP "-n"
+Show output in a nominal/canonical format, with a default delimiter of '|'.
+(same as \-c).
+.IP "-r"
+Show the 16 raw hex bytes for each SEL entry. The default is to display
+interpreted entries, and include relevant hex event bytes.
+.IP "-p"
+By default, all SEL records are displayed. This option
+causes only the Panic events with sensor_type = 0x20 (OS Critical Stop)
+to be displayed.
+.IP "-s N"
+Show only SEL events with severity N or greater. Severity 0=INF, 1=MIN,
+2=MAJ, 3=CRT. The default is to show all SEL events.
+.IP "-u"
+Show the SEL time as UTC and also get the SEL Time UTC offset if that
+command is supported. The default is to convert the SEL Time to local time.
+.IP "-v"
+Only show the version information. This shows: the ipmiutil sel utility
+version, the BMC version, the IPMI version, the SEL version, and the amount
+of free space in the SEL.
+.IP "-w"
+This option writes SEL records to the Linux syslog (/var/log/messages)
+or Windows Application Log. It only writes SEL records that have
+timestamps newer than the last record written to syslog.
+It saves the last timestamp in an index file named
+/usr/share/ipmiutil/sel.idx (.\\sel.idx in Windows).
+.IP "-x"
+Causes extra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+.SH "SEE ALSO"
+ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isensor(8) iserial(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any
+bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/iseltime.8 b/doc/iseltime.8
new file mode 100644
index 0000000..eb9a705
--- /dev/null
+++ b/doc/iseltime.8
@@ -0,0 +1,79 @@
+.TH ISELTIME 8 "Version 1.0: 01 Apr 2013"
+.SH NAME
+iseltime \- synchronize BMC SEL time with OS system time
+.SH SYNOPSIS
+.B "seltime [-sx -NUPRETVF]"
+
+.SH DESCRIPTION
+.I seltime
+is a program that uses IPMI commands to
+set the BMC SEL time from the OS system time.
+The OS system time should be in sync with the BIOS Real-Time-Clock.
+The OS system time may also be kept from drifting via an NTP server.
+Normally the BIOS will set the BMC time from the RTC during boot, but
+running this command may be necessary periodically if the system
+does not reboot for many weeks, for instance.
+Note that this command should not be run too frequently to avoid
+BMC timing issues. Once per day should be sufficient.
+
+Run with no options, this command reads the BMC SEL time without
+setting anything.
+
+This utility can use either the /dev/ipmi0 openipmi driver,
+the /dev/imb Intel driver, the /dev/ipmikcs valinux driver,
+a driverless interface, or IPMI LAN.
+
+.SH OPTIONS
+.IP "-s"
+Sets the SEL time (no more than once a day).
+.IP "-x"
+Causes eXtra debug messages to be displayed.
+
+.IP "-N nodename"
+Nodename of the remote target system. If a nodename is specified,
+IPMI LAN interface is used. Otherwise the local system management
+interface is used.
+.IP "-P/-R password"
+Remote password for the nodename given. The default is a null password.
+.IP "-U username"
+Remote username for the nodename given. The default is a null username.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-J"
+Use the specified LanPlus cipher suite (0 thru 14): 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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are -E or -P.
+
+
+.SH "SEE ALSO"
+ipmiutil(8) isel(8) ievents(8) icmd(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2013 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/isensor.8 b/doc/isensor.8
new file mode 100644
index 0000000..dcfdd1a
--- /dev/null
+++ b/doc/isensor.8
@@ -0,0 +1,213 @@
+.TH ISENSOR 8 "Version 1.6: 09 Nov 2011"
+.SH NAME
+ipmiutil_sensor \- show Sensor Data Records
+.SH SYNOPSIS
+.B "ipmiutil sensor [-abcdefgmpqrstuvwx -i id -n snum -h tval -l tval -NUPREFJTVY]"
+
+.SH DESCRIPTION
+.I ipmiutil sensor
+is a program that uses IPMI commands to
+show and decode Sensor Data Records and current
+sensor readings for all sensors in the system.
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N.
+
+Note that this utility by default only displays Sensor Data Records
+reported by from the Baseboard Management Controller.
+To show sensors for other controllers, see options \-b and \-m below.
+
+.SH OPTIONS
+Command line options are described below.
+.IP "-a snum"
+ReArms the sensor number for events
+.IP "-b"
+Shows SDRs for Bladed (PICMG or ATCA) systems by traversing the child MCs
+(same as \-e).
+.IP "-c"
+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.
+.IP "-e"
+Show Every SDR in a bladed system by traversing the child MCs (same as \-b).
+.IP "-f <file>"
+Restore the SDRs from the specified binary File.
+This is normally only done with the initial factory provisioning.
+.IP "-g sens_type"
+Shows only those SDRs matching the given sensor type group.
+The sens_type string can be "fan", "temp", "voltage", or any string or
+substring matching those in the IPMI 2.0 Table 42-3 for Sensor Types.
+Multiple types can be listed, separated by a comma (,) but no spaces.
+.IP "-h tval"
+Highest threshold value to set for the specified sensor.
+This tval can be in decimal, or of the form 0x1a,
+to match the raw reading value shown by sensor following the " = ".
+The value passed is set as the non-critical threshold value, with the
+more critical ones set by the utility as incrementally lower.
+This simplifies the interface and ensures that the threshold values
+do not get out of order.
+This requires specifying the sensor number via \-n.
+.IP "-i ID"
+Show or set only the sensor Index corresponding to ID, where ID is the
+hex ID of the SDR as shown in the sensor output under "_ID_".
+The ID argument can be one hex number (e.g. 0x0e or 0e), or a range of
+hex numbers (e.g. 0e-1a or 1a,2a or 0x0e-0x2a).
+This is useful to repeatedly view just a few sensor readings for changes,
+or to set just one sensor quickly without reading all of the SDRs.
+.IP "-l tval"
+Lowest threshold value to set for the specified sensor.
+This tval can be in decimal, or of the form 0x1a,
+to match the raw reading value shown by sensor following the " = ".
+The value passed is set as the non-critical threshold value, with the
+more critical ones set by the utility as incrementally higher.
+This simplifies the interface and ensures that the threshold values
+do not get out of order.
+This requires specifying the sensor number via \-n.
+.IP "-m 002000s"
+Show SDRs for a specific MC (e.g. bus 00, sa 20, lun 00).
+This could be used for PICMG or ATCA blade systems.
+The trailing character, if present, indicates SMI addressing if 's',
+or IPMB addressing if 'i' or not present.
+.IP "-n snum"
+Number of the sensor to set.
+This num can be in decimal, or of the form 0x1a,
+to match the value shown by sensor following the "snum" tag.
+This is required if setting hi/lo thresholds via \-h/\-l.
+.IP "-o"
+Output the memory DIMM information from SMBIOS, including size. Not available if using IPMI LAN via \-N. Sample output:
+.br
+Memory Device (0,0): DIMM_A1 : size=2048MB
+.br
+Memory Device (0,1): DIMM_A2 : not present
+.IP "-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 thresholds.cmd.
+.IP "-q"
+Show any thresholds for each sensor in short format with ':' delimiters, useful as an example for setting thresholds with '\-u'.
+.IP "-r"
+Show Raw SDR bytes also.
+.IP "-s"
+Show sensor list in a simpler/canonical format without uninterpreted binary
+values. Only the user-friendly interpreted sensor information is shown.
+(same as \-c).
+.IP "-t"
+Show any Thresholds for each sensor also, in text format.
+.IP "-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, 0x3c=noncrit_hi,
+0x41=crit_hi, 0x45=nonrec_hi.
+.IP "-v"
+Show Verbose output, including volatile thresholds, SDR thresholds,
+max/min, hysteresis, and BMC_TAM decoding.
+.IP "-w"
+Wrap the threshold data onto the same line as the sensor.
+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.
+.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
+management interface is used.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+.SH "EXAMPLES"
+ipmiutil sensor sample output is below.
+.br
+ipmiutil ver 2.21
+.br
+sensor: version 2.21
+.br
+-- BMC version 0.17, IPMI version 2.0
+.br
+_ID_ SDR_Type_xx ET Own Typ S_Num Sens_Description Hex & Interp Reading
+.br
+000b SDR Full 01 01 20 a 01 snum 30 Baseboard Temp = 2e OK 46.00 degrees C
+.br
+000e SDR Full 01 01 20 m 04 snum 50 Fan 1A = 6f OK 7659.00 RPM
+.br
+0042 SDR Comp 02 6f 20 a 21 snum e0 DIMM 1A = 00 c0 04 00 Present
+.br
+004e SDR FRU 11 1b dev: 20 03 80 00 0a 01 Pwr Supply 1 FRU
+.br
+0050 SDR IPMB 12 1b dev: 20 00 bf 07 01 Basbrd Mgmt Ctlr
+.br
+0051 SDR OEM c0 09 Intel: 02 02 00 01 70 71
+.br
+0065 SDR OEM c0 11 Intel: SDR Package 17
+.br
+[...]
+.PP
+Output Columns:
+.br
+_ID_: This is an SDR ID or index number, in hex. This may vary from chassis to chassis.
+.br
+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.
+.br
+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).
+.br
+Own: This is the hex slave address of the SDR Owner, usually 20 if BMC.
+.br
+a/m: This indicates whether this sensor is either automatically or manually rearmed, respectively.
+.br
+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.)
+.br
+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.
+.br
+Sens_Description: This is the text description of this SDR, which is stored within the SDR on the BMC.
+.br
+Hex & Interp Reading: This is the raw hex value returned by GetSensorReading, and its interpreted meaning.
+
+
+.SH "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) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/iserial.8 b/doc/iserial.8
new file mode 100644
index 0000000..d7bbfcb
--- /dev/null
+++ b/doc/iserial.8
@@ -0,0 +1,251 @@
+.TH ISERIAL 8 "Version 2.2: 17 Feb 2010"
+.SH NAME
+ipmiutil_serial \- configure a system for Serial/EMP management functions, such as Terminal Mode, and optionally share the port with the Serial Console.
+.SH SYNOPSIS
+.B "ipmiutil serial [-bcdeflq#rsvxB -m0 -m1 -n ser_chan -u user -p passwd -NUPREFJTVY]"
+
+.SH DESCRIPTION
+.I ipmiutil serial
+is a program that uses an IPMI driver to send IPMI commands which
+configure a system to enable EMP/serial Terminal Mode management
+functions within the firmware, so that an administrator can use
+command-line character commands via the serial port to
+power cycle the system and perform other functions,
+even if the system is not running an OS.
+This level of access needs to be protected by a username/password
+login, which can be specified with this utility.
+This utility can use either the /dev/ipmi0 driver from OpenIPMI,
+the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux,
+direct user-space IOs, or the IPMI LAN interface if \-N.
+
+.SH OPTIONS
+Command line options are described below.
+.IP "-b"
+Set up and enable the Serial Port EMP parameters for Basic Mode management functions. This does not set a username or password.
+.IP "-c"
+Configure and enable the Serial Port EMP parameters for Terminal Mode management functions, shared with BIOS Console Redirection.
+Setting a new username and password for serial access via \-u and \-p is
+recommended for security.
+.IP "-d"
+Disable the serial port access for IPMI commands. The serial port is then
+only available for BIOS console and OS functions.
+A side-effect of this option is that it sets the default user (1) back to
+admin access.
+.IP "-e"
+Enable EMP Terminal Mode without shared BIOS console. The serial port is
+then only available for EMP Terminal Mode functions.
+.IP "-f"
+Specifies the Flow Control for the Serial EMP. 0 means no flow control, and
+1 means RTS/CTS flow control (default). This must match the BIOS Serial
+Console setting.
+.IP "-l"
+Show LAN Parameters. This option reads and displays the LAN Parameter
+configuration also.
+.IP "-m0"
+Switch the Serial Port MUX to Baseboard/BIOS Console operation.
+Set no other configuration parameters.
+.IP "-m1"
+Switch the Serial Port MUX to Terminal Mode management.
+Set no other configuration parameters.
+.IP "-n ser_chan"
+Sets the IPMI channel number to use for the EMP serial channel
+(often 4). Note that the IPMI channels for LAN, Serial, etc.
+are numbered differently on each platform type.
+The default is to detect the first available IPMI serial channel.
+.IP "-#"
+Same as \-q below.
+.IP "-q"
+Specify an alternate user number for the EMP Username from the \-u option.
+This is normally user number 2, 3, or 4, where 3 is the default.
+The maximum number of users is 15.
+.IP "-r"
+Read Only. This option just reads the Serial Parameter configuration
+without writing any values.
+.IP "-s"
+Set up and enable the Serial Port EMP parameters for Shared operation
+between Basic Mode management functions and Baseboard (BIOS) Remote Console.
+This option switches the Serial Port MUX to Baseboard Console operation.
+.IP "-t"
+Configure and enable the Serial Port EMP parameters for Terminal Mode management functions, shared with BIOS Console Redirection. Same as \-c, but easier to remember.
+.IP "-u username"
+This specifies a username for the EMP Terminal Mode login. It can
+be any string, up to 15 characters. If \-u is not used, the default user 1
+(null) will be assumed. The username, if specified, will be set for user 3,
+unless option \-q is specified.
+.IP "-p password"
+This specifies a password for the EMP Terminal Mode login. It can
+be any string, up to 15 characters. A null password is used if
+none is specified. This password applies to user 3 if \-u is used, to
+user 1 otherwise.
+.IP "-v priv"
+Set a specific access priVilege for this user, where priv can be:
+1=Callback, 2=User, 3=Operator, 4=Admin, 5=OEM, 15=NoAccess
+The default if not specified or specified in error, is to use 4=Admin.
+.IP "-x"
+Causes extra debug messages to be displayed.
+.IP "-B"
+Set the Baud rate of the serial port to one of the following:
+9600, 19,2K, 38.4K, 57.6K, or 115.2K. The default is 19.2K bps.
+
+.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
+management interface is used.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+.SH EXAMPLES
+
+.IP "ipmiutil serial -t (or -c)"
+Enables Terminal Mode management functions, shared with BIOS Serial Console redirection. The user can switch between serial console operations and IPMI Terminal Mode commands by typing ESC ')' and ESC 'Q'.
+
+.IP "ipmiutil serial -s"
+Enables Basic Mode management functions shared with BIOS Serial Console redirection. The user can switch between serial console operations and IPMI Basic Mode management programs on the same serial port.
+
+.IP "ipmiutil serial -d"
+Disables the serial port management functions. This would be used if only the BIOS Serial Console were used and no BMC serial management functions.
+
+.P
+How to login to a Terminal Mode console:
+.br
+ESC ( (switch to Terminal mode)
+.br
+[SYS PWD \-N ] (login for default user, null psw)
+.br
+[SYS PWD \-U ROOT \-N PASSWORD] (syntax example for user 3)
+.br
+[SYS 000157 ACTIVATE] (activate advanced commands)
+.br
+[SYS HEALTH QUERY]
+.br
+[SYS HELP]
+.br
+[SYS PWD] (logoff)
+.br
+ESC Q (switch to BIOS console)
+.br
+See IPMI 1.5 Spec, Appendix E, and Intel TIGPR2U TPS for more information.
+
+.SH DEPENDENCIES
+The ipmiutil serial utility is intended to configure the EMP serial port on the
+server for shared access between BMC/IPMI functions and BIOS Console
+Redirection. Some platforms only support only Basic Mode for BMC/IPMI
+functions. Basic Mode requires a remote client application to utilize it
+(Windows ISC Console/DPC, or a special modified Linux telnet).
+There are some platforms which implement Terminal Mode via IPMI v1.5
+Appendix E to make remote management with character commands available
+on the serial port without a special remote client application.
+
+For example, Intel TSRLT2 systems would use "ipmiutil serial \-s" for Basic Mode
+shared functions, but Intel TIGPR2U systems could use "ipmiutil serial \-c" to
+configure Terminal Mode functions. On your system, run "ipmiutil serial \-r" to
+check whether Serial Param(29): "Terminal Mode Config" is supported. If
+not, configure Basic Mode via "ipmiutil serial \-s".
+
+
+.SH "PLATFORM SERIAL PORT CONFIGURATION EXAMPLES"
+
+First, enter BIOS Setup for Serial Console Redirection parameters:
+(these vary by platform)
+.br
+ Console Redirection = Serial Port B
+.br
+ ACPI Redirection = Disabled
+.br
+ Baud Rate = 115.2K
+.br
+ Flow Control = CTS/RTS
+.br
+ Terminal Type = VT100
+.br
+ Legacy Redirection = Enabled
+.br
+Note that the Baud Rate can vary, but it must match in all
+locations where it is used (BIOS, IPMI, and Linux).
+.br
+For some non-Intel platforms, the serial console would be
+COM1 instead of COM2, but should be enabled in BIOS.
+.br
+From Linux, run "ipmiutil serial \-c" for Terminal Mode shared configuration.
+.br
+Or, on older Intel TSRLT2 platforms:
+From Linux, run "ipmiutil serial \-s" for Basic Mode Shared configuration.
+
+.SH "LINUX CONFIGURATION FOR SERIAL CONSOLE"
+
+If using lilo, in /etc/lilo.conf, add
+.br
+ append="console=ttyS1,19200n8 console=tty0"
+.br
+(and comment out the "message=" line because it includes graphics)
+.br
+Note that the append line can be placed in the global section
+and removed from each kernel section if there are no other differences.
+
+.PP
+Or, if using grub, edit /boot/grub/grub.conf as follows:
+.br
+ #Omit the splashimage or gfxmenu
+.br
+ # splashimage=(hd0,0)/grub/splash.xpm.gz
+.br
+ #The serial and terminal lines are not usually needed
+.br
+ # serial \-\-unit=1 \-\-speed=19200 \-\-word=8 \-\-parity=no \-\-stop=1
+.br
+ # terminal \-\-timeout=10 serial console
+.br
+ #Add the console=ttyS* parameter to the kernel line
+.br
+ kernel (hd0,0) /vmlinuz root=/dev/sda2 console=ttyS1,19200n8
+
+.PP
+Add this line to /etc/initab, if ttyS1 is not already there:
+.br
+ co:2345:respawn:/sbin/agetty ttyS1 19200 vt100
+.PP
+Add this line to /etc/securetty, if ttyS1 is not already there:
+.br
+ ttyS1
+
+.SH "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) isensor(8) isol(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/ismcoem.8 b/doc/ismcoem.8
new file mode 100644
index 0000000..7ecdbf9
--- /dev/null
+++ b/doc/ismcoem.8
@@ -0,0 +1,104 @@
+.TH ISMCOEM 8 "Version 1.0: 05 Apr 2013"
+.SH NAME
+ipmiutil_smcoem \- OEM commands for SuperMicro servers
+.SH SYNOPSIS
+.B "ipmiutil smcoem [-mx -NPRUEFJTVY] commands"
+
+.SH DESCRIPTION
+.I ipmiutil smcoem
+is a function that uses SuperMicro OEM IPMI commands to
+perform platform-specific functions.
+
+.SH OPTIONS
+
+.IP "-m 002000"
+Show FRU 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.
+.IP "-x"
+Causes extra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+.SH COMMANDS
+.TP
+\fIintrusion\fP
+.RS
+
+This command resets any chassis intrusion condition that may have
+occurred.
+.RE
+
+.TP
+\fIbmcstatus\fP \fB[enable|disable]\fR
+.RS
+This command gets or sets the BMC service status.
+Alone, without arguments, it gets the BMC status as either enabled or
+disabled. With an argument of either enable or disable, it will
+also set the BMC status as specified.
+.RE
+
+.TP
+\fIfirmware\fP
+.RS
+
+This command gets the extra firmware version information, if available.
+
+.RE
+
+.TP
+\fIlanport\fP \fB[dedicated|lan1|failover]\fR
+.RS
+This command gets or sets the IPMI LAN interface port.
+If set to dedicated, only the dedicated IPMI NIC can be configured for
+IPMI LAN. If set to lan1, only the first onboard NIC (LAN1) can be configured
+for IPMI LAN. If set to failover, both the dedicated and onboard LAN1 port
+would be configured for IPMI LAN, with the same IP address.
+.RE
+
+.SH "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) isensor(8) iserial(8) isol(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2013 Andy Cress
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/isol.8 b/doc/isol.8
new file mode 100644
index 0000000..7048f64
--- /dev/null
+++ b/doc/isol.8
@@ -0,0 +1,133 @@
+.TH ISOL 8 "Version 1.1: 17 Feb 2010"
+.SH NAME
+ipmiutil_sol \- an IPMI Serial-Over-LAN Console application
+
+.SH SYNOPSIS
+.B "ipmiutil sol [-acdeilorsvwxz -NUPREFJTVY]
+
+.SH DESCRIPTION
+This utility starts an IPMI Serial-Over-LAN console session.
+A Serial-over-LAN console allows the client to see and modify
+functions before the OS boots, such as BIOS setup, grub, etc.
+This utility uses either the IPMI LAN 1.5 or 2.0 SOL interface.
+The 1.5 SOL interface is specific to Intel BMCs, while any IPMI 2.0
+BMC should support 2.0 SOL.
+The target system/node must first have these parameters configured
+before SOL sessions can be started:
+.br
+- [BIOS] serial console redirection parameters,
+.br
+- [IPMI] lan and SOL parameters (see ipmiutil lan or ilan), and
+.br
+- [OS] For Linux, edit grub.conf, inittab, and securetty parameters.
+.br
+Be sure that the baud rate matches in all of the above places.
+See the ipmiutil UserGuide section 4.8 for details.
+
+.SH OPTIONS
+.IP "-a"
+Activate the SOL Console session, and enter console mode.
+Use the escape sequence ('~.') to exit the session.
+.IP "-c '^'"
+Set the escape Character to '^', or another ANSI character. This changes the
+default two-character escape sequence ('~.') to the specified single escape
+character, which will end the SOL session.
+.IP "-d"
+Deactivate the SOL Console session. Use this if the previous session
+was aborted abnormally and starting a new session gives an error.
+.IP "-e"
+Turn Encryption off in negotiation when activating a session. By default,
+encryption is on for Serial-Over-LAN console sessions.
+.IP "-l"
+Use Legacy BIOS mapping for Enter key (CR+LF) instead of just LF.
+This is needed for BIOS Setup menus and DOS, but causes an extra LF to
+occur in Linux. So, only use this option if doing BIOS or DOS changes.
+This should be seldom be needed since now the default is to automatically
+detect these menus with colored backgrounds and change the mapping.
+.IP "-i input_file"
+Use this file as an input script. The input_file will be read after the
+session is established. This can be used to automate certain tasks. The
+input_file is read one line at a time. If the input_file does not
+have an escape character (~) to end the session, then the input is
+returned to the keyboard when the file ends.
+.IP "-o output_file"
+Use a Trace log. The output_file is created and all SOL screen output is
+written to the file, including VT100 escape sequences. If the output_file
+exists, the output is appended to it. This can be used to log what the
+user has done in an SOL session.
+.IP "-r"
+Use Raw terminal I/O instead of custom VT100 to ANSI translation (in Windows).
+Use this option if the server is configured in BIOS and BMC for ANSI and
+the utility is being invoked from Windows.
+.IP "-s NNN"
+For a slow link with high latency, this adds a delay of NNN microseconds
+between sending and receiving SOL packets. The default is 100 microseconds.
+.IP "-w"
+(Windows only)
+Do not use the Windows Console buffer, but use Windows stdio instead.
+This does not handle cursor positioning correctly in some cases, however.
+.IP "-v log_file"
+Causes debug messages to be displayed to the specified debug log_file.
+The default log_file is isoldbg.log in the current directory.
+.IP "-x"
+Causes debug messages to be displayed to the debug log file.
+.IP "-z"
+Causes more verbose debug messages to be displayed to the debug log file.
+.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
+management interface is used.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any supported driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+.SH "EXAMPLES"
+ipmiutil sol \-a \-N nodename \-U username \-P password
+.br
+Starts an SOL console session to the nodename. Detect the lan protocol.
+.PP
+ipmiutil sol \-a \-N nodename \-U username \-P password \-Flan2
+.br
+Starts an SOL console session to the nodename. Force lan protocol to 2.0.
+.PP
+
+.SH "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) isensor(8) iserial(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/isunoem.8 b/doc/isunoem.8
new file mode 100644
index 0000000..366ed7d
--- /dev/null
+++ b/doc/isunoem.8
@@ -0,0 +1,135 @@
+.TH ISUNOEM 8 "Version 1.0: 09 Sep 2010"
+.SH NAME
+ipmiutil_sunoem \- OEM commands for Sun servers
+.SH SYNOPSIS
+.B "ipmiutil sunoem [-mx -NPRUEFJTVY] commands"
+
+.SH DESCRIPTION
+.I ipmiutil sunoem commands
+is a program that uses Sun OEM IPMI commands to
+perform platform-specific functions.
+
+.SH OPTIONS
+
+.IP "-m 002000"
+Show FRU 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.
+.IP "-x"
+Causes extra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+.SH COMMANDS
+.TP
+\fIled\fP
+.RS
+
+These commands provide a way to get and set the status of LEDs
+on a Sun Microsystems server. Use 'sdr list generic' to get a
+list of devices that are controllable LEDs. The \fIledtype\fP
+parameter is optional and not necessary to provide on the command
+line unless it is required by hardware.
+.TP
+\fIget\fP \fBsensorid\fR [\fBledtype\fR]
+
+Get status of a particular LED described by a Generic Device Locator
+record in the SDR. A sensorid of \fIall\fP will get the status
+of all available LEDS.
+.TP
+\fIset\fP \fBsensorid\fR \fBledmode\fR [\fBledtype\fR]
+
+Set status of a particular LED described by a Generic Device Locator
+record in the SDR. A sensorid of \fIall\fP will set the status
+of all available LEDS to the specified \fIledmode\fP and \fIledtype\fP.
+.TP
+LED Mode is required for set operations:
+.br
+\fIOFF\fP Off
+.br
+\fION\fP Steady On
+.br
+\fISTANDBY\fP 100ms on 2900ms off blink rate
+.br
+\fISLOW\fP 1HZ blink rate
+.br
+\fIFAST\fP 4HZ blink rate
+.TP
+LED Type is optional:
+.br
+\fIOK2RM\fP Ok to Remove
+.br
+\fISERVICE\fP Service Required
+.br
+\fIACT\fP Activity
+.br
+\fILOCATE\fP Locate
+
+.RE
+.TP
+\fIfan\fP \fIspeed\fP 0-100
+
+Set system fan speed (PWM duty cycle).
+.RS
+.TP
+\fIsshkey\fP
+.RS
+.TP
+\fIset\fP \fBuserid\fR \fBkeyfile\fR
+
+This command will allow you to specify an SSH key to use for a particular
+user on the Service Processor. This key will be used for CLI logins to
+the SP and not for IPMI sessions. View available users and their userids
+with the 'user list' command.
+.TP
+\fIdel\fP \fBuserid\fR
+
+This command will delete the SSH key for a specified userid.
+.RE
+
+.SH "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) isensor(8) iserial(8) isol(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/itsol.8 b/doc/itsol.8
new file mode 100644
index 0000000..a7a3d0a
--- /dev/null
+++ b/doc/itsol.8
@@ -0,0 +1,66 @@
+.TH ITSOL 8 "Version 1.0: 03 Feb 2012"
+.SH NAME
+ipmiutil_tsol \- Tyan IPMIv1.5 Serial-Over-LAN Console application
+
+.SH SYNOPSIS
+.B "ipmiutil tsol [recvip] [port=NUM] [ro|rw] [rows=NUM] [cols=NUM] [altterm]
+
+.SH DESCRIPTION
+This command allows Serial-over-LAN sessions to be established
+with Tyan IPMIv1.5 SMDC such as the M3289 or M3290. The default
+command run with no arguments will establish default SOL session
+back to local IP address. Optional arguments may be supplied in
+any order.
+
+.SH OPTIONS
+
+.IP "<recv ipaddr>"
+Send receiver IP address to SMDC which it will use to
+send serial traffic to. By default this detects the
+local IP address and establishes two-way session. Format
+of ipaddr is XX.XX.XX.XX
+
+.IP "port"
+Configure UDP port to receive serial traffic on.
+By default this is 6230.
+
+.IP "ro|rw"
+Confiure SOL session as read-only or read-write.
+Sessions are read-write by default.
+
+.IP "rows"
+Set terminal rows [default: rows=24]
+
+.IP "cols"
+Set terminal columns [default: cols=80]
+
+.IP "altterm"
+Alternate terminal setup [default is off]
+
+
+.SH "EXAMPLES"
+ipmiutil tsol 192.168.1.1
+.br
+Starts a Tyan SOL console session to the IP address.
+.PP
+
+.SH "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) isensor(8) iserial(8) iwdt(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2012 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/iwdt.8 b/doc/iwdt.8
new file mode 100644
index 0000000..2fa4642
--- /dev/null
+++ b/doc/iwdt.8
@@ -0,0 +1,113 @@
+.TH IWDT 8 "Version 1.3: 26 Apr 2010"
+.SH NAME
+ipmiutil_wdt\- display and set WatchDog Timer parameters
+.SH SYNOPSIS
+.B "ipmiutil wdt [-acdelrtx -N node -P/-R pswd -U user -EFJTVY]"
+
+.SH DESCRIPTION
+.I ipmiutil wdt
+is a program that uses IPMI commands to
+display and set WatchDog Timer parameters.
+
+This utility can use either any available IPMI driver, or direct
+user-space IOs, or the IPMI LAN interface if \-N.
+
+This utility is an example of how to access the IPMI watchdog parameters
+directly, which allows changing the timer configuration.
+
+There is an init script provided with ipmiutil to automate the task of
+managing the watchdog timer in user-space.
+.br
+# chkconfig \-\-add ipmiutil_wdt (skip this if no chkconfig)
+.br
+# /etc/init.d/ipmiutil_wdt start
+.br
+This sets the watchdog timer to reset the system if the wdt is not
+restarted within 90 seconds. It creates an /etc/cron.d/wdt file to
+restart wdt every 60 seconds.
+See also ipmiutil UserGuide section 4.4 for more information.
+
+.SH OPTIONS
+Command line options are described below.
+.IP "-a N"
+Set watchdog event Action to N. Values:
+0 = No action, 1 = Hard Reset(default), 2 = Power down, 3 = Power cycle.
+.IP "-c"
+Show watchdog output in a canonical format, with a default delimiter of '|'.
+.IP "-d"
+Disables the watchdog timer.
+.IP "-e"
+Enables the watchdog timer. The timer is not actually started, however,
+until the timer is reset. The pre-timeout action is not enabled.
+.IP "-l"
+Set the watchdog dontLog bit to not log watchdog events in the SEL.
+.IP "-p N"
+Set watchdog Pretimeout event action to N. Values:
+0 = No action(default), 1 = SMI, 2 = NMI, 3 = Messaging Interrupt.
+If this is set to an action other than 0, the pretimeout will also
+be set to 90% of the timeout. However, if the timeout is less than
+20 seconds, the pretimeout will not be enabled.
+.IP "-q S"
+Set watchdog pretimeout value to S seconds, rather than 90% of the timeout
+as in \-p. The pretimeout value must be >= 5 and at least 5 seconds less
+than the timeout value.
+.IP "-r"
+Resets the watchdog timer. This should be done every N seconds if the
+timer is running to prevent the watchdog action (usually a system reset)
+from occurring.
+.IP "-tN"
+Set the watchdog Timeout to N seconds. The default is 120 seconds (2 minutes).
+.IP "-x"
+Causes extra debug messages to be displayed.
+.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
+management interface is used.
+.IP "-P/-R rmt_pswd"
+Remote password for the nodename given. The default is a null password.
+.IP "-U rmt_user"
+Remote username for the nodename given. The default is a null username.
+.IP "-E"
+Use the remote password from Environment variable IPMI_PASSWORD.
+.IP "-F drv_t"
+Force the driver type to one of the followng:
+imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb.
+Note that lan2i means lan2 with intelplus.
+The default is to detect any available driver type and use it.
+.IP "-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.
+.IP "-T"
+Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.
+.IP "-V"
+Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.
+.IP "-Y"
+Yes, do prompt the user for the IPMI LAN remote password.
+Alternatives for the password are \-E or \-P.
+
+
+.SH "SEE ALSO"
+ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifirewall(8)
+ifru(8) ifruset(8) ifwum(8) igetevent(8) ihealth(8) ihpm(8)
+ilan(8) ipicmg(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) isunoem(8)
+iwdt(8) ipmiutil(8) ipmi_port(8)
+
+.SH WARNINGS
+See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.
+
+.SH COPYRIGHT
+Copyright (C) 2009 Kontron America, Inc.
+.PP
+See the file COPYING in the distribution for more details
+regarding redistribution.
+.PP
+This utility is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY.
+
+.SH AUTHOR
+.PP
+Andy Cress <arcress at users.sourceforge.net>
+.br
+
diff --git a/doc/rh.patch b/doc/rh.patch
new file mode 100644
index 0000000..e0e691b
--- /dev/null
+++ b/doc/rh.patch
@@ -0,0 +1,111 @@
+--- ipmiutil.spec.orig 2012-06-12 12:05:50.000000000 -0400
++++ ipmiutil.spec 2012-06-12 12:07:47.000000000 -0400
+@@ -7,7 +7,7 @@
+ Release: 1%{?dist}
+ Summary: Easy-to-use IPMI server management utilities
+ License: BSD
+-Group: System/Management
++Group: System Environment/Base
+ Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
+ URL: http://ipmiutil.sourceforge.net
+ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+@@ -15,18 +15,9 @@
+ %if 0%{?fedora} >= 15
+ Requires: systemd-units
+ %endif
+-%if 0%{?suse_version} >= 1210
+-%define req_systemd 1
+-%endif
+-%if 0%{?req_systemd}
+-BuildRequires: openssl-devel gcc gcc-c++ libtool systemd
+-%define systemd_fls %{_unitdir}
+-# Requires: %{?systemd_requires}
+-%else
+ BuildRequires: openssl-devel gcc gcc-c++ libtool
+-%define systemd_fls %{_datadir}/%{name}
+-%endif
+-%define init_dir %{_initrddir}
++%global systemd_fls %{_datadir}/%{name}
++%global init_dir %{_initrddir}
+
+ %description
+ The ipmiutil package provides easy-to-use utilities to view the SEL,
+@@ -53,12 +44,8 @@
+ %setup -q
+
+ %build
+-%if 0%{?req_systemd}
+-%configure --enable-systemd
+-%else
+ %configure
+-%endif
+-make
++make %{?_smp_mflags}
+
+ %install
+ rm -rf %{buildroot}
+@@ -146,11 +133,6 @@
+ %{_libdir}/libipmiutil.a
+
+
+-%pre
+-%if 0%{?req_systemd}
+-%service_add_pre ipmi_port.service ipmiutil_evt.service ipmiutil_asy.service ipmiutil_wdt.service
+-%endif
+-
+ %post
+ # POST_INSTALL, $1 = 1 if rpm -i, $1 = 2 if rpm -U
+
+@@ -160,9 +142,6 @@
+ vardir=%{_var}/lib/%{name}
+ scr_dir=%{_datadir}/%{name}
+
+-%if 0%{?req_systemd}
+-%service_add_post ipmi_port.service ipmiutil_evt.service ipmiutil_asy.service ipmiutil_wdt.service
+-%else
+ if [ -x /bin/systemctl ]; then
+ systemd_dir=%{_unitdir}
+ echo "IINITDIR=%{init_dir}" >>%{_datadir}/%{name}/ipmiutil.env
+@@ -177,7 +156,6 @@
+ cp -f ${scr_dir}/ipmiutil_evt %{init_dir}
+ cp -f ${scr_dir}/ipmi_port %{init_dir}
+ fi
+-%endif
+
+ # Run some ipmiutil command to see if any IPMI interface works.
+ %{_bindir}/ipmiutil sel -v >/dev/null 2>&1
+@@ -213,9 +191,6 @@
+ # before uninstall, $1 = 1 if rpm -U, $1 = 0 if rpm -e
+ if [ "$1" = "0" ]
+ then
+-%if 0%{?req_systemd}
+-%service_del_preun ipmi_port.service ipmiutil_evt.service ipmiutil_asy.service ipmiutil_wdt.service
+-%else
+ if [ -x /bin/systemctl ]; then
+ systemd_dir=%{_unitdir}
+ if [ -f ${systemd_dir}/ipmiutil_evt.service ]; then
+@@ -250,16 +225,12 @@
+ rm -f %{init_dir}/ipmiutil_evt 2>/dev/null
+ rm -f %{init_dir}/ipmi_port 2>/dev/null
+ fi
+-%endif
+ if [ -f %{_sysconfdir}/cron.daily/checksel ]; then
+ rm -f %{_sysconfdir}/cron.daily/checksel
+ fi
+ fi
+
+ %postun
+-%if 0%{?req_systemd}
+-%service_del_postun ipmi_port.service ipmiutil_evt.service ipmiutil_asy.service ipmiutil_wdt.service
+-%else
+ if [ -x /bin/systemctl ]; then
+ systemctl daemon-reload || :
+ if [ $1 -ge 1 ] ; then
+@@ -267,7 +238,6 @@
+ systemctl try-restart ipmi_port.service || :
+ fi
+ fi
+-%endif
+
+ %changelog
+ * Fri May 04 2012 Andrew Cress <arcress at users.sourceforge.net> 2.8.4-1
diff --git a/doc/rh_spec.patch b/doc/rh_spec.patch
new file mode 100644
index 0000000..e0e691b
--- /dev/null
+++ b/doc/rh_spec.patch
@@ -0,0 +1,111 @@
+--- ipmiutil.spec.orig 2012-06-12 12:05:50.000000000 -0400
++++ ipmiutil.spec 2012-06-12 12:07:47.000000000 -0400
+@@ -7,7 +7,7 @@
+ Release: 1%{?dist}
+ Summary: Easy-to-use IPMI server management utilities
+ License: BSD
+-Group: System/Management
++Group: System Environment/Base
+ Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
+ URL: http://ipmiutil.sourceforge.net
+ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+@@ -15,18 +15,9 @@
+ %if 0%{?fedora} >= 15
+ Requires: systemd-units
+ %endif
+-%if 0%{?suse_version} >= 1210
+-%define req_systemd 1
+-%endif
+-%if 0%{?req_systemd}
+-BuildRequires: openssl-devel gcc gcc-c++ libtool systemd
+-%define systemd_fls %{_unitdir}
+-# Requires: %{?systemd_requires}
+-%else
+ BuildRequires: openssl-devel gcc gcc-c++ libtool
+-%define systemd_fls %{_datadir}/%{name}
+-%endif
+-%define init_dir %{_initrddir}
++%global systemd_fls %{_datadir}/%{name}
++%global init_dir %{_initrddir}
+
+ %description
+ The ipmiutil package provides easy-to-use utilities to view the SEL,
+@@ -53,12 +44,8 @@
+ %setup -q
+
+ %build
+-%if 0%{?req_systemd}
+-%configure --enable-systemd
+-%else
+ %configure
+-%endif
+-make
++make %{?_smp_mflags}
+
+ %install
+ rm -rf %{buildroot}
+@@ -146,11 +133,6 @@
+ %{_libdir}/libipmiutil.a
+
+
+-%pre
+-%if 0%{?req_systemd}
+-%service_add_pre ipmi_port.service ipmiutil_evt.service ipmiutil_asy.service ipmiutil_wdt.service
+-%endif
+-
+ %post
+ # POST_INSTALL, $1 = 1 if rpm -i, $1 = 2 if rpm -U
+
+@@ -160,9 +142,6 @@
+ vardir=%{_var}/lib/%{name}
+ scr_dir=%{_datadir}/%{name}
+
+-%if 0%{?req_systemd}
+-%service_add_post ipmi_port.service ipmiutil_evt.service ipmiutil_asy.service ipmiutil_wdt.service
+-%else
+ if [ -x /bin/systemctl ]; then
+ systemd_dir=%{_unitdir}
+ echo "IINITDIR=%{init_dir}" >>%{_datadir}/%{name}/ipmiutil.env
+@@ -177,7 +156,6 @@
+ cp -f ${scr_dir}/ipmiutil_evt %{init_dir}
+ cp -f ${scr_dir}/ipmi_port %{init_dir}
+ fi
+-%endif
+
+ # Run some ipmiutil command to see if any IPMI interface works.
+ %{_bindir}/ipmiutil sel -v >/dev/null 2>&1
+@@ -213,9 +191,6 @@
+ # before uninstall, $1 = 1 if rpm -U, $1 = 0 if rpm -e
+ if [ "$1" = "0" ]
+ then
+-%if 0%{?req_systemd}
+-%service_del_preun ipmi_port.service ipmiutil_evt.service ipmiutil_asy.service ipmiutil_wdt.service
+-%else
+ if [ -x /bin/systemctl ]; then
+ systemd_dir=%{_unitdir}
+ if [ -f ${systemd_dir}/ipmiutil_evt.service ]; then
+@@ -250,16 +225,12 @@
+ rm -f %{init_dir}/ipmiutil_evt 2>/dev/null
+ rm -f %{init_dir}/ipmi_port 2>/dev/null
+ fi
+-%endif
+ if [ -f %{_sysconfdir}/cron.daily/checksel ]; then
+ rm -f %{_sysconfdir}/cron.daily/checksel
+ fi
+ fi
+
+ %postun
+-%if 0%{?req_systemd}
+-%service_del_postun ipmi_port.service ipmiutil_evt.service ipmiutil_asy.service ipmiutil_wdt.service
+-%else
+ if [ -x /bin/systemctl ]; then
+ systemctl daemon-reload || :
+ if [ $1 -ge 1 ] ; then
+@@ -267,7 +238,6 @@
+ systemctl try-restart ipmi_port.service || :
+ fi
+ fi
+-%endif
+
+ %changelog
+ * Fri May 04 2012 Andrew Cress <arcress at users.sourceforge.net> 2.8.4-1
diff --git a/doc/winsockerr.txt b/doc/winsockerr.txt
new file mode 100644
index 0000000..5c81edb
--- /dev/null
+++ b/doc/winsockerr.txt
@@ -0,0 +1,301 @@
+(from http://msdn2.microsoft.com/en-us/library/ms740668.aspx)
+
+Windows Sockets Error Codes
+The following list describes the possible error codes returned by the WSAGetLastError function. Errors are listed in alphabetical order by error macro. Some error codes defined in Winsock2.h are not returned from any functionthese are not included in this list.
+
+Return code/value Description
+WSA_INVALID_HANDLE 6
+Specified event object handle is invalid.
+An application attempts to use an event object, but the specified handle is not valid. Note that this error is returned by the operating system, so the error number may change in future releases of Windows.
+WSA_NOT_ENOUGH_MEMORY 8
+Insufficient memory available.
+An application used a Windows Sockets function that directly maps to a Windows function. The Windows function is indicating a lack of required memory resources. Note that this error is returned by the operating system, so the error number may change in future releases of Windows.
+WSA_INVALID_PARAMETER 87
+One or more parameters are invalid.
+An application used a Windows Sockets function which directly maps to a Windows function. The Windows function is indicating a problem with one or more parameters. Note that this error is returned by the operating system, so the error number may change in future releases of Windows.
+WSA_OPERATION_ABORTED 995
+Overlapped operation aborted.
+An overlapped operation was canceled due to the closure of the socket, or the execution of the SIO_FLUSH command in WSAIoctl. Note that this error is returned by the operating system, so the error number may change in future releases of Windows.
+WSA_IO_INCOMPLETE 996
+Overlapped I/O event object not in signaled state.
+The application has tried to determine the status of an overlapped operation which is not yet completed. Applications that use WSAGetOverlappedResult (with the fWait flag set to FALSE) in a polling mode to determine when an overlapped operation has completed, get this error code until the operation is complete. Note that this error is returned by the operating system, so the error number may change in future releases of Windows.
+WSA_IO_PENDING 997
+Overlapped operations will complete later.
+The application has initiated an overlapped operation that cannot be completed immediately. A completion indication will be given later when the operation has been completed. Note that this error is returned by the operating system, so the error number may change in future releases of Windows.
+WSAEINTR 10004
+Interrupted function call.
+A blocking operation was interrupted by a call to WSACancelBlockingCall.
+WSAEBADF 10009
+File handle is not valid.
+The file handle supplied is not valid.
+WSAEACCES 10013
+Permission denied.
+An attempt was made to access a socket in a way forbidden by its access permissions. An example is using a broadcast address for sendto without broadcast permission being set using setsockopt(SO_BROADCAST).
+Another possible reason for the WSAEACCES error is that when the bind function is called (on Windows NT 4 SP4 or later), another application, service, or kernel mode driver is bound to the same address with exclusive access. Such exclusive access is a new feature of Windows NT 4 SP4 and later, and is implemented by using the SO_EXCLUSIVEADDRUSE option.
+
+WSAEFAULT 10014
+Bad address.
+The system detected an invalid pointer address in attempting to use a pointer argument of a call. This error occurs if an application passes an invalid pointer value, or if the length of the buffer is too small. For instance, if the length of an argument, which is a sockaddr structure, is smaller than the sizeof(sockaddr).
+WSAEINVAL 10022
+Invalid argument.
+Some invalid argument was supplied (for example, specifying an invalid level to the setsockopt function). In some instances, it also refers to the current state of the socketfor instance, calling accept on a socket that is not listening.
+WSAEMFILE 10024
+Too many open files.
+Too many open sockets. Each implementation may have a maximum number of socket handles available, either globally, per process, or per thread.
+WSAEWOULDBLOCK 10035
+Resource temporarily unavailable.
+This error is returned from operations on nonblocking sockets that cannot be completed immediately, for example recv when no data is queued to be read from the socket. It is a nonfatal error, and the operation should be retried later. It is normal for WSAEWOULDBLOCK to be reported as the result from calling connect on a nonblocking SOCK_STREAM socket, since some time must elapse for the connection to be established.
+WSAEINPROGRESS 10036
+Operation now in progress.
+A blocking operation is currently executing. Windows Sockets only allows a single blocking operationper- task or threadto be outstanding, and if any other function call is made (whether or not it references that or any other socket) the function fails with the WSAEINPROGRESS error.
+WSAEALREADY 10037
+Operation already in progress.
+An operation was attempted on a nonblocking socket with an operation already in progressthat is, calling connect a second time on a nonblocking socket that is already connecting, or canceling an asynchronous request (WSAAsyncGetXbyY) that has already been canceled or completed.
+WSAENOTSOCK 10038
+Socket operation on nonsocket.
+An operation was attempted on something that is not a socket. Either the socket handle parameter did not reference a valid socket, or for select, a member of an fd_set was not valid.
+WSAEDESTADDRREQ 10039
+Destination address required.
+A required address was omitted from an operation on a socket. For example, this error is returned if sendto is called with the remote address of ADDR_ANY.
+WSAEMSGSIZE 10040
+Message too long.
+A message sent on a datagram socket was larger than the internal message buffer or some other network limit, or the buffer used to receive a datagram was smaller than the datagram itself.
+WSAEPROTOTYPE 10041
+Protocol wrong type for socket.
+A protocol was specified in the socket function call that does not support the semantics of the socket type requested. For example, the ARPA Internet UDP protocol cannot be specified with a socket type of SOCK_STREAM.
+WSAENOPROTOOPT 10042
+Bad protocol option.
+An unknown, invalid or unsupported option or level was specified in a getsockopt or setsockopt call.
+WSAEPROTONOSUPPORT 10043
+Protocol not supported.
+The requested protocol has not been configured into the system, or no implementation for it exists. For example, a socket call requests a SOCK_DGRAM socket, but specifies a stream protocol.
+WSAESOCKTNOSUPPORT 10044
+Socket type not supported.
+The support for the specified socket type does not exist in this address family. For example, the optional type SOCK_RAW might be selected in a socket call, and the implementation does not support SOCK_RAW sockets at all.
+WSAEOPNOTSUPP 10045
+Operation not supported.
+The attempted operation is not supported for the type of object referenced. Usually this occurs when a socket descriptor to a socket that cannot support this operation is trying to accept a connection on a datagram socket.
+WSAEPFNOSUPPORT 10046
+Protocol family not supported.
+The protocol family has not been configured into the system or no implementation for it exists. This message has a slightly different meaning from WSAEAFNOSUPPORT. However, it is interchangeable in most cases, and all Windows Sockets functions that return one of these messages also specify WSAEAFNOSUPPORT.
+WSAEAFNOSUPPORT 10047
+Address family not supported by protocol family.
+An address incompatible with the requested protocol was used. All sockets are created with an associated address family (that is, AF_INET for Internet Protocols) and a generic protocol type (that is, SOCK_STREAM). This error is returned if an incorrect protocol is explicitly requested in the socket call, or if an address of the wrong family is used for a socket, for example, in sendto.
+WSAEADDRINUSE 10048
+Address already in use.
+Typically, only one usage of each socket address (protocol/IP address/port) is permitted. This error occurs if an application attempts to bind a socket to an IP address/port that has already been used for an existing socket, or a socket that was not closed properly, or one that is still in the process of closing. For server applications that need to bind multiple sockets to the same port number, consider using setsockopt (SO_REUSEADDR). Client applications usually need not call bind at all connect chooses
+an unused port automatically. When bind is called with a wildcard address (involving ADDR_ANY), a WSAEADDRINUSE error could be delayed until the specific address is committed. This could happen with a call to another function later, including connect, listen, WSAConnect, or WSAJoinLeaf.
+WSAEADDRNOTAVAIL 10049
+Cannot assign requested address.
+The requested address is not valid in its context. This normally results from an attempt to bind to an address that is not valid for the local computer. This can also result from connect, sendto, WSAConnect, WSAJoinLeaf, or WSASendTo when the remote address or port is not valid for a remote computer (for example, address or port 0).
+WSAENETDOWN 10050
+Network is down.
+A socket operation encountered a dead network. This could indicate a serious failure of the network system (that is, the protocol stack that the Windows Sockets DLL runs over), the network interface, or the local network itself.
+WSAENETUNREACH 10051
+Network is unreachable.
+A socket operation was attempted to an unreachable network. This usually means the local software knows no route to reach the remote host.
+WSAENETRESET 10052
+Network dropped connection on reset.
+The connection has been broken due to keep-alive activity detecting a failure while the operation was in progress. It can also be returned by setsockopt if an attempt is made to set SO_KEEPALIVE on a connection that has already failed.
+WSAECONNABORTED 10053
+Software caused connection abort.
+An established connection was aborted by the software in your host computer, possibly due to a data transmission time-out or protocol error.
+WSAECONNRESET 10054
+Connection reset by peer.
+An existing connection was forcibly closed by the remote host. This normally results if the peer application on the remote host is suddenly stopped, the host is rebooted, the host or remote network interface is disabled, or the remote host uses a hard close (see setsockopt for more information on the SO_LINGER option on the remote socket). This error may also result if a connection was broken due to keep-alive activity detecting a failure while one or more operations are in progress. Operations that were i
+n progress fail with WSAENETRESET. Subsequent operations fail with WSAECONNRESET.
+WSAENOBUFS 10055
+No buffer space available.
+An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.
+WSAEISCONN 10056
+Socket is already connected.
+A connect request was made on an already-connected socket. Some implementations also return this error if sendto is called on a connected SOCK_DGRAM socket (for SOCK_STREAM sockets, the to parameter in sendto is ignored) although other implementations treat this as a legal occurrence.
+WSAENOTCONN 10057
+Socket is not connected.
+A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using sendto) no address was supplied. Any other type of operation might also return this errorfor example, setsockopt setting SO_KEEPALIVE if the connection has been reset.
+WSAESHUTDOWN 10058
+Cannot send after socket shutdown.
+A request to send or receive data was disallowed because the socket had already been shut down in that direction with a previous shutdown call. By calling shutdown a partial close of a socket is requested, which is a signal that sending or receiving, or both have been discontinued.
+WSAETOOMANYREFS 10059
+Too many references.
+Too many references to some kernel object.
+WSAETIMEDOUT 10060
+Connection timed out.
+A connection attempt failed because the connected party did not properly respond after a period of time, or the established connection failed because the connected host has failed to respond.
+WSAECONNREFUSED 10061
+Connection refused.
+No connection could be made because the target computer actively refused it. This usually results from trying to connect to a service that is inactive on the foreign hostthat is, one with no server application running.
+WSAELOOP 10062
+Cannot translate name.
+Cannot translate a name.
+WSAENAMETOOLONG 10063
+Name too long.
+A name component or a name was too long.
+WSAEHOSTDOWN 10064
+Host is down.
+A socket operation failed because the destination host is down. A socket operation encountered a dead host. Networking activity on the local host has not been initiated. These conditions are more likely to be indicated by the error WSAETIMEDOUT.
+WSAEHOSTUNREACH 10065
+No route to host.
+A socket operation was attempted to an unreachable host. See WSAENETUNREACH.
+WSAENOTEMPTY 10066
+Directory not empty.
+Cannot remove a directory that is not empty.
+WSAEPROCLIM 10067
+Too many processes.
+A Windows Sockets implementation may have a limit on the number of applications that can use it simultaneously.WSAStartup may fail with this error if the limit has been reached.
+WSAEUSERS 10068
+User quota exceeded.
+Ran out of user quota.
+WSAEDQUOT 10069
+Disk quota exceeded.
+Ran out of disk quota.
+WSAESTALE 10070
+Stale file handle reference.
+The file handle reference is no longer available.
+WSAEREMOTE 10071
+Item is remote.
+The item is not available locally.
+WSASYSNOTREADY 10091
+Network subsystem is unavailable.
+This error is returned by WSAStartup if the Windows Sockets implementation cannot function at this time because the underlying system it uses to provide network services is currently unavailable. Users should check:
+That the appropriate Windows Sockets DLL file is in the current path.
+That they are not trying to use more than one Windows Sockets implementation simultaneously. If there is more than one Winsock DLL on your system, be sure the first one in the path is appropriate for the network subsystem currently loaded.
+The Windows Sockets implementation documentation to be sure all necessary components are currently installed and configured correctly.
+WSAVERNOTSUPPORTED 10092
+Winsock.dll version out of range.
+The current Windows Sockets implementation does not support the Windows Sockets specification version requested by the application. Check that no old Windows Sockets DLL files are being accessed.
+WSANOTINITIALISED 10093
+Successful WSAStartup not yet performed.
+Either the application has not called WSAStartup or WSAStartup failed. The application may be accessing a socket that the current active task does not own (that is, trying to share a socket between tasks), or WSACleanup has been called too many times.
+WSAEDISCON 10101
+Graceful shutdown in progress.
+Returned by WSARecv and WSARecvFrom to indicate that the remote party has initiated a graceful shutdown sequence.
+WSAENOMORE 10102
+No more results.
+No more results can be returned by the WSALookupServiceNext function.
+WSAECANCELLED 10103
+Call has been canceled.
+A call to the WSALookupServiceEnd function was made while this call was still processing. The call has been canceled.
+WSAEINVALIDPROCTABLE 10104
+Procedure call table is invalid.
+The service provider procedure call table is invalid. A service provider returned a bogus procedure table to Ws2_32.dll. This is usually caused by one or more of the function pointers being NULL.
+WSAEINVALIDPROVIDER 10105
+Service provider is invalid.
+The requested service provider is invalid. This error is returned by the WSCGetProviderInfo and WSCGetProviderInfo32 functions if the protocol entry specified could not be found. This error is also returned if the service provider returned a version number other than 2.0.
+WSAEPROVIDERFAILEDINIT 10106
+Service provider failed to initialize.
+The requested service provider could not be loaded or initialized. This error is returned if either a service provider's DLL could not be loaded (LoadLibrary failed) or the provider's WSPStartup or NSPStartup function failed.
+WSASYSCALLFAILURE 10107
+System call failure.
+A system call that should never fail has failed. This is a generic error code, returned under various conditions.
+Returned when a system call that should never fail does fail. For example, if a call to WaitForMultipleEvents fails or one of the registry functions fails trying to manipulate the protocol/namespace catalogs.
+Returned when a provider does not return SUCCESS and does not provide an extended error code. Can indicate a service provider implementation error.
+WSASERVICE_NOT_FOUND 10108
+Service not found.
+No such service is known. The service cannot be found in the specified name space.
+WSATYPE_NOT_FOUND 10109
+Class type not found.
+The specified class was not found.
+WSA_E_NO_MORE 10110
+No more results.
+No more results can be returned by the WSALookupServiceNext function.
+WSA_E_CANCELLED 10111
+Call was canceled.
+A call to the WSALookupServiceEnd function was made while this call was still processing. The call has been canceled.
+WSAEREFUSED 10112
+Database query was refused.
+A database query failed because it was actively refused.
+WSAHOST_NOT_FOUND 11001
+Host not found.
+No such host is known. The name is not an official host name or alias, or it cannot be found in the database(s) being queried. This error may also be returned for protocol and service queries, and means that the specified name could not be found in the relevant database.
+WSATRY_AGAIN 11002
+Nonauthoritative host not found.
+This is usually a temporary error during host name resolution and means that the local server did not receive a response from an authoritative server. A retry at some time later may be successful.
+WSANO_RECOVERY 11003
+This is a nonrecoverable error.
+This indicates that some sort of nonrecoverable error occurred during a database lookup. This may be because the database files (for example, BSD-compatible HOSTS, SERVICES, or PROTOCOLS files) could not be found, or a DNS request was returned by the server with a severe error.
+WSANO_DATA 11004
+Valid name, no data record of requested type.
+The requested name is valid and was found in the database, but it does not have the correct associated data being resolved for. The usual example for this is a host name-to-address translation attempt (using gethostbyname or WSAAsyncGetHostByName) which uses the DNS (Domain Name Server). An MX record is returned but no A recordindicating the host itself exists, but is not directly reachable.
+WSA_QOS_RECEIVERS 11005
+QOS receivers.
+At least one QOS reserve has arrived.
+WSA_QOS_SENDERS 11006
+QOS senders.
+At least one QOS send path has arrived.
+WSA_QOS_NO_SENDERS 11007
+No QOS senders.
+There are no QOS senders.
+WSA_QOS_NO_RECEIVERS 11008
+QOS no receivers.
+There are no QOS receivers.
+WSA_QOS_REQUEST_CONFIRMED 11009
+QOS request confirmed.
+The QOS reserve request has been confirmed.
+WSA_QOS_ADMISSION_FAILURE 11010
+QOS admission error.
+A QOS error occurred due to lack of resources.
+WSA_QOS_POLICY_FAILURE 11011
+QOS policy failure.
+The QOS request was rejected because the policy system couldnt allocate the requested resource within the existing policy.
+WSA_QOS_BAD_STYLE 11012
+QOS bad style.
+An unknown or conflicting QOS style was encountered.
+WSA_QOS_BAD_OBJECT 11013
+QOS bad object.
+A problem was encountered with some part of the filterspec or the provider-specific buffer in general.
+WSA_QOS_TRAFFIC_CTRL_ERROR 11014
+QOS traffic control error.
+An error with the underlying traffic control (TC) API as the generic QOS request was converted for local enforcement by the TC API. This could be due to an out of memory error or to an internal QOS provider error.
+WSA_QOS_GENERIC_ERROR 11015
+QOS generic error.
+A general QOS error.
+WSA_QOS_ESERVICETYPE 11016
+QOS service type error.
+An invalid or unrecognized service type was found in the QOS flowspec.
+WSA_QOS_EFLOWSPEC 11017
+QOS flowspec error.
+An invalid or inconsistent flowspec was found in the QOS structure.
+WSA_QOS_EPROVSPECBUF 11018
+Invalid QOS provider buffer.
+An invalid QOS provider-specific buffer.
+WSA_QOS_EFILTERSTYLE 11019
+Invalid QOS filter style.
+An invalid QOS filter style was used.
+WSA_QOS_EFILTERTYPE 11020
+Invalid QOS filter type.
+An invalid QOS filter type was used.
+WSA_QOS_EFILTERCOUNT 11021
+Incorrect QOS filter count.
+An incorrect number of QOS FILTERSPECs were specified in the FLOWDESCRIPTOR.
+WSA_QOS_EOBJLENGTH 11022
+Invalid QOS object length.
+An object with an invalid ObjectLength field was specified in the QOS provider-specific buffer.
+WSA_QOS_EFLOWCOUNT 11023
+Incorrect QOS flow count.
+An incorrect number of flow descriptors was specified in the QOS structure.
+WSA_QOS_EUNKOWNPSOBJ 11024
+Unrecognized QOS object.
+An unrecognized object was found in the QOS provider-specific buffer.
+WSA_QOS_EPOLICYOBJ 11025
+Invalid QOS policy object.
+An invalid policy object was found in the QOS provider-specific buffer.
+WSA_QOS_EFLOWDESC 11026
+Invalid QOS flow descriptor.
+An invalid QOS flow descriptor was found in the flow descriptor list.
+WSA_QOS_EPSFLOWSPEC 11027
+Invalid QOS provider-specific flowspec.
+An invalid or inconsistent flowspec was found in the QOS provider-specific buffer.
+WSA_QOS_EPSFILTERSPEC 11028
+Invalid QOS provider-specific filterspec.
+An invalid FILTERSPEC was found in the QOS provider-specific buffer.
+WSA_QOS_ESDMODEOBJ 11029
+Invalid QOS shape discard mode object.
+An invalid shape discard mode object was found in the QOS provider-specific buffer.
+WSA_QOS_ESHAPERATEOBJ 11030
+Invalid QOS shaping rate object.
+An invalid shaping rate object was found in the QOS provider-specific buffer.
+WSA_QOS_RESERVED_PETYPE 11031
+Reserved policy QOS element type.
+A reserved policy element was found in the QOS provider-specific buffer.
+