Downgrade firmware on an Dell ESXi host

An issue has come up on one of my Dell PowerEdge R610 ESXi hosts that I wanted to attempt a downgrade of the firmware on my Broadcom BCM5709 network adapters for troubleshooting, but was not finding any easy way between the Server Update Utlities, OpenManage Essentials, etc.

This didn’t fix my issue, but it was a PITA to figure out the best/fastes/easiest way to get this done, that I thought it worthwile to share.

My first thought was to attempt to use the Firmware Upgrade wizard built into the Dell Management Plug-in for VMware vCenter because it offers an option to select an update executable from a CIFS share, but that, unfortunately, just threw me an error even though I was using a valid DUP file.

Failed sending update file: (NETW_FRMW_WIN_R299290.EXE) to iDRAC – Details: The update package (NETW_FRMW_WIN_R299290.EXE) is not supported via 1×1 update feature. Use the repository method to update this device. This error can also be seen if package is not named according to Dell naming standards.

So I decided to build my own repository and point the Plug-in to that, and here’s that process:

1. Install the Dell Repository Manager. Make sure you update it to get the latest ftp catalog

2. Find the bundles for your server build(s) under the ‘Supported Platforms” section

Image1

3. Select the bundles you wish to include in your custom repository and click the save icon in the upper right

Image2

4. Save the repository locally (preferrably to some CIFS share that the vCenter Management Plug-in has access to), and choose to save the catalog only and the base location to ftp.dell.com as to not have to download the actual bundles locally. This presumes that your Dell Management appliance has direct internet access.

Image3

5. In the vCenter Client, go to Home -> Management -> Dell Management Center -> Settings -> Firmware Repository -> Edit and change the Update Repository from “Dell Online (ftp.dell.com)” to “Shared Network Folder”

6. Enter the full path to the xml file you created in step 4 with credentials that have at least read access to the CIFS share (I have better luck with CIFS than NFS in this part) and click Apply

7. Now go to your host inventory, to the Dell Server Management tab, select Firmware and hit the ‘Run Firmware Update Wizard’ link.

8. Choose the “Update from repository” option (it should have your new repository xml UNC location) and hit next (It may stay at the ‘Loading applicable bundles…” box for a bit if you have multiple bundles selected in your repository as I do in this example)

Image4Image5Image6

9. You should now have a drop down box with your custom bundles that reflect your chosen bundles in step 3 above. In my example, PER610 v410 is the current bundle and PER610 v400 is the previous bundle with the previous set of drivers, BIOS, firmware, etc. Choose your bundle and proceed as you normally would with the update wizard to downgrade your needed drivers, firmware, etc.

Image6
Image7