In my homelab I am currently running HPE DL360 Gen8 servers fitted with Dell branded Broadcom BCM57402 10GbE network adaptors. As they are Dell badged, firmware updates are not supported via the iLO or Intelligent Provisioning interfaces available on the DL360s, so how do we go about updating the firmware on these cards?
First things first, you’re going to need a Linux Live boot image of some kind. I like CentOS so I grabbed a live ISO from one of their mirrors, but the below could be adapted for any Linux varient you’re most comfortable with. This could be on a USB flash drive, SD card, or even a CD/DVD (is that still a thing!?). I used an ISO attached to my host directly via the iLO Remote Media function however.
My hosts all run ESXi, so I put one host in to maintenance and rebooted from my Linux Live medium. Once you’re booted, get yourself a CLI open and let’s get to work.
First up you need to download the firmware package from Dell. This is easiest if your Linux Live has a GUI, so open a browser and search Google for “Dell BCM57402 firmware 20.08” – this version is the newest firmware I’ve found to work with these cards and ESXi. Newer versions I found caused VLAN tags to be stripped from packets which caused no end of fun in vSphere!
Download the *.BIN file from Dell, then you need a copy of the Linux ‘bnxtnvm’ utility. This is distributed by Broadcom as part of their “NetXtreme-E Standalone FW Update Utility” which I grabbed from here
WARNING: These instructions are not complete but contain enough info to work out the rest of the process. Unfortunately I no longer have the equipment to validate the required steps. Proceed at your own risk!
then in your CLI do the following:
# chmod +x <fw>.BIN
# ./<fw>.BIN --extract dellcd
# yum install -y lftp
- Boot from CentOS live CD
- Google for “Dell BCM57402 firmware 20.08”
- Download .BIN file
- chmod +x fw.BIN (from above)
- ./fw.BIN –extract dellcd
- sudo su –
- yum install lftp -y
- lftp ftp://126.96.36.199
- cd LAN/SU7-2212P/BCMCD_v188.8.131.52
- mirror bnxtnvm
- exit (lftp)
- cd bnxtnvm/Linux
- chmod +x bnxtnvm
- ./bnxtnvm view
- Should show current device and firmware level
- ./bnxtnvm install /payload/M-57402-SFPPlus.pkg
- ./bnxtnvm view
- Should show new firmware level (184.108.40.206)