Flashing blank CX455A to something useful.

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

Camprr23

Member
Nov 20, 2019
46
21
8
Ebay purchased 100Gbit Mellanox cards, on one the flash is write-protected, so cannot flash that with any firmware, for now it is 'bricked' unless I can set the flash to write-enabled, but the latest version of flint will not allow that, so it gives me an error while flashing:
Code:
flint -d /dev/mst/mt521_pciconf0 -ocr hw set Flash0.WriteProtected=Disabled

-E- Unknown option "set" for the "Hw" command. you can use query.
Code:
-E- Burning FS3 image failed: Cannot burn device data sections, Flash is write protected.
On the card where I can burn the firmware, it stays in 'flash-recovery' in lspci:
Code:
02:00.0 Memory controller: Mellanox Technologies MT27700 Family [ConnectX-4 Flash Recovery]
Code:
root@bakkie:/etc/init.d# mst start
Starting MST (Mellanox Software Tools) driver set
Loading MST PCI module - Success
[warn] mst_pciconf is already loaded, skipping
Create devices
Unloading MST PCI module (unused) - Success
root@bakkie:/etc/init.d# flint -d /dev/mst/mt521_pciconf0 q full
Image type:            FS3
FW Version:            12.28.2006
FW Release Date:       15.9.2020
MIC Version:           2.0.0
PRS Name:              cx4_MCX455A_1p_x16_edr.prs
Part Number:           MCX455A-ECA_Ax
Description:           ConnectX-4 VPI adapter card; EDR IB (100Gb/s) and 100GbE; single-port QSFP28; PCIe3.0 x16; ROHS R6
Product Version:       rel-12_28_2006
Rom Info:              type=UEFI version=14.21.17 cpu=AMD64,AARCH64
                       type=PXE version=3.6.102 cpu=AMD64
Description:           UID                GuidsNumber
Base GUID:             e0071bffff790ee9        4
Orig Base GUID:        N/A                     4
Base MAC:              e0071b790ee9            4
Orig Base MAC:         N/A                     4
Image VSD:             N/A
Device VSD:            N/A
PSID:                  MT_2180110032
Security Attributes:   N/A
Default Update Method: fw_ctrl
Any ideas how I can:
1. Get the card with the write-protected flash to accept firmware?
and
2. Get the card with the flashed firmware to react 'normally', so not be in flash_recovery mode anymore?
 

Camprr23

Member
Nov 20, 2019
46
21
8
I figured out what is was with the flashed card (the card that allowed me to flash): Mellanox ConnectX 4 Lx Firmware recovery - forgot to power off->on !
As for the one where the flash is write-protected, there are no jumpers on the board, there is a header, but there are no pins soldered onto the board... It's simply labelled JP2 (there is also a JP1, but that looks to be for a fan, or something).
 

i386

Well-Known Member
Mar 18, 2016
4,251
1,548
113
34
Germany
Do you use the mellanox/nvidia binary or the opensource version of flint? Did you try the other version?

Can you take some pictures of the card and the pins/pads?
 

Camprr23

Member
Nov 20, 2019
46
21
8
I have tried both. And the Mellanox/NVIDIA documetation says it should work like that:
Code:
flint -d /dev/mst/mt521_pciconf0 -ocr hw set Flash0.WriteProtected=Disabled
Except, when I run that command:
Code:
root@bakkie:~# mst start
Starting MST (Mellanox Software Tools) driver set
Loading MST PCI module - Success
Loading MST PCI configuration module - Success
Create devices
Unloading MST PCI module (unused) - Success
root@bakkie:~# flint -d /dev/mst/mt521_pciconf0 -ocr hw set Flash0.WriteProtected=Disabled

-W- Firmware flash cache access is enabled. Running in this mode may cause the firmware to hang.
-E- Unknown option "set" for the "Hw" command. you can use query.
root@bakkie:~# flint -d /dev/mst/mt521_pciconf0 -ocr hw query

-W- Firmware flash cache access is enabled. Running in this mode may cause the firmware to hang.
HW Info:
  HwDevId                 521
  HwRevId                 0x0
Flash Info:
  Type                    W25QxxBV
  TotalSize               0x1000000
  Banks                   0x1
  SectorSize              0x1000
  WriteBlockSize          0x10
  CmdSet                  0x80
  QuadEn                  1
  Flash0.WriteProtected   Top,8-SubSectors
  JEDEC_ID                0x1840ef
1691761466844.png
 

Camprr23

Member
Nov 20, 2019
46
21
8
The only think that I can think of is that my 'flint' version is too new:

Code:
root@bakkie:~# flint -v
flint, mft 4.25.0-62, built on Aug  3 2023, 12:25:35. Git SHA Hash: c14a8d9
 

i386

Well-Known Member
Mar 18, 2016
4,251
1,548
113
34
Germany

Camprr23

Member
Nov 20, 2019
46
21
8
Or do you think booting in DFU mode (jumper set) would allow me to write the flash? That would be weird, right?
 

Camprr23

Member
Nov 20, 2019
46
21
8
Interestingly, fs.com sells a version of this card with slightly better labelling of the jumpers:
1691764850358.png
I can make uit what JP1 says, that's I2C, but JP2 I can't quite make out... FNP?
 

i386

Well-Known Member
Mar 18, 2016
4,251
1,548
113
34
Germany

Camprr23

Member
Nov 20, 2019
46
21
8
Nope..

Code:
flint -d  02:00.0 hw Flash0.WriteProtected=Disabled
-E- Unknown option "Flash0.WriteProtected=Disabled" for the "Hw" command. you can use query.

flint -v
flint, mft 4.14.0-105, built on Feb 27 2020, 13:48:33. Git SHA Hash: 52fcec8
Also, just flashing it, no go:
Code:
flint -d 02:00.0 --ignore_dev_data -i fw-ConnectX4-rel-12_28_2006-MCX455A-ECA_Ax-UEFI-14.21.17-FlexBoot-3.6.102.bin -nofs burn

    Current FW version on flash:  N/A
    New FW version:               12.28.2006

Burn process will not be failsafe. No checks will be performed.
ALL flash, including the device data sections will be overwritten.
If this process fails, computer may remain in an inoperable state.

 Do you want to continue ? (y/n) [n] : y
-E- Burning FS3 image failed: Cannot burn device data sections, Flash is write protected.
Though I am confused why it wants to flash the device_data_sections, as I have asked it not to do that (--ignore_dev_data).
 

Camprr23

Member
Nov 20, 2019
46
21
8
Thanks, I'll give that a try tomorrow and report. FNP=flash_not_present. Where was my little boot of common abbreviations?
 

upalachango

New Member
May 28, 2023
24
3
3
Thanks, I'll give that a try tomorrow and report. FNP=flash_not_present. Where was my little boot of common abbreviations?
Did this work out for you? Seems like just shorting the JP2/FNP would suffice as the cards don't seem to be never burned, just wiped from what they had before.
 

mach3.2

Active Member
Feb 7, 2022
133
87
28
Did this work out for you? Seems like just shorting the JP2/FNP would suffice as the cards don't seem to be never burned, just wiped from what they had before.
I figured that one out, albeit on an MCX4121A-XCAT. Even with J2/FNP shorted, you would still need to disable flash write protection, and the only way to do that is to use the OEM version of flint.

You do that on linux by including the "--oem" flag to the ./install.sh script.

Bash:
#./install.sh --oem

On esxi, it's installed with the regular MFT binaries and can be ran by calling "flint_oem" in the "/opt/mellanox/bin" directory.
 
  • Like
Reactions: upalachango