Last update: 2005/04/06
If IPMI 1.5/2.0 card is installed, some drivers MUST be installed for the IPMI related applications, such as Graceful Power Control (GPC) Agent or Supero Doctor II.
There are two options that you can choose as the IPMI drivers.
IPMI card version | Kernel version | Option 1 (smbmc driver) | Option 2 (IPMI drivers in kernel) |
IPMI 1.5/2.0 | 2.4.20 and earlier | Yes (recommended) Support IPMI 1.5/2.0 |
No |
2.4.21 ~ 2.4.25 | Yes Support IPMI 1.5/2.0 |
Yes (recommended) Support IPMI 1.5 only |
|
2.4.26 and later | Yes Support IPMI 1.5/2.0 |
Yes (recommended) Support IPMI 1.5/2.0 * |
|
2.6.6 and earlier | No | Yes (recommended) Support IPMI 1.5 only |
|
2.6.7 and later | No | Yes (recommended) Support IPMI 1.5/2.0 * |
* For IPMI 1.5, upgrade the Linux kernel (2.4.26+ / 2.6.7+) and IPMI drivers (v32+)
IF NECESSARY. (See examples.)
* For IPMI 2.0, upgrade the Linux kernel (2.4.26+ / 2.6.7+) and IPMI drivers (v32+ and patch of handling IPMI registers with offsets)
IF NECESSARY. (See examples.)
For Red Hat 7.3/8/9 and Fedora Core 1/2:
IPMI card version | OS Distribution (Kernel version) | Option 1 (smbmc driver) | Option 2 (IPMI drivers in kernel) |
IPMI 1.5/2.0 | |||
Red Hat 9 (2.4.20-8) | Yes Support IPMI 1.5/2.0 |
Yes (recommended) Support IPMI 1.5 only ** |
|
Fedora Core 1 (2.4.22-1.2115.nptl) | Yes Support IPMI 1.5/2.0 |
Yes (recommended) Support IPMI 1.5 only ** |
|
Fedora Core 2 (2.6.5-1.358) | No | Yes (recommended) *** | |
Fedora Core 3 (2.6.9-1.667) | No | Yes (recommended) Support IPMI 1.5/2.0 |
** For IPMI 2.0, you have to upgrade the Linux kernel (2.4.26+ / 2.6.7+) and IPMI drivers (v32+ and patch of handling IPMI registers with offsets). (See examples.)
*** On Fedora Core 2 (2.6.5-1.358), you must upgrade the Linux kernel (2.6.7+) and IPMI drivers (v32+).
(See examples.)
Option 1 (smbmc driver) | Option 2 (IPMI drivers in kernel) | |
Steps |
1. Load the smbmc module. # insmod /usr/supermicro/smbmc.o 2. Create the device node. # maj=`cat /proc/devices | awk '/smbmc/{print $1}'` # if [ -c /dev/smbmc ] # then # rm -f /dev/smbmc # /bin/mknod /dev/smbmc c $maj 0 # else # /bin/mknod /dev/smbmc c $maj 0 # fi 3. Input all commands above to the end of /etc/rc.local, so that all can be done after rebooting. |
1. Load the ipmi_devintf module. # modprobe ipmi_devintf 2. You (might) need to create the device node. If using devfs, you should get a /dev/ipmidev/0 entry automatically created when you load the ipmi_devintf module. If not using devfs: you can create the device node by # maj=`cat /proc/devices | awk '/ipmidev/{print $1}'` # if [ -c /dev/ipmi0 ] # then # rm -f /dev/ipmi0 # /bin/mknod /dev/ipmi0 c $maj 0 # else # /bin/mknod /dev/ipmi0 c $maj 0 # fi 3. Load the ipmi_si, ipmi_si_drv, or ipmi_kcs_drv module depending on the Linux kernel and IPMI drivers version. [Linux 2.4.x]# modprobe ipmi_kcs_drv [Linux 2.4.x]# modprobe ipmi_si_drv [Linux 2.6.x]# modprobe ipmi_si For IPMI 2.0, if the SMBIOS type 38 (IPMI Device Information) is not well defined, the IPMI drivers can be loaded manually with parameters. [Linux 2.4.x]# modprobe ipmi_si_drv si_type=kcs si_ports=0xca8 si_regspacings=4 [Linux 2.6.x]# modprobe ipmi_si type=kcs ports=0xca8 regspacings=4 4. Input all commands above to the end of /etc/rc.local, so that all can be done after rebooting. |
Application | Steps |
GPC Agent | 1. Download the latest GPC Agent from ftp.supermicro.com
and install it. # tar zxvf GPC_Agent-xxxxxx.tar.gz # cd GPC_Agent # ./quickinstall 2. Run the GPC Agent. # /usr/supermicro/smagent& # /usr/supermicro/smmsg& |
Supero Doctor II | 1. Download the latest Supero Doctor II from ftp.supermicro.com and install it. # tar zxvf SD2_#.#.#_#.tar.gz # cd superodoctor # ./quickinstall 2. Run the Supero Doctor II. # superodoctor (For graph mode, full function) or # sdt (For text mode, limited function) |
Reference: Linux kernel ( http://www.kernel.org ), OpenIPMI ( http://sourceforge.net/projects/openipmi/ )
Example 1:
(v33) | Linux 2.4.27 + IPMI drivers (v33) | Linux 2.6.8.1 + IPMI drivers (v33) |
Steps | 1. Download the latest Linux 2.4.27 kernel and untar it. # cd /usr/src # wget http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.27.tar.bz2 # tar jxvf linux-2.4.27.tar.bz2 |
1. Download the latest Linux 2.6.8 kernel and untar it. # cd /usr/src # wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.1.tar.bz2 # tar jxvf linux-2.6.8.1.tar.bz2 |
2. Download the latest IPMI driver patch (v33) for Linux
2.4.27 and
apply it. # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-ipmi-2.4.27-v33-af_ipmi.diff # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-ipmi-2.4.27-v33-base.diff # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-ipmi-2.4.27-v33-emu.diff # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-ipmi-2.4.27-v33-smb.diff # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-nmi-2.4.27-v33.diff # cd linux-2.4.27 # patch -p1 < ../linux-ipmi-2.4.27-v33-af_ipmi.diff # patch -p1 < ../linux-ipmi-2.4.27-v33-base.diff # patch -p1 < ../linux-ipmi-2.4.27-v33-emu.diff # patch -p1 < ../linux-ipmi-2.4.27-v33-smb.diff # patch -p1 < ../linux-nmi-2.4.27-v33.diff |
2. Download the latest IPMI driver patch (v33) for Linux
2.6.8.1 and
apply it. # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-ipmi-2.6.8.1-v33-af_ipmi.diff # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-ipmi-2.6.8.1-v33-base.diff # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-ipmi-2.6.8.1-v33-emu.diff # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-ipmi-2.6.8.1-v33-smb.diff # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-nmi-2.6.8.1-v33.diff # cd linux-2.6.8.1 # patch -p1 < ../linux-ipmi-2.6.8.1-v33-af_ipmi.diff # patch -p1 < ../linux-ipmi-2.6.8.1-v33-base.diff # patch -p1 < ../linux-ipmi-2.6.8.1-v33-emu.diff # patch -p1 < ../linux-ipmi-2.6.8.1-v33-smb.diff # patch -p1 < ../linux-nmi-2.6.8.1-v33.diff |
|
3.Do nothing. | 3.Do nothing. | |
4. Build a Linux 2.4.27 kernel. # cd /usr/src/linux-2.4.27 # vi Makefile EXTRAVERSION = -IPMI # make menuconfig (In addition to what you like, please add below for IPMI.) Character devices -> <M> IPMI top-level message handler <M> Device interface for IPMI <M> IPMI SI handler <M> IPMI KCS handler # make dep # make # make modules # make modules_install # make install |
4. Build a Linux 2.6.8.1 kernel. # cd /usr/src/linux-2.6.8.1 # vi Makefile EXTRAVERSION = -IPMI # make menuconfig (In addition to what you like, please add below for IPMI.) Device Drivers -> Character devices -> IPMI -> <M> IPMI top-level message handler <M> Device interface for IPMI <M> IPMI System Interface handler # make all # make modules_install # make install |
|
5. Check for the compiled kernel (2.4.27-IPMI) and reboot the system to
it. # more /boot/grub/grub.conf # ls -l /boot/*2.4.27* # reboot |
5. Check for the compiled kernel (2.6.8.1-IPMI) and reboot the system to
it. # more /boot/grub/grub.conf # ls -l /boot/*2.6.8.1* # reboot |
Example 2:
(v32) | Linux 2.4.26 + IPMI drivers (v32) | Linux 2.6.7 + IPMI drivers (v32) |
Steps | 1. Download the latest Linux 2.4.26 kernel and untar it. # cd /usr/src # wget http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.26.tar.bz2 # tar jxvf linux-2.4.26.tar.bz2 |
1. Download the latest Linux 2.6.7 kernel and untar it. # cd /usr/src # wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.7.tar.bz2 # tar jxvf linux-2.6.7.tar.bz2 |
2. Download the latest IPMI driver patch (v32) for Linux 2.4.26 and
apply it. # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-ipmi-2.4.26-v32-af_ipmi.diff # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-ipmi-2.4.26-v32-base.diff # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-ipmi-2.4.26-v32-smb.diff # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-nmi-2.4.26-v32.diff # ln -s linux-2.4.26 linux-ipmi # patch -p0 < linux-ipmi-2.4.26-v32-af_ipmi.diff # patch -p0 < linux-ipmi-2.4.26-v32-base.diff # patch -p0 < linux-ipmi-2.4.26-v32-smb.diff # patch -p0 < linux-nmi-2.4.26-v32.diff |
2. Download the latest IPMI driver patch (v32) for Linux 2.6.7 and
apply it. # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-ipmi-2.6.7-v32-af_ipmi.diff # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-ipmi-2.6.7-v32-base.diff # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-ipmi-2.6.7-v32-smb.diff # wget http://easynews.dl.sourceforge.net/sourceforge/openipmi/linux-nmi-2.6.7-v32.diff # ln -s linux-2.6.7 linux-ipmi # patch -p0 < linux-ipmi-2.6.7-v32-af_ipmi.diff # patch -p0 < linux-ipmi-2.6.7-v32-base.diff # patch -p0 < linux-ipmi-2.6.7-v32-smb.diff # patch -p0 < linux-nmi-2.6.7-v32.diff |
|
3. For IPMI 2.0, copy a particular patch (linux-ipmi-2.4.26-v32-offsets.diff) from GPC_Agent-xxxx.tar.gz, then apply it. # patch -p0 < linux-ipmi-2.4.26-v32-offsets.diff For IPMI 1.5, do nothing. |
3. For IPMI 2.0, copy a particular patch (linux-ipmi-2.6.7-v32-offsets.diff) from GPC_Agent-xxxx.tar.gz, then apply it. # patch -p0 < linux-ipmi-2.6.7-v32-offsets.diff For IPMI 1.5, do nothing. |
|
4. Build a Linux 2.4.26 kernel. # cd /usr/src/linux-2.4.26 # vi Makefile EXTRAVERSION = -IPMI # make menuconfig (In addition to what you like, please add below for IPMI.) Character devices -> <M> IPMI top-level message handler <M> Device interface for IPMI <M> IPMI SI handler <M> IPMI KCS handler # make dep # make # make modules # make modules_install # make install |
4. Build a Linux 2.6.7 kernel. # cd /usr/src/linux-2.6.7 # vi Makefile EXTRAVERSION = -IPMI # make menuconfig (In addition to what you like, please add below for IPMI.) Device Drivers -> Character devices -> IPMI -> <M> IPMI top-level message handler <M> Device interface for IPMI <M> IPMI System Interface handler # make all # make modules_install # make install |
|
5. Check for the compiled kernel (2.4.26-IPMI) and reboot the system to
it. # more /boot/grub/grub.conf # ls -l /boot/*2.4.26* # reboot |
5. Check for the compiled kernel (2.6.7-IPMI) and reboot the system to
it. # more /boot/grub/grub.conf # ls -l /boot/*2.6.7* # reboot |
Q1: | Where can I modify the System Shutdown Time and Watchdog Time? |
A1: |
Both of [shutdown_time] and [watchdog_time] are defined in /etc/ipmi.conf The unit is in minute(s). The default settings of both are 1 minute. |
Q2: |
[IPMI 1.5] Before I installed the smbmc driver (option 1). How do I switch to use the IPMI drivers in kernel (option 2)? |
A2: |
1. Stop the IPMI related applications, such as GPC Agent or Supero Doctor II. 2. Run the batch file unload_smbmc.sh to unload the smbmc driver (option 1). #./unload_smbmc.sh 3. Remove the following that load the smbmc driver (option 1) from /etc/rc.local. ##### The following will install smbmc.o ##### ############### From here #################### /sbin/insmod /usr/supermicro/smbmc.o maj=`cat /proc/devices | awk '/smbmc/{print $1}'` if [ -c /dev/smbmc ] then rm -f /dev/smbmc /bin/mknod /dev/smbmc c $maj 0 else /bin/mknod /dev/smbmc c $maj 0 fi ############### End here ##################### 4. Run the batch file load_ipmi_driver.sh to load the IPMI drivers in kernel (option 2) and append it to the file /etc/rc.local. # ./load_ipmi_driver.sh # cat load_ipmi_driver.sh >> /etc/rc.local 5.Run GPC agent in the background. # /usr/supermicro/smagent& # /usr/supermicro/smmsg& |
Q3: | [IPMI 1.5] I cannot load the IPMI drivers in Fedora Core 2 successfully. Why? What should I do? |
A3: |
The IPMI device drivers of Fedora Core 2 seems buggy. 1. Refer to the examples above to upgrade the Linux kernel and IPMI drivers. 2. Load the IPMI drivers. 3. Install and run the IPMI related applications. |
Q4: | I got a warning message "Gtk-WARNING **: cannot open display:" while running "smmsg"? Why? |
A4: |
smmsg is used to pop up a warning window in the graphic mode. If in the graphic mode, please do "# export DISPLAY=:0.0". If in text mode, ignore the warning message. |
Q5: |
I got a warning message while running "smmsg". Why? smmsg: error while loading shared libraries: libgnomeui.so.32: cannot open shared object file:.No such file or directory |
A5: |
Please install the "gnome-libs" and related RPMs before running "smmsg". For example, do as below for most cases of Fedora Core 2. # rpm -ivh libpng10-1.0.13-13.i386.rpm # rpm -ivh gnome-libs-1.4.1.2.90-40.i386.rpm |
Q6: | [IPMI 2.0] What should I do for IPMI 2.0? |
A6: | Please upgrade the Linux kernel (2.4.26+ / 2.6.7+) and IPMI drivers (v32+ and patch of handling IPMI registers with offsets) if necessary. |
Q7: |
[IPMI 2.0] I've upgraded the Linux kernel and IPMI drivers, but I still cannot load the IPMI drivers automatically. Why? Can I load the IPMI drivers manually? |
A7: |
1. IPMI drivers can be loaded manually by [Linux 2.4.x]# modprob ipmi_devintf ; modprob ipmi_si_drv si_type=kcs si_ports=0xca8 si_regspacings=4 [Linux 2.6.x]# modprob ipmi_devintf ; modprob ipmi_si type=kcs ports=0xca8 regspacings=4 2. Please check if the latest BIOS for your motherboard supports SMBIOS Type 38 (IPMI Device Information), you can upgrade the BIOS, so that the IPMI drivers could be loaded automatically without parameters. |