There are currently 3 IPMI revisions (with details taken from http://www.ecst.csuchico.edu/~dranch/LINUX/IPMI/ipmi-on-linux.html):
IPMI version 2.0 is desirable as it allows you to use SOL to get a remote console on the server as though it were local in cases where the operating system locks up and SSH or (heaven forbid) telnet access are not available due to the operating system being inoperable. v2.0 also allows you to encrypt the contents of the IPMI packets sent to remote systems and so protects the BMC passwords and your commands on the network. IPMI v1.5 still allows to you to power the system on and off and view sensor output, but does not support packet encryption (and therefore sends your BMC password over the network in plain text) and does not support SOL in any standardised way. Both 2.0 and 1.5 are in common usage and are both still sold on new servers.
To setup an IPMI LAN interface, administrators may use the IPMI server management configuration utility. This utility--which is not component of IPMItool--is built into eighth-generation Dell PowerEdge systems and can be started during system boot by pressing Ctrl+E when prompted. The following settings should be configured:
More information can be found here: http://www.dell.com/downloads/global/power/ps4q04-20040204-Murphy.pdf
Two packages offer IPMI support in Ubuntu:
bash$ sudo aptitude install ipmitool
Once installed, the following files may help you configure and personalize your ipmitools package install:
/usr/share/ipmitool/ipmi.init.basic
/usr/share/doc/ipmitool/README.gz
To uncompress the .gz file and view it:
bash$ sudo gunzip /usr/share/doc/ipmitool/README.gz
bash$ sudo gedit /usr/share/doc/ipmitool/README
Enabling the IMPI on boot up by adding 3 lines below to the /etc/modules
ipmi_msghandler
ipmi_devintf
ipmi_si
The IPMItool package supports two interfaces types: a local area netowork (LAN) interface and a keyboard controller style (KCS) interface. The LAN interface provides a session based, authenticated means of interacting with the BMC over the network; the KCS interface provides an unauthenticated local interface to the BMC:
IPMI LAN interface: The IPMI LAN interface is associated with a BMC channel that is designed to be always available--it can be used even when the system is powered down, or when the OS is hung or inactive (as long as power is present at the chassis). This interface is sometimes implemented using a separate LAN controller, but it may also share a LAN controller with the system. In shared configurations, the IPMI messages are isolated from the system messages within the controller; that is, the User Datagram Protocol (UDP) packets destined for the MBC's Remote Management and Control Protocol (RMCP) port are directed to the MBC by the hardware. The command to access the IPMI Over LAN is:
bash$ ipmitool -I lanplus -H 192.168.10.123 -U ipmiadmin -a chassis power status
NOTE: ipmitool -I lan command must be run remotely from another server since the eth0 can't be listening and responding at the same time for IMPI.
IPMI KCS interface: The IPMI KDS interface, referred to as the open interface, is the systems management software (SMS) interface provided by the MBC on the host. It is available to software that is running on the local (active) host system. By default, this interface is a byte-aligned pair of I/O port at address 0xca2, unless other information is provided in the systems management BIOS (SMBIOS) tables. SMBIOS table entries that describe an IPMI KCS interface have a type 38 entry (0x26). Linux provides the dmidecode utility program to display the SMBIOS tables.
bash$ ipmitool -I open commands
ipmitool lan set 1 ipaddr xx.xx.xx.xx
ipmitool lan set 1 defgw ipaddr xx.xx.xx.xx