Flash HP Mellanox MCX556A (HP 872726-B21)

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

polytoxic

New Member
Mar 26, 2021
6
0
1
Dear at all,

i bought some mellanox branded hp cards.
I need to install here the latest mellanox drivers .
Read in this forum that here are some specialists to solve this kind of problem with flashing.
I already tried to do that with mlxup.
i get follow response

./mlxup -online
Querying Mellanox devices firmware ...

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

Device Type: ConnectX5
Part Number: N/A
Description:
PSID: HPE0000000009
PCI Device Name: 0000:41:00.0
Base GUID: b88303ffff7c1e30
Base MAC: b883037c1e30
Versions: Current Available
FW 16.23.1020 N/A
PXE 3.5.0504 N/A
UEFI 14.16.0017 N/A

Status: No matching image found

_____________________________________

41:00.0 Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5]
Subsystem: Hewlett Packard Enterprise MT27800 Family [ConnectX-5]
41:00.1 Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5]
Subsystem: Hewlett Packard Enterprise MT27800 Family [ConnectX-5]

_____________________________________

then i have read that is important to falsh the the card to use the regulary firmware.
But i have absolutely no idea how to do that.
I found the mft tools from mellanox.
But what i must to do the correct flash?

I found on that website a oem matching table it says that
872726-B21 is MCX556A-ECAT


This means i must use this firmware if i am right?!

PSID: MT_0000000008

best regards
 
Last edited:

polytoxic

New Member
Mar 26, 2021
6
0
1
UPDATE:
I solved above things by myself.
But out of this i get new problems:eek:

I have flashed the device as explained in this post.
Run:
0) mst status
1) mlxfwmanager
2) flint -d mt4099_pci_cr0 -i fw.bin -allow_psid_change burn
After flashing i recieve this.
# dmesg |grep -e mlx
nothing

# lspci -v | grep Mellanox
41:00.0 Memory controller: Mellanox Technologies MT28800 Family [ConnectX-5 Flash Recovery]
Subsystem: Mellanox Technologies MT28800 Family [ConnectX-5 Flash Recovery]
Then i want to set with mlxconfig from infiniband to ETH.
The Feedback was
Setting in livefish mode not possible.
It seems to be, that with the above description the firmaware was written without signing or something like that.

Or i am wrong?

Someone can say me how i can leave the livefish mode of the card?
Or what i need to do to bring the card alive?

It is not physically jumpered on the card.
 
Last edited:

i386

Well-Known Member
Mar 18, 2016
4,220
1,540
113
34
Germany
I found on that website a oem matching table it says that
872726-B21 is MCX556A-ECAT
This depends on what mellanox oem reference guides you are looking: I have two pdfs from mellanox that say that this card is a custom sku...
Someone can say me how i can leave the livefish mode of the card?
Or what i need to do to bring the card alive?
Google points to this page, maybe this could help: https://docs.mellanox.com/display/MFTV4120/Booting HCA Device in Livefish Mode

Did you backup the original firmware?
 

polytoxic

New Member
Mar 26, 2021
6
0
1
Did you backup the original firmware?
This was my biggest fault.
I did not made it.
:eek:

already seen.
It is only when i want to enter in livefish mode if there is something wrong.
My problem is i came not out of livefish mode. There is no jumper plugged in.
It occurs after the flashing.


FORGOT TO SAY

As i seen that the flashing brings the livefish mode i used the HPE Firmware but to turn the card back it helps not.

Maybe someone an idea how i can build an custom firmware out of an identical running card?
I have here a second card with the same specs but this runs on HPE original Firmware and never tried to move orig Mellanox-FW.
This card runs without any troubles.
 
Last edited:

up3up4

Member
Jun 10, 2018
85
28
18
1 You could dump the firmware from the good hpe one
flint -d <device> ri orig_firmware.bin

2 Save basic info such as GUIDs, MACs from bad card
flint -d <device> query full > flint_query.txt

3 Then flash it into the bad one.
flint -d <device> -i <orig_firmware.bin> -ocr -ignore_dev_data - allow_psid_change -nofs burn

4 Set device manufacture GUIDs and MACs.
flint -d <device> -ocr -guid 0x<your guid> -mac 0x0000<your mac> smg

5 Set device GUIDs and MACs.
flint -d <device> -ocr -guid 0x<your guid> -mac 0x0000<your mac> sg

Above method can recovery the nic most functions but will lose nic's vpd data. Is there anyone tell us how to backup the vpd.bin?
 
Last edited:
  • Like
Reactions: Robert Townley

klui

Well-Known Member
Feb 3, 2019
824
453
63
Above method can recovery the nic most functions but will lose nic's vpd data. Is there anyone tell us how to backup the vpd.bin?
I've never done it before but the MFT User Manual implies the RO section needs to be passed as part of the FW build process.

Use mlxburn to retrieve the values and build a .bin file

mlxburn -d <device> -vpd_rw

Then use mlxburn to reference the RO file via -vpd_r_file <vpd_r_file> to create firmware.bin before using flint. Not sure where to get .mlx/.ini files though.

mlxburn -fw ...mlx -c ...ini -wrimage firmware.bin -base_guid 0x.... -vpd_r_file vpd.bin

My RO section looks like this:
Code:
C:\Users\Administrator>mlxburn -d mt4099_pciconf0 -vpd_rw

  VPD-KEYWORD    DESCRIPTION             VALUE
  -----------    -----------             -----
Read Only Section:

  PN             Part Number             MCX354A-FCBT
  EC             Revision                A4
  SN             Serial Number           MTxxxxxxxxxx
  V0             Misc Info               PCIe Gen3 x8
  RV             Checksum Complement     0xa9
  IDTAG          Board Id                CX354A - ConnectX-3 QSFP

Read Write Section:

V1 N/A N/A
YA N/A N/A
RW N/A
RW N/A
RW N/A
RW N/A
RW N/A
RW N/A
RW N/A
RW N/A
RW N/A
RW N/A
RW N/A
RW N/A
RW N/A
RW N/A
RW N/A
RW N/A
 

polytoxic

New Member
Mar 26, 2021
6
0
1
many thanks for reply.

VPD info of Connectx-3 with qsfp connector is stored in a 24c32 i2c eeprom which is located at the pcb backside, that would be backup and restore with a i2c or ch341a programmer very easily. But CX5 nic no more dedicated i2c eeprom. Like this https://forums.servethehome.com/ind...ltrascale-dpu-250-bestoffer.31993/post-296731
i think this is over my skills and i would destroy more than i have already.

But your explanation above fits more to my skills.

At the end i need only an card which allows to share data over crossover ethernet ETH instood of infiniband in a 3 node cluster.

Above method can recovery the nic most functions but will lose nic's vpd data
You think i will need for my usecase the vpd data on the nic?
 

up3up4

Member
Jun 10, 2018
85
28
18
The disadvantage of my find out is only one port show up in uefi and can’t save any changes of setting after exit uefi. The only way save your settings of firmware is in os by mlxconfig.
 

polytoxic

New Member
Mar 26, 2021
6
0
1
The disadvantage of my find out is only one port show up in uefi
You mean only find or also only use one port?

The only way save your settings of firmware is in os by mlxconfig.
with that i think i can live. I only need to change in the default that i must change from IB to ETH

Not sure where to get .mlx/.ini files though.
Someone knows if it is possible to extract out of the firmware.bin the containing .mlx and .ini files?
Maybe by binwalk?

Or only possible to get them from the hidden for subscribers mellanox webpage sites?
 
Last edited: