Crossflash HPE 640sfp28 to MCX4121A-ACAT

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

vangoose

Active Member
May 21, 2019
326
104
43
Canada
Followed all the instructions to flash OEM cx3 to MCX firmware https://forums.servethehome.com/ind...lanox-connectx-3-en-with-stock-firmware.8689/

HPE 640sfp28 = MCX4121A-ACAT
Procedures to flash CX4 is exactly same, compare PSID -
HPE - HP_2420110034
MCX - MT_2420110034

1. download and install WinMFT_x64_4_14_2_17.exe
2. download firmware fw-ConnectX4Lx-rel-14_27_1016-MCX4121A-ACA_Ax-UEFI-14.20.19-FlexBoot-3.5.901.bin.zip
3. cd to firmware download directory
4. flint -d mt4117_pciconf0 -i fw-ConnectX4Lx-rel-14_27_1016-MCX4121A-ACA_Ax-UEFI-14.20.19-FlexBoot-3.5.901.bin -allow_psid_change burn
5. I flashed it in Windows VM with pci-passthrough, so reboot ESXi is needed.


Before
Code:
mlxfwmanager.exe
Querying Mellanox devices firmware ...

Device #1:
----------

  Device Type:      ConnectX4LX
  Part Number:      817753-B21_Ax
  Description:      HPE Ethernet 10/25Gb 2-port 640SFP28 Adapter
  PSID:             HP_2420110034
  PCI Device Name:  mt4117_pciconf0
  Base MAC:         9cdc714c2250
  Versions:         Current        Available
     FW             14.26.1040     N/A
     PXE            3.5.0803       N/A
     UEFI           14.19.0014     N/A

  Status:           No matching image found

After
Code:
mlxfwmanager.exe
Querying Mellanox devices firmware ...

Device #1:
----------

  Device Type:      ConnectX4LX
  Part Number:      MCX4121A-ACA_Ax
  Description:      ConnectX-4 Lx EN network interface card; 25GbE dual-port SFP28; PCIe3.0 x8; ROHS R6
  PSID:             MT_2420110034
  PCI Device Name:  mt4117_pciconf0
  Base MAC:         9cdc714c2250
  Versions:         Current        Available
     FW             14.27.1016     N/A
     PXE            3.5.0901       N/A
     UEFI           14.20.0019     N/A

  Status:           No matching image found
 
Last edited:
  • Like
Reactions: Exhaust8890

vangoose

Active Member
May 21, 2019
326
104
43
Canada
After crossflash, all features are available, sr-iov is working properly on ESXi 6.7U3 and I can assign VF to FreeNAS and it sees it after loader hw.pci.honor_msi_blacklist = 0.
 
  • Like
Reactions: Exhaust8890

MountainBofh

Member
Mar 9, 2024
78
72
18
Granted this is an older thread, but it worked great for me. I'm providing some slightly more noob friendly instructions

1. Grab the newest MFT tools here for whatever platform you're running on. I used my Windows test machine to perform this, but I don't see why Linux wouldn't work either. NVIDIA Firmware Tools (MFT)

2. After installing the tools, run the mlxfwmanager tool (in Windows its located in c:\program files\mellanox\winmft, in Linux look in /usr/bin ). Make a note (or screenshot ) of the info it spits out, the PSID in particular. On one of my HP cards prior to cross flashing, here's what I got

Querying Mellanox devices firmware ...

Device #1:
----------

Device Type: ConnectX4LX
Part Number: 817753-B21_Ax
Description: HPE Ethernet 10/25Gb 2-port 640SFP28 Adapter
PSID: HP_2420110034
PCI Device Name: /dev/mst/mt4117_pciconf0
Base MAC: 9440c9c2f478
Versions: Current Available
FW 14.24.9000 N/A
PXE 3.5.0603 N/A
UEFI 14.17.0013 N/A

Status: No matching image found



3. Go to Nvidia's site, and grab the newest firmware. Link is Firmware for ConnectX®-4 Lx EN . For my cards, the OPN was MCX4121A-ACAT. Download the zip file, and extract the firmware to wherever you have the mlxfwmanager tool.

4. Run the following command. If there's a newer firmware out, change the filename accordingly. For Windows, I ran the following.
flint -d mt4117_pciconf0 -i fw-ConnectX4Lx-rel-14_32_1010-MCX4121A-ACA_Ax-UEFI-14.25.17-FlexBoot-3.6.502.bin -allow_psid_change burn

linux note - for the above command, you'll need to run lspci to get the device address. On my linux box, I ran the following command.
flint -d 01:00.0 -i fw-ConnectX4Lx-rel-14_32_1010-MCX4121A-ACA_Ax-UEFI-14.25.17-FlexBoot-3.6.502.bin -allow_psid_change burn

You'll get a prompt asking for confirmation, and output like this.

Done.ng flash section: 100%←[2K
Current FW version on flash: 14.24.9000
New FW version: 14.32.1010


You are about to replace current PSID on flash - "HP_2420110034" with a different PSID - "MT_2420110034".
Note: It is highly recommended not to change the PSID.

Do you want to continue ? (y/n) [n] : y
Burning FW image without signatures - OK
Restoring signature - OK
-I- To load new FW run mlxfwreset or reboot machine.


I rebooted my Windows test machine, and in device manager the card went from an "HP 10/25gb ethernet" to a Mellanox card, so victory! If you're running on Windows, I'd strongly recommend grabbing the newest drivers from Nvidia and use those instead of the ancient crap drivers built into Windows. You can find them here. Mellanox OFED for Windows - WinOF / WinOF-2
 
Last edited: