Troubleshooting “ipmitool: Can’t Find /dev/ipmi0” Error on CentOS 6.3 x64


2 views

When working with remote server management, encountering the ipmitool device path error is frustrating but solvable. The error:

Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory
Unable to get Chassis Power Status

typically indicates missing kernel modules or incorrect permissions rather than a broken installation.

Before diving deep, verify these fundamentals:

# Check if IPMI modules are loaded
lsmod | grep ipmi

# Verify ipmitool installation
rpm -q ipmitool

# Test raw IPMI access (if hardware supports it)
ipmitool -I open chassis status

CentOS 6.x often requires manual module loading. Try:

# Load necessary modules
modprobe ipmi_msghandler
modprobe ipmi_devintf
modprobe ipmi_si

# Make changes persistent
echo "ipmi_msghandler" >> /etc/modules-load.d/ipmi.conf
echo "ipmi_devintf" >> /etc/modules-load.d/ipmi.conf
echo "ipmi_si" >> /etc/modules-load.d/ipmi.conf

Some systems use different device nodes. Check for:

ls /dev/ipmi*
ls /dev/char/10-*  # Major number 10 is IPMI in Linux

If found, specify the path explicitly:

ipmitool -d /dev/char/10-1 chassis status

For Dell PowerEdge servers, additional steps may help:

yum install OpenIPMI OpenIPMI-tools
service ipmi start
chkconfig ipmi on

When local device nodes fail, use LAN interface:

ipmitool -I lanplus -H <BMC_IP> -U <username> -P <password> chassis status

This bypasses kernel dependencies entirely.

Check kernel messages for IPMI-related errors:

dmesg | grep -i ipmi
journalctl -k | grep -i ipmi  # For newer systems

After applying fixes, confirm device node creation:

ls -l /dev/ipmi*
cat /proc/devices | grep ipmi

When working with IPMI on Linux systems, the missing device files (/dev/ipmi0, /dev/ipmi/0, or /dev/ipmidev/0) typically indicate one of three scenarios:

# Common diagnostic commands to run first:
lsmod | grep ipmi
dmesg | grep -i ipmi
systemctl status ipmievd.service

Before diving into software solutions, confirm your system actually has BMC hardware. Many hosted/VPS environments don't expose IPMI interfaces. For physical servers:

dmidecode -t 38
# Look for:
# IPMI Device Information
#   Interface Type: KCS (Keyboard Controller Style)
#   Base Address: 0xCA2 (typical)

The Linux IPMI stack requires these key modules:

modprobe ipmi_msghandler
modprobe ipmi_devintf
modprobe ipmi_si
modprobe ipmi_poweroff

For Dell PowerEdge servers, you might need additional modules:

modprobe dell_rbu
modprobe ipmi_watchdog

To ensure modules load at boot, create a configuration file:

echo "ipmi_msghandler" >> /etc/modules-load.d/ipmi.conf
echo "ipmi_devintf" >> /etc/modules-load.d/ipmi.conf
echo "ipmi_si" >> /etc/modules-load.d/ipmi.conf

If direct device access fails, try LAN-mode IPMI:

ipmitool -I lanplus -H  -U  -P  power status
# Example with common defaults:
ipmitool -I lanplus -H 192.168.1.100 -U admin -P admin chassis status

Check the low-level IPMI interface status:

cat /sys/module/ipmi_si/parameters/type
# Should return "kcs", "bt", or "smic"
ls -l /dev/ipmi*
# Verify major/minor numbers match:
grep ipmi /proc/devices

For Supermicro servers, sometimes needed:

echo "options ipmi_si trydefaults=1" > /etc/modprobe.d/ipmi.conf
systemctl restart systemd-modules-load

As a last resort, consider:

  1. Updating the BMC firmware
  2. Checking BIOS for IPMI enable/disable settings
  3. Testing with a live CD to rule out OS configuration issues