Fixing non-working iDrac on PowerEdge server (R610)

It seems Dell released a couple of servers with a broken embedded iDirac.
Actually the issue comes from the on-board Broadcom ethernet chip which is not configured correctly: http://permalink.gmane.org/gmane.linux.hardware.dell.poweredge/42033

Spot the issue

Here is how to confirm your issue is related to this bug and not something else. Boot the server and press CTRL+E to get into the iDrac BIOS. Select the network submenu and check the Active LOM entry. LOM stands for LAN On Motherboard.

If it says No Active LOM even if you selected Shared above, it means the iDrac is unable to bind on any on-board LAN, this means you are having this issue.

01_broken_lom

Then, we’ll create a DOS-based floppy disk image containing some Broadcom firmware related tools that will reconfigure the embedded network controller so it can be use for the iDrac board.

Create a PXE bootable disk image with Broadcom utilities

Download Bcom_LAN_14.2.x_DOSUtilities_A03.exe from http://www.dell.com/support/home/us/en/19/Drivers/DriversDetails?driverId=29DKK and get a terminal in the download directory.

We will now dowload a FreeDOS disk image (that can be PXE booted) and we’ll add the required tools in the image.


wget http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdboot.img
mkdir mount
sudo mount -t vfat -o loop fdboot.img mount/

unzip Bcom_LAN_14.2.x_DOSUtilities_A03.exe
sudo cp ./Userdiag/NetXtremeII/uxdiag.exe mount/

sudo sh -c 'echo uxdiag -t abcd -mfw 1 > mount/idrac.bat'

sudo umount mount

mv fdboot.img fdboot-fix-poweredge-idrac.img

Now we have a FreeDOS containing Broadcom uxdiag tool as well as a idrac.bat script that will start the required command.

Copy the img file to your PXE server and set the following to start it with PXELinux (pxelinux.cfg/default):

LABEL fix-idrac
KERNEL memdisk
APPEND initrd=fdboot-fix-poweredge-idrac.img

If you don’t have memdisk binary it can be found in package syslinux-common.

Then you can restart your server and trigger a PXE boot. Once FreeDOS starts, select the Safe Mode entry (I had some issue of memory being full when using another entry).

02_freedos_booting

Then, type idract.bat to start the batch script we added inside the disk image:

03_run_script

Broadcom tools will run for a couple of seconds and output something like this:

04_uxdiag_processing

Restart the server and hit CTRL+E to get inside the iDrac again; it’s now binding on LOM1 aka the ethernet port with label “1”:

05_fixed_lom

4 thoughts on “Fixing non-working iDrac on PowerEdge server (R610)

  1. Hello Le Vert.

    We had a similar issue on a R410 Poweredge server. Thanks to your description we were able to fix the issue.
    The creation of the USB bootable freedos was an issue however. Also partly because we were dealing with forgotten technology. Find below the altered simplified procedure.

    1. apt-get install makebootfat syslinux
    2. mkdir fixme
    3. cd fixme
    4. wget https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/pkgs/commandx.zip
    5. wget https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/pkgs/kernels.zip
    6. wget https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/pkgs/substx.zip
    7. wget https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/pkgs/unstablx.zip
    8. for ZIP in *.zip; do unzip $ZIP; done
    9. cp ./source/ukernel/boot/fat16.bin .
    10. cp ./source/ukernel/boot/fat12.bin .
    11. cp ./source/ukernel/boot/fat32lba.bin .
    12. cp /usr/lib/SYSLINUX/mbr.bin .
    13. mkdir /fixme/fsroot
    14. cp ./bin/command.com /fixme/fsroot/
    15. cp ./bin/kernel.sys /fixme/fsroot/
    16. wget https://downloads.dell.com/FOLDER33083M/1/Bcom_LAN_14.2.x_DOSUtilities_A03.exe
    17. unzip Bcom_LAN_14.2.x_DOSUtilities_A03.exe
    18. cp ./Userdiag/NetXtremeII/uxdiag.exe /fixme/fsroot/
    19. sh -c ‘echo uxdiag -t abcd -mfw 1 > /fixme/fsroot/idrac.bat’
    20. format a usb stick fat3
    21. /usr/bin/makebootfat -o /dev/sd? -E 255 -1 fat12.bin -2 fat16.bin -3 fat32lba.bin -m mbr.bin /fixme/fsroot <=== note sd? is the mounted usb

    Boot from the usb and execute IDRAC.BAT

    done!

  2. Hello,

    Puurfect on my r610. I have windows so, I use rufus to do the FreeDOS.
    I just copy-past the folder and execute uxdiag.exe.

    Thx a lot !

Leave a Reply

Your email address will not be published. Required fields are marked *