I have this bunch of Dell R610, with iDrac6 Express management cards. I used these, among other things, for developing IPMI support in NUT and working on Infrastructure & Cloud power management. But that's the topic of another post (still, if you're interested in, check this and that).

The thing is that this "IPMI" monitoring development has been limited to local support (Ie, power supplies can't be monitored remotely by the nut-ipmipsu driver), due to an issue : any attempt to enable IPMI access over the network was miserably failing!

Well, these attempts were limited to a couple of 15 minutes runs, without plain motivation, almost a year ago. The various firmwares were up to date (iDrac 1.70, ...) , everything was running and configured fine, locally. But still... no IPMI available through the network!

Looking on the Net, I've learned that many Dell customers with iDrac Express cards, were having the same issue. Dell support seems to have replaced tons of motherboards! There, I switched to other things, and time has passed....

A good year later (last week), I decided that it was time to get back on this. And I've found the solution there

Incredible: this was due to a 'bug' in the Broadcom NetXtreme II LoM (LAN on Motherboad) firmware! I've not had time to dig this issue in depth, but here is a base explanation, for what it's worth: Some LoM initial self tests are failing. Thus, the LoM are not switched to the managed mode, and can't actually be available for BMC management (thus no IPMI over the network). In my case, the tests were wrongly failing at 'A07', a test which tries to establish a Gigabit connection! Strangely, all these servers are connected on a Gb switch! Not a fully satisfactory answer, but that said, there is a solution, and I've not much time to pour into this investigation (comments may always change my mind though!).

So here is a comprehensive procedure to fix this, from your Linux system, and using FreeDOS:

  • Get a USB key, at least 1,44 Mb (damn!), but a good old 32Gb will also do the trick ;-)
  • Open a terminal and format the USB key (WARNING: this will ERASE all data on the key! You've been warned. Really!)

$ mkfs.msdos /dev/sdX1

Note: 'X' is to be replaced by the exact name of your USB key. An hint: call 'tail -f /var/log/syslog" and unplug / replug your USB key. You will see some entries like "...sdb Attached SCSI removable disk". So, there, it's "sdb".

  • Download a FreeDOS image
  • Now use qemu to create the DOS boot disk on your USB key (replace 'X' again!):

$ qemu -boot a -fda balder10.img -hda /dev/sdX A:\> sys c: A:\> xcopy /E /N a: c:

Note that you will need "root" privileges.

  • (Optional) You can check the bootability with:

$ qemu -hda /dev/sdX

  • Download Broadcom DOS utilities there
  • Unzip this archive (self extract)

$ unzip Bcom_LAN_14.2.x_DOSUtilities_A03.exe

  • Copy only 'Userdiag/NetXtremeII/uxdiag.exe' to your USB key.
  • Plug the key in your server, and reboot it
  • Press F11 to enter the BIOS boot sequence,
  • Select the default entry, and press Enter. Once the system is booted, type:

c:\ uxdiag -t abcd –mfw 1

  • Reboot your system, and enjoy your *working* IPMI access over the network :-)

For what it's worth (again), I just hope that it will be useful to others...

I will now prepare another post using using FreeIPMI to manage your servers, the GNU way...

cheers,
-- Arno

Thanks to Jordi Clariana, his enlightening post, Daniel for this one, Aurélien was motivating me again in solving this iDrac Express issue and Al Chu (FreeIPMI project leader) for all his invaluable help on IPMI.