HP Microserver Remote Management Card

I recently acquired the Remote Management card for my HP Microserver, which allows remote KVM & power control, IPMI management and hardware monitoring through temperature & fan sensors.

Note the extra connector on the card in addition to the standard PCI-e x1 connector which matches the dedicated slot on the Microserver motherboard. This presented a bit of a problem as I was using the space for the battery backup module for the RAID controller in the neighbouring slot.

Thankfully the long ribbon cable meant I could route the battery up to the space behind the DVD burner freeing the slot again. Once the card was installed and everything screwed back together I booted straight back into CentOS. Given IPMI is touted as a feature I figured that was the first thing to try so I installed OpenIPMI:

# yum -y install OpenIPMI ipmitool
...
# service ipmi start
Starting ipmi drivers:                                     [  OK  ]
# ipmitool chassis status
Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory
Error sending Chassis Status command

Hmm, not good. Looking at dmesg shows the following is output when the IPMI drivers get loaded:

ipmi message handler version 39.2
IPMI System Interface driver.
ipmi_si: Adding SMBIOS-specified kcs state machine
ipmi_si: Adding ACPI-specified smic state machine
ipmi_si: Trying SMBIOS-specified kcs state machine at i/o address 0xca8, slave address 0x20, irq 0
ipmi_si: Interface detection failed
ipmi_si: Trying ACPI-specified smic state machine at mem address 0x0, slave address 0x0, irq 0
Could not set up I/O space
ipmi device interface

From reading the PDF manual it states that the IPMI KCS interface is at 0xCA2 in memory, not 0xCA8 that the kernel is trying to probe. Looking at the output from dmidecode shows where this value is probably coming from:

# dmidecode --type 38
# dmidecode 2.11
SMBIOS 2.6 present.
 
Handle 0x001B, DMI type 38, 18 bytes
IPMI Device Information
	Interface Type: KCS (Keyboard Control Style)
	Specification Version: 1.5
	I2C Slave Address: 0x10
	NV Storage Device: Not Present
	Base Address: 0x0000000000000CA8 (I/O)
	Register Spacing: Successive Byte Boundaries

This suggests a minor bug in the BIOS.

Querying the ipmi_si module with modinfo shows it can be persuaded to use a different I/O address so I created /etc/modprobe.d/ipmi.conf containing the following:

1
options ipmi_si type=kcs ports=0xca2

Then bounce the service to reload the modules and try again:

# service ipmi restart
Stopping all ipmi drivers:                                 [  OK  ]
Starting ipmi drivers:                                     [  OK  ]

As of CentOS 6.4, the above won’t work as the ipmi_si module is now compiled into the kernel. Instead, you need to edit /etc/grub.conf and append the following to your kernel parameters:

1
ipmi_si.type=kcs ipmi_si.ports=0xca2

Thanks to this post for the info. Instead of bouncing the service you’ll need to reboot, then try again:

# ipmitool chassis status
System Power         : on
Power Overload       : false
Power Interlock      : inactive
Main Power Fault     : false
Power Control Fault  : false
Power Restore Policy : always-off
Last Power Event     : 
Chassis Intrusion    : inactive
Front-Panel Lockout  : inactive
Drive Fault          : false
Cooling/Fan Fault    : false
# ipmitool sdr
Watchdog         | 0x00              | ok
CPU_THEMAL       | 32 degrees C      | ok
NB_THERMAL       | 35 degrees C      | ok
SEL Rate         | 0 messages        | ok
AMBIENT_THERMAL  | 20 degrees C      | ok
EvtLogDisabled   | 0x00              | ok
System Event     | 0x00              | ok
SYS_FAN          | 1000 RPM          | ok
CPU Thermtrip    | 0x00              | ok
Sys Pwr Monitor  | 0x00              | ok

Success! With that sorted, you can now use ipmitool to further configure the management card, although not all of the settings are accessible such as IPv6 network settings so you have to use the BIOS or web interface for some of it.

Overall, I’m fairly happy with the management card. It has decent IPv6 support and the Java KVM client works okay on OS X should I ever need it but I couldn’t coax the separate virtual media client to work, I guess only Windows is supported.

Tags: , , , , ,

13 Responses to “HP Microserver Remote Management Card”

  1. Scott says:

    What raid card are you using with the microserver, been looking for ones that would fit?

    Thanks

    • matt says:

      This particular one is an Areca ARC-1212, the multilane connector on the card is in the perfect spot.

      I did remember reading somewhere that one of the HP Smart Array (P400?) RAID adapters will also fit, although you may need to change the cabling as well.

      Hope that helps.

      Matt

      • Scott says:

        Great, thanks for the info.

        Would like to get raid5 running in hardware and trying to find something that will fit in this tiny box is a bit hard :).

        Thanks again,

        Scott

  2. Emiliano says:

    Hey, what’s the speed of the ethernet port integrated in the ipmi card?
    Can you bond it with the integrated interface of the hp microserver?

    • Matt says:

      The NIC is 10/100 Mb/s only. You can’t use it as an extra NIC unfortunately as the OS has no idea it’s there, apart from what the IPMI tools can see.

      Matt

      • Emiliano says:

        Thanks a lot for the reply.
        Do u want to share with me your experience with this product?
        I’m configuring a little nas with debian.
        I’m getting 100 MB/sec writing and reading with 3tb raid 0 on a btrfs/luks partition.
        You?

        • Matt says:

          If you want to be able to monitor the hardware, (temperature, fan, etc.), I think using this card is the only way. Plus it’s handy to be able to remotely power-cycle on that rare occasion it might lock up.

          I get about the same 90-100 MB/sec when using the HP as a NAS without any tuning options, but I think that’s getting to the limit of the network anyway.

          Matt

  3. Had the exact same issue – nice work. Working fine now 🙂

  4. Britton Dodd says:

    Just as an FYI — this stopped working in CentOS 6.4 (I didn’t happen to catch the exact version you were using at the time).

    http://patgardner.blogspot.com/2013/03/hp-microserver-remote-management-card.html

    The link above talks about Redhat building-in the ipmi driver into the kernel instead of a loadable module, and therefore the modprobe.d entry for ipmi no longer works (makes sense, but what an odd decision). He states you just have to pass the ipmi_si options at boot via the grub menu.lst. Tried it and it works fine here.

  5. Michael says:

    Thank you very much for this. Got me up and running.

    I’m running Debian Wheezy on HP Microserver N54L with HP rac card and these were my steps.

    #apt-get install ipmitool

    #vi /etc/default/ipmievd
    ENABLE=yes

    vi /etc/default/grub
    # Adding setting for ipmp
    GRUB_CMDLINE_LINUX_DEFAULT=”ipmi_si.type=kcs ipmi_si.ports=0xca2″

    #update-grub

    and reboot

    Happy days!

  6. Josh Enders says:

    Thanks for taking the time to share this information. Very helpful!

  7. Herbert says:

    Hi,
    I’m running Debian wheezy (Debian v7.5) w. Backport Kernel 3.14. Didn’t need to specify some ipmi parameters on grub commandline.
    After installing ipmitool w. apt-get and enabling ipmievd via /etc/default/ipmievd I added the following lines in /etc/modules instead:
    # ipmi
    ipmi_devintf
    ipmi_si

    /H.

Leave a Reply