
		         IPMI UTILITIES AND 
                   LINUX PANIC HANDLER ENHANCEMENTS 
                       

------------------------
   CONTENTS
------------------------
1.0  Overview
2.0  Dependencies
   2.1  Configuration
3.0  Utility Man Pages
	showsel
	hwreset
	sensor
        pefconfig
	tmconfig
	fruconfig
	alarms
	wdt
	icmd
4.0  Use Cases
5.0  Problems
6.0  More Information

------------------------
1.0  OVERVIEW
------------------------

This feature includes both IPMI utilities and a kernel patch for 
panic handler enhancements.

The kernel panic handler patch (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 and in OpenIPMI.
 2. Send SNMP trap via BMC LAN Alerting mechanism
    Accomplished by configuring the BMC with 'pefconfig'.
 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.

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.  
showsel        - show the firmware System Event Log records
pefconfig      - show and configure the Platform Event Filter table
                 to allow BMC LAN alerts from OS Critical Stop messages,
                 also shows and sets the BMC LAN configuration parameters.
tmconfig       - to set up the BMC Serial port for various modes, such as
                 Terminal Mode.  
fruconfig      - show the FRU chassis, board, and product data, and 
                 optionally write an asset tag to the FRU product area.
hwreset        - to cause the BMC to hard reset the system    
sensor         - show all Sensor Data Records and full sensor readings
alarms	       - show and set alarm indicators
wdt	       - show and set watchdog timer parameters
icmd           - send specific IPMI commands to the BMC,
                 mainly for testing and debug purposes.

------------------------
2.0  DEPENDENCIES
------------------------

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 this 
project as hpiutil.tar.gz.

The Panic Handler kernel enhancements (bmcpanic.patch) are now 
included 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), assuming kernel 2.4.21 or greater. 

The ipmiutil utilities require an IPMI Driver, either the MontaVista 
OpenIPMI driver (/dev/ipmi0), Intel IPMI package (ipmidrvr /dev/imb),
or the valinux IPMI Driver (/dev/ipmikcs).
See http://openipmi.sourceforge.net for the OpenIPMI driver.
See http://downloadfinder.intel.com/scripts-df/Product_Search.asp?Prod_nm=ipmi*driver*source  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.
 
The IPMI 1.5 spec, Table 36-3 defines the sensor types for SEL records,
as used by showsel.
The IPMI 1.5 spec, Table 15-2 defines the Platform Event Filter table
entries, as used by pefconfig.
The IPMI 1.5 spec, Table 19-4 defines the LAN Configuration Parameters,
as used by pefconfig.  

------------------------
2.1  CONFIGURATION
------------------------

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
  SSU ver 2.RC.1 or greater (if SSU is used instead of pefconfig)

The pefconfig utility can be used instead of SSU to configure the BMC LAN 
Alerting while Linux is running.  The ipmiutil rpm runs pefconfig during
the rpm installation.
 
By default, the ipmiutil IPMI utilities rpm sets the panic timeout to 
5 seconds by adding "append="panic=5" to /etc/lilo.conf.  
If a different timeout is desired, change this value in 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 tmconfig 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.

Note that the checksel script will be copied to /etc/cron.daily
so that showsel 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.

------------------------
3.0  UTILITY MAN PAGES
------------------------

SHOWSEL(8)                                             SHOWSEL(8)
 
NAME
       showsel - show firmware System Event Log records
 
SYNOPSIS
       showsel [-cswvx]
 
DESCRIPTION
       showsel  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  MontaVista,  the /dev/imb driver
       from Intel, or the /dev/ipmikcs driver from valinux.
 
OPTIONS
       Command line options are described below.        
 
       -c     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.
 
       -s     By  default,  all  SEL records are displayed.  This
              option causes only the records with  sensor_type  =
              0x20 (OS Critical Stop) to be displayed.
 
       -w     This  option writes SEL records to the Linux syslog
              (/var/log/messages).  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.
 
       -v     Only  show  the  version  information.  This shows:
              the showsel utility version, the BMC  version,  the
              IPMI  version,  the  SEL version, and the amount of
              free space in the SEL.
 
       -x     Causes extra debug messages to be displayed.

SEE ALSO
       pefconfig(8)
 
WARNINGS
       See http://ipmiutil.sourceforge.net/ for the  latest  ver
       sion of showsel and any bug fix list. 


HWRESET(8)                                             HWRESET(8)
 
NAME
       hwreset - perform a hardware reset on the system
 
SYNOPSIS
       hwreset [-dcnorsx]
 
DESCRIPTION
       hwreset  is a program that uses IPMI commands to perform a
       hardware reset of  the  chassis.   This  utility  can  use
       either the /dev/ipmi0 driver from MontaVista, the /dev/imb
       driver from Intel, or the /dev/ipmikcs  driver  from  val
       inux.
 
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
 
       -o     Do a soft shutdown of the OS
 
       -r     Hard Reset the system chassis (default action)
 
       -s     Reset and boot to the Service Partition
 
       -x     Causes extra debug messages to be displayed.
 
SEE ALSO
       showsel(8)
 
WARNINGS
       See  http://ipmiutil.sourceforge.net/  for the latest ver
       sion of hwreset and any bug fix list.


SENSOR(8)                                               SENSOR(8)
 
NAME
       sensor - show Sensor Data Records
 
SYNOPSIS
       sensor [-stx -n num -h val -l val]
 
DESCRIPTION
       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.   The  readings  are  only
       retrieved for Full SDR  records.   This  utility  can  use
       either the /dev/ipmi0 driver from MontaVista, the /dev/imb
       driver from Intel, or the /dev/ipmikcs  driver  from  val-
       inux.
 
       Note that this utility currently only displays Sensor Data
       Records reported by from the BMC  chipset.   Some  systems
       may  have  other devices with sensors that are also avail-
       able via IPMI.

OPTIONS
       Command line options are described below.
 
       -h val High threshold value to set for the specified  sen-
              sor.   This  val  can be in decimal, or of the form
              0x1a, to match the value shown by sensor  following
              the " = ".
 
       -l val Low  threshold  value to set for the specified sen-
              sor.  This val can be in decimal, or  of  the  form
              0x1a,  to match the value shown by sensor following
              the " = ".
 
       -n num 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 "sensor: 20 ".
 
       -s     Show sensor list in a simpler format without  unin-
              terpreted binary values.
 
       -t     Show any thresholds for each sensor also.
 
       -x     Causes eXtra debug messages to be displayed.

SEE ALSO
       showsel(8)
 
WARNINGS
       See  http://ipmiutil.sourceforge.net/  for the latest ver-
       sion of sensor and any bug fix list.


PEFCONFIG(8)                                         PEFCONFIG(8)
 
NAME
       pefconfig  - show and configure BMC LAN parameters and set
       up a PEF entry to send BMC LAN Alerts for OS Critical Stop
       log events
 
SYNOPSIS
       pefconfig [-drsx -n pefnum -i eth1 ]
                     [-I ipadr -M macadr -S subnet]
                     [-G gwyip -H gwymac -P password ]
                     [-A alertip -B alertmac -C community ]"
                     [-L lan_channel_num ]
 
DESCRIPTION
       pefconfig  is  a  program that uses an IPMI driver to send
       IPMI commands which configure 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  also  sets  up  all of the BMC LAN
       Parameters to enable sending the 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.  This utility can use  either  the  /dev/ipmi0
       driver from MontaVista, the /dev/imb driver from Intel, or
       the /dev/ipmikcs driver from  valinux.   This  utility  is
       designed to be used on systems with IPMI 1.5 or greater in
       order to support PEF records.
 
OPTIONS
       Command line options are described below.
 
       -d     This option disables the new PEF entry for SEL 0x20
              events.
 
       -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, pefconfig will scan up  to  32
              eth  interfaces  for  the  onboard one that BMC LAN
              uses.

       -n num By default, the new PEF entry is inserted at offset
              12  into the table.  It can be changed to insert it
              at an offset > 12 if another entry  already  exists
              at offset 12.
 
       -r     This  option just reads the PEF table without writ
              ing any new entries to the table.
 
       -s     This option will also display some  of  the  Serial
              parameters.
 
       -x     Causes extra debug messages to be displayed.
 
       -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.
 
       -M mac_addr
              This specifies the local MAC address to use for the
              BMC LAN on eth0.  The default is  to  automatically
              obtain this from the Linux ifconfig.

       -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.
 
       -G gwy_ip_addr
              This  specifies  the  default gateway IP address to
              use for the BMC LAN.  The default is  to  automati
              cally obtain this from the Linux route table.
 
       -H gwy_mac_addr
              This specifies the default gateway's MAC address to
              use for the BMC LAN.  The default is  to  automati
              cally obtain this from the Linux arp cache.
 
       -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 parame-
              ter.   The  alert  destination will see these traps
              with the enterprises.3183.1.1 OID.

       -B alert_mac_addr
              This specifies the default gateway's MAC address to
              use  for the BMC LAN.  The default is to attempt to
              obtain this from the Linux arp cache.
 
       -C snmp_community
              This specifies the SNMP Community name to  use  for
              BMC  LAN  Alerts.   The default community string is
              "public".
 
       -P password
              This specifies the firmware password to use for BMC
              LAN  access.   If not specified, the user and pass
              word configuration will not be changed.
 
       -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,  pefconfig scans all IPMI channels to find
              a LAN channel for BMC LAN.

SEE ALSO
       showsel(8) tmconfig(8)
 
WARNINGS
       See http://ipmiutil.sourceforge.net/ for the  latest  ver
       sion of pefconfig and any bug fix list.


TMCONFIG(8)                                           TMCONFIG(8)
 
NAME
       tmconfig  -  configure  a system for Serial/EMP functions,
       such as Terminal Mode.
 
SYNOPSIS
       tmconfig [-bclrsx -m[0,1] -n ser_chan -u user -p passwd ] 
 
DESCRIPTION
       tmconfig is a program that uses an  IPMI  driver  to  send
       IPMI   commands   which   configure  a  system  to  enable
       EMP/serial Terminal Mode functions within the firmware, so
       that  an administrator can use command-line character com
       mands 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 MontaVista, the /dev/imb driver from Intel, or
       the /dev/ipmikcs driver from valinux.
 
OPTIONS
       Command line options are described below.
 
       -b     Set up and enable the Serial  Port  EMP  parameters
              for  Basic  Mode  functions.   This  does not set a
              username or password.
 
       -c     Configure and enable the Serial Port EMP parameters
              for Terminal Mode functions.  This sets a new user
              name and password.
 
       -d     Disable the serial port access for  IPMI  commands.
              A  side-effect  of  this option is that it sets the
              default user (1) back to admin access.
 
       -n ser_chan
              Sets the IPMI channel number  for  the  EMP  serial
              port.  The default for this channel number is 1.

       -r     Read Only.   This  option  just  reads  the  Serial
              Parameter configuration without writing any values.
 
       -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 (null) will  be
              assumed.   The  username, if specified, will be set
              for user 3.
 
       -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.
 
       -l     Show LAN Parameters. This option reads and displays
              the LAN Parameter configuration also.
 
       -m0    Switch the Serial Port MUX to Normal operation from
              the Baseboard.  Set no other configuration  parame
              ters.
 
       -m1    Switch  the  Serial Port MUX to Terminal Mode.  Set
              no other configuration parameters.

       -s     Set up and enable the Serial  Port  EMP  parameters
              for  Shared  operation between Basic Mode functions
              and Baseboard (BIOS) Remote Console.  This  is  the
              same  as  option  -b  except  that  it switches the
              Serial Port MUX to Baseboard operation.
 
       -x     Causes extra debug messages to be displayed.
 
DEPENDENCIES
       The tmconfig 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 func
       tions.  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 man
       agement with character commands available  on  the  serial
       port without a special remote client application.
 
       For  example, Intel TSRLT2 systems would use "tmconfig -s" 
       for Basic Mode shared functions, but Intel TIGPR2U systems
       could  use  "tmconfig -c" to configure Terminal Mode func
       tions.
 
SEE ALSO
       pefconfig(8)
 
WARNINGS
       See http://ipmiutil.sourceforge.net/ for the  latest  ver
       sion of tmconfig and any bug fix list.


FRUCONFIG(8)                                         FRUCONFIG(8)
 
NAME
       fruconfig - show Field Replacable Unit configuration data
 
SYNOPSIS
       fruconfig [-ax]
 
DESCRIPTION
       fruconfig 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  Mon
       taVista,   the   /dev/imb   driver   from  Intel,  or  the
       /dev/ipmikcs driver from valinux.
 
OPTIONS
       Command line options are described below. 

       -a     This option specifies an asset  tag  string  to  be
              written  to the system FRU Product area.  The asset
              tag length is limited by the existing  FRU  Product
              data, but is usually allowed up to 16 characters.
 
       -x     Causes eXtra debug messages to be displayed.
 
SEE ALSO
       showsel(8)
 
WARNINGS
       See  http://ipmiutil.sourceforge.net/  for the latest ver
       sion of fruconfig and any bug fix list.


ALARMS(8)                                               ALARMS(8)
 
NAME
       alarms - display and set alarm indicators
 
SYNOPSIS
       alarms [-r -i -c -m -n -p -o -x]
 
DESCRIPTION
       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  MontaVista,  the  /dev/imb  driver
       from Intel, or the /dev/ipmikcs driver from valinux.
 
       Note  that  this utility may not be the only logic setting
       alarm states.  The BMC firmware, system  management  soft
       ware,  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.

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.
              Note that this function may not be supported on all
              systems, and specifying it will display an error if
              unsupported.
 
       -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.

       -o     Sets all alarms off, including the Chassis ID.
 
       -x     Causes extra debug messages to be displayed.
 
SEE ALSO
       showsel(8)
 
WARNINGS
       See  http://ipmiutil.sourceforge.net/  for the latest ver
       sion of alarms and any bug fix list.


WDT(8)                                                     WDT(8)
 
NAME
       wdt - display and set WatchDog Timer parameters
 
SYNOPSIS
       wdt [-d -e -r -t -x]
 
DESCRIPTION
       wdt  is  a  program that uses IPMI commands to display and
       set WatchDog  Timer  parameters.   This  utility  can  use
       either the /dev/ipmi0 driver from MontaVista, the /dev/imb
       driver from Intel, or the /dev/ipmikcs  driver  from  val
       inux.
 
       Note  that the device-independent way to manipulate watch
       dog timers in Linux is to use the /dev/watchdog interface.
       This  utility  is  an  example  of  how to access the IPMI
       watchdog parameters directly.
 
OPTIONS
       Command line options are described below.

       -d     Disables the watchdog timer.
 
       -e     Enables the watchdog timer.  The timer is not actu
              ally  started,  however,  until the timer is reset.
              The pre-timeout action is not enabled.
 
       -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 seconds (2 minutes).
 
       -x     Causes extra debug messages to be displayed.
 
SEE ALSO
       showsel(8)
 
WARNINGS
       See http://ipmiutil.sourceforge.net/ for the  latest  ver
       sion of wdt and any bug fix list.


ICMD(8)                                                   ICMD(8)
 
NAME
       icmd  - a tool to send specific IPMI commands via the com-
       mand line.
 
SYNOPSIS
       icmd [-x] rsSa netFn/lun cmd bus [data bytes]
 
DESCRIPTION
       icmd  This  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 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
       MontaVista,  the  /dev/imb  driver  from  Intel,  or   the
       /dev/ipmikcs driver from valinux.

       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.
 
       -x     Causes extra debug messages to be displayed.
 
PARAMETERS
       The following parameters are used by icmd.  Each is repre-
       sented as a two-digit hex byte.  The  parameters  have  no
       default values.
 
       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 IPMITOOL.EXE.

       cmd    This byte contains the IPMI command.
 
       bus    This byte contains the bus number for this command,
              usually 00.
 
       [data bytes]
              This is a sequence of zero to 16 bytes that  repre-
              sent data bytes specific to this command.
 
EXAMPLES
       icmd 20 18 01 00
       Sends the GetDevice ID command to the BMC.
 
       icmd 20 28 43 00 00 00 ff ff 00 ff
       Sends  a  Get  SEL entry command for the last entry in the
       firmware log.
 
SEE ALSO
       showsel(8)

WARNINGS
       See http://ipmiutil.sourceforge.net/ for the  latest  ver-
       sion of icmd and any bug fix list.


--------------------------
4.0  USE CASES
--------------------------
For IPMI utilities:
Get and set the Baseboard Temperature sensor threshold with 
the 'sensor' utility like this:
# sensor -t
[...]
000e SDR Full 01 39 20 sensnum 30 Baseboard Temp   = 21 OK   33.00 degrees C
        hi-crit 65.00 hi-noncr 60.00 lo-crit  5.00 lo-noncr 10.00
[...]
Using sensnum 30 and the hex raw reading (21) as a baseline from above.
# sensor -t -n 0x30 -l 0x0a
[...]
GetThreshold[30]: 30 1b 0a 05 00 3c 41 00
SetThreshold[30]: 30 03 0c 0b 0a 00 00 00
SetSensorThreshold[30] to lo=0a hi=ff, ret = 0
# 
This sets the lower non-crit to 12 C, and lower crit to 11 C.

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]
# pefconfig
[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]
[ssh connection]
# gpg --import mykey.file
# mynode=`uname -n`
# my_enc_psw=`grep $mynode |cut -f2`
# pefconfig -P `gpg --decrypt $my_enc_psw`
[ssh exit]

For 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 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.

--------------------------
5.0  PROBLEMS
--------------------------
Note that each tool has an option for additional debug output (-x).

Contact maintainer for best-effort support:  arcress@users.sourceforge.net
or use the ipmiutil-developer mailing list:
       http://lists.sourceforge.net/lists/listinfo/ipmiutil-developers 

Return code = 0 means success, negative numbers indicate failure.
Completion Codes are defined in IPMI 1.5, Table 5-2, and are also included 
below:
Code  Description
----  -----------------------------------------
0x00, "Command completed successfully",
0xC0, "Node Busy",
0xC1, "Invalid Command",
0xC2, "Command invalid for given LUN",
0xC3, "Timeout while processing command",
0xC4, "Out of space",
0xC5, "Invalid Reservarion ID, or cancelled",
0xC6, "Request data truncated",
0xC7, "Request data length invalid",
0xC8, "Request data field length limit exceeded",
0xC9, "Parameter out of range",
0xCA, "Cannot return requested number of data bytes",
0xCB, "Requested sensor, data, or record not present",
0xCC, "Invalid data field in request",
0xCD, "Command illegal for this sensor/record type",
0xCE, "Command response could not be provided",
0xCF, "Cannot execute duplicated request",
0xD0, "SDR Repository in update mode, no response",
0xD1, "Device in firmware update mode, no response",
0xD2, "BMC initialization in progress, no response",
0xD3, "Destination unavailable",
0xD4, "Cannot execute command. Insufficient privilege level",
0xD5, "Cannot execute command. Request parameters not supported",
0xFF, "Unspecified error"

--------------------------
6.0  MORE INFORMATION
--------------------------

ipmiutil project on sourceforge     http://ipmiutil.sourceforge.net
panicsel project on sourceforge     http://panicsel.sourceforge.net
Carrier Grade Linux Working Group   http://www.osdl.org/projects/cgl/
Carrier Grade Linux Edition         http://developer.osdl.org
Intel Carrier Linux Technology      http://carrierlinux.org/
IPMI Specification           http://www.intel.com/design/servers/ipmi/index.htm

OpenIPMI project                    http://sourceforge.net/projects/openipmi/
  by Corey Minyard of MontaVista       (home=http://openipmi.sourceforge.net)
Intel imb ipmidrvr                  http://downloadfinder.intel.com/scripts-df/Product_Search.asp?Prod_nm=ipmi*driver*source
valinux IPMI driver                 http://cvs.sf.net/cgi-bin/viewcvs.cgi/ipmitools/ipmitools/kernel/kcs/patches/2.4.x/ 
Intel/Radisys combined IPMI driver  http://cvs.developer.osdl.org/viewcvs/viewcvs.cgi/kernel/linux-2.4.18/patches/ipmi_comb/
BMC WatchDog Timer patch     http://cvs.developer.osdl.org/viewcvs/viewcvs.cgi/kernel/linux-2.4.18/patches/bmcwdt/ 

San Mehat's ipmitools project       http://sourceforge.net/projects/ipmitools/
FreeIPMI project                    http://sourceforge.net/projects/freeipmi/
IPMI-BSD project                    http://sourceforge.net/projects/ipmi-bsd/
PHP Poor-Man's Sys Mgt Software     http://sourceforge.net/projects/phppmsms/
lm-sensors project                  http://secure.netroedge.com/~lm78/

