
             ------------------------------
                   panicsel README
               Panic Handler Enhancements 
             ------------------------------

The panicsel package 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 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.   

The panicsel 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.

The following files are included:
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       - show and configure the serial port for BMC access
fruconfig      - show decoded FRU board/product info, write FRU asset tag
hwreset        - to cause the BMC to hard reset the system
sensor         - show the sensor data records and fru data.
alarms         - show/set the Telco alarms 
wdt            - show/set the watchdog timer via IPMI
showsel.8      - man page for showsel
pefconfig.8    - man page for pefconfig
tmconfig.8     - man page for tmconfig
fruconfig.8    - man page for fruconfig
hwreset.8      - man page for hwreset
sensor.8       - man page for sensor
alarms.8       - man page for alarms
wdt.8          - man page for wdt
LICENSE        - Copying License for panicsel utilities
README         - ReadMe for panicsel utilities
UserGuide      - User Guide for panicsel utilities

bmc_panic*.patch - The panic handler module to write to the SEL & other stuff
                   (part of the kernel)

--------------------
   Dependencies:
--------------------
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 load the bmc_panic module.
The panicsel utilities require an IPMI Driver, either the Intel IPMI package
(ipmidrvr, /dev/imb), MontaVista OpenIPMI (/dev/ipmi0), or the 
valinux IPMI Driver (/dev/ipmikcs). 

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.

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.

--------------------
   Configuration
--------------------
For some IPMI systems, a minimum firmware version may be needed to 
support this 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 rpm sets the panic timeout to
5 seconds.  If a different timeout is desired, do 
"echo 10 >/proc/sys/kernel/panic" to set it to 10 seconds, for instance.

To apply the bmc_panic patch (in kern/) to a new version of kernel source:
   kver=2.4.18
   cd /usr/src/linux-${kver}
   cat bmcpanic-${kver}.patch | patch -p1
   make menuconfig     (make sure CONFIG_BMCPANIC=y)
   make oldconfig
   make dep
   make bzImage
   make modules
   make modules_install
   mkinitrd -f /boot/initrd-${kver}.img ${kver}
   make install
   reboot

Steps to set up BMC LAN Alerts manually with SSU:
  Boot to the service partition and select SSU.
  Select LAN Alerting
  Select BMC LAN button
  Click the Enable LAN Alerts checkbox
  Set "always available"
  Set the SNMP community to "public"
  Set the IP address, gateway, net mask, and the Alert IP addres.
  Select Options/Event Filtering
  Enable all of the events in the list (<<)
  Close Event Filtering.
  File/Save the LAN Alert config
  Exit SSU
  
  Reboot
  Install the panicsel rpm from Linux, which runs "pefconfig", 
  which is still needed to set up the new PEF table entry 
  (it can also set BMC LAN).

------------------------------
   KNOWN PROBLEMS
------------------------------

Contact for best-effort support: arcress@users.sourceforge.net

--------------------
  CHANGE HISTORY:
--------------------
  (See the ChangeLog file)
