
                      PANIC HANDLER ENHANCEMENTS 
                       AND UTILITIES FOR LINUX 

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

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

This feature contains both a kernel module (bmc_panic) and a component 
rpm (panicsel) for various utilities.

The bmc_panic kernel module adds additional features to the Linux Panic 
Handler so that more information can be saved and passed along if a Linux panic
condition occurs.  This package enables the bmc_panic kernel module to handle
these additional features.
bmc_panic features:
 - write OS Critical Stop to firmware System Event Log (SEL)
 - turn on the Critical Alarm LED on the Telco Alarms Panel
 - send SNMP trap via BMC LAN Alerting mechanism
 
The Panic Handler module (bmc_panic) inserts itself in the panic_notifier list,
then, if a panic occurs, bmc_panic is notified, and it performs certain 
functions.  It writes an "OS Critical Stop" message to the firmware System 
Event Log, turns on the Critical Alarm LED on the Telco Alarms Panel, and 
sends a BMC LAN Alert via the firmware SNMP capability, even after the OS is 
unavailable.  This module contains a portion of the valinux IPMI driver in 
order to communicate with the BMC via IPMI, but none of the IPMI interfaces 
used by bmc_panic are exposed so that it will not conflict with any other 
IPMI driver module that may be loaded by the kernel.

Note that in Linux kernels 2.6.0 and beyond, the OpenIPMI driver in the base 
kernel has a panic module that includes all of these functions except the 
Alarm LED.
 
The panicsel 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.  
showsel        - show the firmware System Event Log records
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
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.

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

The Panic Handler Enhancements currently work with platforms that
support the IPMI standard.  If the platform does not support IPMI, these
changes are inert, but the code could be modified for another system
management interface.  The Service Availability Forum is working on an
umbrella API that could be used to group IPMI and other system management
interfaces under a meta-standard.  When this becomes available, these
Panic Handler Enhancements will conform to that API so that non-IPMI
platforms can be integrated more easily.

The Panic Handler enhancements depend on the CONFIG_BMCPANIC kernel
parameter being set in the kernel config file (/usr/src/linux/.config), 
in order to export two key variables, and include the bmc_panic module.

The panicsel 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 panicsel rpm runs pefconfig during
the rpm installation.
 
By default, the panic handler enhancements (panicsel) 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 installed to crontab using sel.cron
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 entry from crontab.

------------------------
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/panicsel/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://panicsel.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://panicsel.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://panicsel.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://panicsel.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://panicsel.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://panicsel.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://panicsel.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://panicsel.sourceforge.net/ for the  latest  ver
       sion of wdt and any bug fix list.


--------------------------
4.0  USE CASE
--------------------------
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 panicsel-developer mailing list:
       http://lists.sourceforge.net/lists/listinfo/panicsel-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
--------------------------

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/

