Firmware Flash X520

DavidRa

Infrastructure Architect
Aug 3, 2015
268
118
43
Central Coast of NSW
www.pdconsec.net
I'm trying to troubleshoot some substandard SMB3 performance, so I figured I should first ensure everything is updated to current versions - drivers, firmware etc.

Switches are done (Dell 8024F)
X520-DA2 drivers are sorted (Intel 20.4.1 driver set)

Can't flash the firmware. The cards came with something fairly old - but I'm not playing guess the version with it. Instead, I figured I'd install the latest - 20.4.1 - to match the drivers.

This is what it was originally:
Code:
C:\Install.Set\Intel20.4.1-Boot\APPS\BootUtil\Winx64>BOOTUTILW64E.EXE -nic=3 -iv

Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.5.72.1
Copyright (C) 2003-2015 Intel Corporation

Flash firmware on port 3
Setup          v2.3.81
iSCSI          v2.3.81
PXE            v2.1.50
UEFIx64        v1.9.05

Port Network Address Location Series  WOL Flash Firmware                Version
==== =============== ======== ======= === ============================= =======
  1   D050994734A2     6:00.0 Gigabit YES FLASH Not Present
  2   D050994734A0     0:25.0 Gigabit YES FLASH Not Present
  3   90E2BA195534     2:00.0 10GbE   N/A UEFI,PXE,iSCSI                -------
  4   90E2BA195535     2:00.1 10GbE   N/A UEFI,PXE,iSCSI                -------
  5   001B21A5304C     7:00.0 10GbE   N/A UEFI,PXE,iSCSI                -------
  6   001B21A5304D     7:00.1 10GbE   N/A UEFI,PXE,iSCSI                -------
I managed to get it to 17.3:
Code:
C:\Install.Set\Intel17.3-Boot\APPS\BootUtil\Winx64>BOOTUTILW64E.EXE -nic=3 -file=..\BootIMG.FLB -up=combo

Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.3.45.0
Copyright (C) 2003-2012 Intel Corporation

Programming flash on port 3 with flash firmware image
Create restore image of NIC 3 before proceeding? (Y)es or (N)o: Y

Saving flash firmware image on port 3 to file 10FB401B.FLB...
Filename 10FB401B.FLB already exists.
(O)verwrite/proceed or (S)top execution?: o
saved

Updating PXE+iSCSI+FCoE+EFI removes PXE+iSCSI+EFI functionality.
Would you like to continue? (Y)es or (N)o: Y

Flash update successful

Port Network Address Series  WOL Flash Firmware  Version
==== =============== ======= === ================================= =======
  1  D050994734A2  Gigabit YES LOM,PXE Enabled,iSCSI
  2  D050994734A0  Gigabit YES LOM,PXE
  3  90E2BA195534  10GbE  N/A UEFI,PXE,iSCSI,FCOE  -------
  4  90E2BA195535  10GbE  N/A UEFI,PXE,iSCSI,FCOE  -------
  5  001B21A5304C  10GbE  N/A UEFI,PXE,iSCSI  -------
  6  001B21A5304D  10GbE  N/A UEFI,PXE,iSCSI  -------
Can't get it to go any later, the flash space is smaller than the image, it seems:
Code:
C:\Install.Set\Intel20.4.1-Boot\APPS\BootUtil\Winx64>BOOTUTILW64E.EXE -nic=3 -up=combo -file=..\BootIMG.FLB

Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.5.72.1
Copyright (C) 2003-2015 Intel Corporation
ERROR: Flash too small for the image

Port Network Address Location Series  WOL Flash Firmware  Version
==== =============== ======== ======= === ============================= =======
  1  D050994734A2  6:00.0 Gigabit YES FLASH Not Present
  2  D050994734A0  0:25.0 Gigabit YES FLASH Not Present
  3  90E2BA195534  2:00.0 10GbE  N/A UEFI,PXE,iSCSI,FCOE  -------
  4  90E2BA195535  2:00.1 10GbE  N/A UEFI,PXE,iSCSI,FCOE  -------
  5  001B21A5304C  7:00.0 10GbE  N/A UEFI,PXE,iSCSI,FCOE  -------
  6  001B21A5304D  7:00.1 10GbE  N/A UEFI,PXE,iSCSI,FCOE  -------
It's the same whether I attempt to upgrade to 18.5, 19.5, or 20.4.1.

If I spec anything except combo for the -up (-upgrade) param, I get an error that it's the wrong type. If someone has suggestions on cutting down the flash image, uploading only PXE+UEFI; or can tell me what I'm doing wrong it'd be appreciated.
 

Terry Kennedy

Well-Known Member
Jun 25, 2015
1,060
500
113
New York City
www.glaver.org
If someone has suggestions on cutting down the flash image, uploading only PXE+UEFI; or can tell me what I'm doing wrong it'd be appreciated.
I'm not as sure about Intel cards as I am about Broadcom, but I think the Intel cards just have BIOS-type stuff on them and that's what the bootutil program updates.

Is this a retail X520, an OEM one, or one on a motherboard/riser card? The Intel utility might be getting confused by a differently-sized flash area (some OEM LSI SAS cards are "half-flashed" and the regular LSI tools won't work with them).
 

DavidRa

Infrastructure Architect
Aug 3, 2015
268
118
43
Central Coast of NSW
www.pdconsec.net
I'm not as sure about Intel cards as I am about Broadcom, but I think the Intel cards just have BIOS-type stuff on them and that's what the bootutil program updates.

Is this a retail X520, an OEM one, or one on a motherboard/riser card? The Intel utility might be getting confused by a differently-sized flash area (some OEM LSI SAS cards are "half-flashed" and the regular LSI tools won't work with them).
Hard to say, as they were purchased 2nd hand (at least the ones I'm working on at the moment). I believe they are original Intel - OEM or Retail cards. Others are Dell mezz cards in the C6100, so those will definitely be a different kettle of watch batteries.
 

dwright1542

Active Member
Dec 26, 2015
362
69
28
46
Hard to say, as they were purchased 2nd hand (at least the ones I'm working on at the moment). I believe they are original Intel - OEM or Retail cards. Others are Dell mezz cards in the C6100, so those will definitely be a different kettle of watch batteries.
Where did you get the packages? I'll give it a shot on my X520's as well.

<EDIT>

HMMMM. Mine say FIRMWARE disabled.

<EDIT>

OK, I enabled iSCSI with the up-iSCSI, and was able to update that firmware to 3.0.84
 
Last edited:

DavidRa

Infrastructure Architect
Aug 3, 2015
268
118
43
Central Coast of NSW
www.pdconsec.net
Where did you get the packages? I'll give it a shot on my X520's as well.

<EDIT>

HMMMM. Mine say FIRMWARE disabled.

<EDIT>

OK, I enabled iSCSI with the up-iSCSI, and was able to update that firmware to 3.0.84
I had tried to figure out what the appropriate "non-combo" update would be. I'll see if I can just upload iSCSI - PXE alone did not work, nor did "PXE+iSCSI". The instructions are ... not helpful.
 

Squuiid

New Member
Mar 29, 2016
3
0
1
43
The 17.0.12 firmware, released a few weeks ago will not take for some reason.
I've now been able to update to 16.5.20 which is what Dell recommend for VMware 6.0, and is what I'm using.
 
Last edited:

c6100

Member
Oct 22, 2013
163
1
18
USA
Are you running the c6100 with VMware? If so, how are you performing the firmware upgrade for the x520?
 

Stealthmatt

New Member
Jul 19, 2017
3
2
3
33
Just to let you know, I have checked all the new firmware and the latest firmware does not include any firmware for the X520-DA

The last firmware was 16.5.20 from the link Squuiid provided below. 17 and 18 are not applicable for the X520-DA cards.

Is there a way to update to the latest firmware Intel NIC Family Version 18.0.0 Firmware for I350, I354, X520, X540, and X550 adapters Driver Details | Dell US without putting the cards into a Dell server? I sold off my C6100 and am only using SM stuff at the moment
They might be DELL Intel X520 cards. I bought a couple off eBay recently and updated the firmware by using the following. I could not update them any other way.
Firmware:
Intel NIC Firmware Family Version 16.5.0 for X520, X540, and I350 Adapters Driver Details | Dell US
Driver:
Intel NIC drivers for Windows Server 2012, Windows 7 x64, and Windows 8.1 x64 Driver Details | Dell US
 

PnoT

Active Member
Mar 1, 2015
597
132
43
Texas
Just to let you know, I have checked all the new firmware and the latest firmware does not include any firmware for the X520-DA

The last firmware was 16.5.20 from the link Squuiid provided below. 17 and 18 are not applicable for the X520-DA cards.
I'm not sure I follow as the latest firmware states it's for the X520 but have yet to dump them into a Dell server and apply the update to see if it works
 

Stealthmatt

New Member
Jul 19, 2017
3
2
3
33
I'm not sure I follow as the latest firmware states it's for the X520 but have yet to dump them into a Dell server and apply the update to see if it works
Ah yes, sorry they are for some types of x520 cards i.e 10gb-T (ethernet)

but there is no new firmware for the X520-DA2 (which is the common x520 sfp+ dell intel card people are buying.

This is what the latest firmware updates in version 18.0.16

Intel(R) Ethernet X520 10GbE Dual Port KX4-KR Mezz
Intel(R) Ethernet 10G X520 LOM
Intel(R) Ethernet 10G 2P X520-k bNDC
Intel(R) Ethernet 10G 2P X520 Adapter
Intel(R) Ethernet 10G 4P X520/I350 rNDC

You can see this in the release notes: https://downloads.dell.com/FOLDER04285794M/1/fw_release.txt and compare from the 16.5.0 version. here: https://downloads.dell.com/FOLDER02861251M/1/fw_release.txt

16.5.0 is the last firmware to include

Intel(R) Ethernet Server Adapter X520-T2
Intel(R) Ethernet Server Adapter X520-2
also known as DA2

I ran the intel firmware tool over my cards that have 16.5.0 firmware and it shows no new firmware from either the 17 series firmware or 18 series firmware.

Let me know what you find in the dell tool. I also noted that the compatible cards it said would update on the dell tool does now show firmware for the DA2 either.
 
  • Like
Reactions: T_Minus

PnoT

Active Member
Mar 1, 2015
597
132
43
Texas
Thanks @Stealthmatt for the clarification and unfortunately I still don't have access to a Dell server that I can pop a few cards in to update. I was hoping there was another way to apply the firmware :(
 

Terry Kennedy

Well-Known Member
Jun 25, 2015
1,060
500
113
New York City
www.glaver.org
I still don't have access to a Dell server that I can pop a few cards in to update. I was hoping there was another way to apply the firmware :(
Most of the Linux versions of the DUPs (Dell Update Packages) will unpack just fine under a generic 32-bit Linux. Just do:
Code:
cd /repository (or wherever your DUP is located)
./dupname --extract /somedirectory
That should unpack the DUP into the component files in /somedirectory. Different DUPs have varying levels of customization for Dell. Normally there is a spsetup.sh that runs steps for inventory collection, compares it with data in some XML file(s), then invokes the actual update program. The actual update program may be a generic manufacturer utility or something unique to Dell. Normally you'll get a "This update is not applicable to your system" when run on a non-Dell system. In that case you need to bypass some of the checks in spsetup.sh. There is usually a --force argument (sometimes takes a second argument) to override some of the checks. A common thing is checking for the Dell PCI vendor ID - this can be in both XML files and Linux shell scripts. If you get a different error, like "not found", your Linux is too different from what Dell expects a Linux system to have, you can download the Dell CDU ISO from ftp://ftp.dell.com/secure/FOLDER01087307M/1/cdu_2.2_core_702.iso (sorry, forum software doesn't know what to do with FTP hotlinks). If you boot it, you should be able to press F3 and select "Linux command line interface" at boot time (it will takes its time booting, don't panic). That should work even on non-Dell systems and get you the exact Linux environment Dell uses to install DUPs.

Note: This assumes you are trying to install a DUP for something that actually makes sense in a non-Dell system. Trying to update BIOS, iDRAC, or a Lifecycle Controller in a non-Dell system... Well, that's not going to work.
 
  • Like
Reactions: PnoT

Stealthmatt

New Member
Jul 19, 2017
3
2
3
33
Thanks @Stealthmatt for the clarification and unfortunately I still don't have access to a Dell server that I can pop a few cards in to update. I was hoping there was another way to apply the firmware :(
What is your card model?

There is a way in windows or even linux using the intel tool extracted from the dell package. All the files are in the directory.

I have Windows 2012 R2 - This is what I did in command prompt from the extracted dell files on windows:

1) Show me that the card is there and what firmware it has:

nvmupdatew64e –i –l –o inventory.xml

You can now view inventory.xml in the folder to see more info if you wish.

2) Update the card against the firmware contained in the dell extracted package.

nvmupdatew64e –u –l –o update.xml –b –c nvmupdate.cfg

It will either apply the firmware, or say no firmware was found. Which in my case was the latter, then I started digging more about the supported cards and mine isn't on the list like I said.

Here is more info about the commands:


Updating Your NVM Using Interactive Mode
========================================
1. Extract the update package into a temporary folder.
2. Start the nvmupdate utility by running the executable. For example, on an
x64 Microsoft* Windows* system, type:

nvmupdatew64e

On an x64 Linux* system, type:

nvmupdate64e

3. Follow the prompts to update the NVM image on the desired device.


Using a Script
==============
You can use a script to perform an inventory of all the Intel Ethernet devices
in the system or update the Intel Ethernet devices in the system.
Update script example:

linux: nvmupdate64e –u –l –o update.xml –b –c nvmupdate.cfg
windows 64bit: nvmupdatew64e –u –l –o update.xml –b –c nvmupdate.cfg

This causes NVMUpdate to check the installed Intel Ethernet devices against
those contained in nvmupdate.cfg. If a device contains an NVM version older than
that specified in the config file, the utility will update the device's NVM. It
will create an xml file containing the results of the update. Note that –b is
optional. Specifying –b will create a backup of the current NVM image(s). This
may add about 30% to the tools execution time.
Inventory script example:

linux: nvmupdate64e –i –l –o inventory.xml
windows 64bit: nvmupdatew64e –i –l –o inventory.xml

This causes NVMUpdate to perform an inventory of all the Intel Ethernet devices
in the system and creates an output file (called inventory.xml) of the results
of the inventory.


Results
=======
NVMUpdate will return an exit code of zero if the update completed successfully.
 
Last edited:
  • Like
Reactions: PnoT

PnoT

Active Member
Mar 1, 2015
597
132
43
Texas
Wow, thanks for all the information guys and I'll give this a shot this weekend and report back!
 

user469

New Member
Sep 2, 2017
3
0
1
60
Thank you all , i had a Dell x520-2 could not flash it before i' ve read the post :)
There are two types of x520-2 card , old version with small flash , new version with bigger flash.

Mine is the old version call it 11G , so must use Dell 16.5 fw , because rom image boot11g.flb is 500kb

DEVICENAME: Intel(R) Ethernet Server Adapter X520-2
VENDOR: 8086
DEVICE: 10FB
SUBVENDOR: 8086
SUBDEVICE: 7A11
PXE: 2.3.34
EFI: 2.4.02
ISCSI: 3.0.44
SMCLP: 3.0.30
FCOE: 1.8.22
ROM IMAGE: Boot11G.FLB
EEP IMAGE: g18786.eep
EEPID: 0001546d
RESET TYPE: REBOOT
EEPROM MAP: minivpd.txt

This is the newer version 2 , can use rom image bootimg.flb wich size is 7000kb

DEVICENAME: Intel(R) Ethernet Server Adapter X520-2
VENDOR: 8086
DEVICE: 154D
SUBVENDOR: 8086
SUBDEVICE: 7B11
PXE: 2.3.34
EFI: 4.6.11
ISCSI: 3.0.44
SMCLP: 3.0.30
FCOE: 1.8.22
ROM IMAGE: BootIMG.FLB
EEP IMAGE: g28774.eep
EEPID: 800007f5
RESET TYPE: HICR
EEPROM MAP: vpd.txt
 

BullCreek

New Member
Jan 5, 2016
14
5
3
51
I was upgrading our hypervisors from esxi 6.5 to 6.7U3 today and before I did the remediation upgrade, I ran life cycle controller to update the BIOS and other drivers to pick up the CPU microcode updates to address all or most of the CVEs that have come up over the last couple years since we upgraded. It appears that while many of the hypervisors went off without a hitch, in one R630 I upgraded, the LCC update bricked my X520-DA2 - i can see in the LCC log that it says it updated from version 15.5 to version 19 but now the NIC has no lights on it. I pulled the card out, and put it in a Windows box, same behavior - it shows up in device manager, but no lights and no link.

I tried downloading the 16.5 firmware version linked above from dell, but when I run the installer, it says "Inventory collection failed" which maybe makes me believe that the cards aren't the "dell" variety - but if they aren't, why the hell did LCC upgrade it in the first place?

Anyone have helpful advice for how to proceed about unbricking it and downgrading it to something that works?
 

BullCreek

New Member
Jan 5, 2016
14
5
3
51
I was upgrading our hypervisors from esxi 6.5 to 6.7U3 today and before I did the remediation upgrade, I ran life cycle controller to update the BIOS and other drivers to pick up the CPU microcode updates to address all or most of the CVEs that have come up over the last couple years since we upgraded. It appears that while many of the hypervisors went off without a hitch, in one R630 I upgraded, the LCC update bricked my X520-DA2 - i can see in the LCC log that it says it updated from version 15.5 to version 19 but now the NIC has no lights on it. I pulled the card out, and put it in a Windows box, same behavior - it shows up in device manager, but no lights and no link.

I tried downloading the 16.5 firmware version linked above from dell, but when I run the installer, it says "Inventory collection failed" which maybe makes me believe that the cards aren't the "dell" variety - but if they aren't, why the hell did LCC upgrade it in the first place?

Anyone have helpful advice for how to proceed about unbricking it and downgrading it to something that works?