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.
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).
Then, type idract.bat to start the batch script we added inside the disk image:
Broadcom tools will run for a couple of seconds and output something like this:
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”:
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!
Interesting, thanks for the feedback 🙂
This worked perfectly on my R410, thanks! (you can use gparted to format the USB drive as FAT32)
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 !