How to Identify Your Supermicro IPMI Firmware Version Using DMI and Linux Commands


2 views

When working with Supermicro servers, determining the exact IPMI firmware version can be tricky. The motherboard information often doesn't directly specify which IPMI controller is installed. Here's how to dig deeper.

While the basic dmidecode output shows motherboard information, we need to look for specific IPMI-related DMI types:

bash
sudo dmidecode -t 38

This should return information about your BMC (Baseboard Management Controller). If this doesn't work, try:

bash
sudo dmidecode | grep -A 10 "IPMI"

If dmidecode doesn't provide enough detail, try these approaches:

Method 1: Using ipmitool

bash
sudo ipmitool mc info

This command will show detailed information about your IPMI controller, including firmware version.

Method 2: Checking the Web Interface

Access your IPMI web interface (usually port 443 or 80) and look for:

  • System Information page
  • Firmware Update section
  • About or Version page

Method 3: Direct Hardware Inspection

For physical servers:

  1. Check the motherboard for IPMI controller markings
  2. Look for stickers near the IPMI port
  3. Consult the motherboard manual

Here's a script to automate IPMI information gathering:

bash
#!/bin/bash

echo "=== System Information ==="
sudo dmidecode -t 1 | grep -E "Manufacturer|Product Name|Version"

echo -e "\n=== BMC Information ==="
sudo dmidecode -t 38 2>/dev/null || echo "No DMI type 38 information available"

echo -e "\n=== IPMI Tool Output ==="
which ipmitool >/dev/null 2>&1 && sudo ipmitool mc info || echo "ipmitool not installed"

If you still can't identify your IPMI version:

  • Contact Supermicro support with your motherboard serial number
  • Check the BIOS for IPMI version information
  • Try generic firmware updates that match your motherboard series

# Example 1: Using ipmitool to get BMC info
sudo ipmitool mc info | grep -i "manufacturer\|product"
# Typical output:
# Manufacturer ID         : 47488 (Supermicro)
# Product ID              : 16992 (X9SCL/X9SCM)

The System Information from dmidecode often doesn't provide the granularity needed for IPMI firmware updates. Supermicro systems may share the same baseboard but have different BMC (Baseboard Management Controller) chipsets requiring specific firmware.

Here are three technical approaches to pinpoint your IPMI unit:

# Method 2: Direct BMC query
sudo ipmitool raw 0x06 0x01
# Returns raw BMC device ID (compare with Supermicro's docs)

# Method 3: Checking PCI devices
lspci -nn | grep -i "ipmi\|management"
# Example output:
# 0000:03:00.0 Serial controller [0700]: Device 15d9:0801 (rev 10)

Once you have the BMC Product ID or PCI device ID, match it against:

  1. Supermicro's IPMI firmware matrix
  2. The IPMI Implementation Guide for your generation
# Full identification command sequence:
sudo ipmitool mc info > bmc_info.txt
sudo dmidecode -t baseboard > baseboard.txt
sudo lspci -nnv | grep -A 10 "IPMI" > pci_details.txt

For X9 series boards, the critical identifiers are usually:

  • BMC chip version (AST2000/AST2400/AST2500)
  • IPMI firmware generation (v1.x vs v2.x)
  • Board-specific features (KVM over IP support)