Looking for a Connectx-3 custom firmware package

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

Okaybee

New Member
Jan 3, 2023
1
0
1
I just flashed using Stephan file and still can't get the card to show up outside LIVEFISH mode.

The card now has To be UEFI Rom too
 

gb00s

Well-Known Member
Jul 25, 2018
1,253
667
113
Poland
@i386 ... As I'm not allowed to send you any PM, can you provide the Linux firmware somehow via direct download as Lenovo seems to have implemented a 'Serialnumber' wall and I dont have one. Thank you in advance.
 

BeTeP

Well-Known Member
Mar 23, 2019
661
440
63
Code:
# start with an empty folder 
git clone https://github.com/BeTeP-STH/mft-scripts

# extract config from your card. I am going to use generic MCX354A-FCBT firmware
curl -s https://content.mellanox.com/firmware/fw-ConnectX3-rel-2_42_5000-MCX354A-FCB_A2-A5-FlexBoot-3.4.752.bin.zip | funzip > MT_1090120019.bin
mstflint -i MT_1090120019.bin dc MT_1090120019.ini

# get 2.42.5032 firmware from Lenovo and replace its config with the one extracted in the previous step
curl -sr34251713- https://download.lenovo.com/servers/mig/2018/07/12/18978/mlnx-lnvgy_fw_nic_4.3-1.0.1.0.3_linux_x86-64.bin -o mlxup.zip
unzip -qoj mlxup.zip image/mlxup
unzip -qoj mlxup Mellanox_Firmware_20180426.mfa
./mft-scripts/mfa_extract.py Mellanox_Firmware_20180426.mfa IBM1090111019


cp IBM1090111019.bin MCX354A-FCBT_2.42.5032.bin
./mft-scripts/fs2_update_ini.py MCX354A-FCBT_2.42.5032.bin MT_1090120019.ini
mstflint -i MCX354A-FCBT_2.42.5032.bin q full
 

BeTeP

Well-Known Member
Mar 23, 2019
661
440
63
Lenovo seems to have implemented a 'Serialnumber' wall and I dont have one
Last time I checked the serial number request was just a javascript pop-up. Don't click on the link. Do right-click and open the link in new tab instead.
 
  • Like
Reactions: gb00s

frivas

New Member
Jun 1, 2023
2
0
1
Leaving this here for posterity for people who got an Oracle 7046442 rev A3/A4. Flashing to Lenovo 2.42.5032 code base worked for me. Very last version to ever come out for ConnectX3 I guess. See commands below (I used Windows and a .cmd wrapper for the Python script) on how to build the firmware. Oracle had no boot ROM but I saved firmware 2.35.6312 and 2.35.6308 from the cards if anyone needs it.

For giggles I ported Mellanox Firmware Tools 4.18.0 ("MFT") to ArchLinux, including the necessary drivers which are now automatically compiled through DKMS for the kernel currently installed. So you can do "mst start" "mst status" "mget_temp -d /dev/mst/mt4099_pci_cr0" etc. and things will just work. I backuped and flashed four cards using this package. PM me if you want any of this.

Code:
  Device Type:      ConnectX3
  Part Number:      7046442_7092757_Ax
  Description:      Oracle Dual port; ConnectX-3 ; Infiniband Adapter FDR/QDR
  PSID:             ORC1090120019
  PCI Device Name:  /dev/mst/mt4099_pci_cr0
  Port1 GUID:       XXXXXXXXXXXXXXXX
  Port2 GUID:       XXXXXXXXXXXXXXXX
  Versions:         Current        Available
     FW             2.35.6308      N/A
Code:
  Device Type:      ConnectX3
  Part Number:      MCX354A-FCB_A2-A5
  Description:      ConnectX-3 VPI adapter card; dual-port QSFP; FDR IB (56Gb/s) and 40GigE; PCIe3.0 x8 8GT/s; RoHS R6
  PSID:             MT_1090120019
  PCI Device Name:  /dev/mst/mt4099_pci_cr0
  Port1 GUID:       XXXXXXXXXXXXXXXX
  Port2 GUID:       XXXXXXXXXXXXXXXX
  Versions:         Current        Available
     FW             2.42.5032      N/A
     PXE            3.4.0754       N/A
     UEFI           14.11.0047     N/A
Code:
# Extract config from Mellanox firmware
WinMFT\flint.exe -i fw-ConnectX3-rel-2_42_5000-MCX354A-FCB_A2-A5-FlexBoot-3.4.752.bin dc fw-ConnectX3-rel-2_42_5000-MCX354A-FCB_A2-A5-FlexBoot-3.4.752.cfg

# Update IBM firmware with Mellanox config
fs2_update_ini.cmd CX3-2_42_5032.bin fw-ConnectX3-rel-2_42_5000-MCX354A-FCB_A2-A5-FlexBoot-3.4.752.cfg

# Query and verify image
WinMFT\flint.exe -i CX3-2_42_5032.bin q full
WinMFT\flint.exe -i CX3-2_42_5032.bin verify

# Burn firmware to an image
mlxburn -fw fw-ConnectX3-rel.mlx -conf MCX312A-XCB_A2-A6.ini -wrimage mlnx_firmware.bin

# Checks
flint -i mlnx_firmware.bin verify
flint -i mlnx_firmware.bin query full

Hi Stephan!!
I've got 4 servers with this cards:

/opt/mellanox/bin/mlxfwmanager --query
Querying Mellanox devices firmware ...

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

Device Type: ConnectX3
Part Number: 7046442_Ax
Description: Oracle Dual port; ConnectX-3 ; Infiniband Adapter FDR/QDR
PSID: ORC1090120019
PCI Device Name: mt4099_pci_cr0
Port1 MAC: 0010e04ba811
Port2 MAC: 0010e04ba812
Versions: Current Available
FW 2.11.1282 N/A

Status: No matching image found


Do you think that I could upgrade them with your .BIN?
can you help me with the files???

thanks!
Francisco.
 

gabriel_diaz2k

New Member
Sep 24, 2023
1
0
1
Hola esteban, mi soy Gabriel desde Argentina he estado leyendo algunos de tus post y te quería consultar si me podes ayudar con unas placas de red infiniband que no logro que establezcan link con unos cables AOC de 2 metros marca 10GTEK preparados para mellanox, tengo 11 placas de estas las cuales 4 tengo conectadas a un switch is5030 con cables marca mellanox con link perfecto, pero cuando cambio por el cable 10gtek el link no levanta por lo que supongo que es incompatibilidad con el cable 10gtek, he probado estos cables entre dos swicht is5030 y el link se establece a 40gbit.



Sabes si es posible cambiar algo en el firmware o la rom para que las placas de red acepten estos cables.






Hello Esteban, my name is Gabriel from Argentina, I have been reading some of your posts and I wanted to ask you if you could help me with some infiniband network cards that I cannot establish a link with some 2 meter AOC cables brand 10GTEK prepared for mellanox, I have 11 boards of which I have 4 connected to an is5030 switch with Mellanox brand cables with a perfect link, but when I change to the 10gtek cable the link does not work so I assume it is incompatibility with the 10gtek cable, I have tested these cables between two switches is5030 and the link is established at 40gbit. Do you know if it is possible to change something in the firmware or rom so that the network cards accept this cables.
 
Apr 21, 2016
56
25
18
44
@
Hola esteban, mi soy Gabriel desde Argentina he estado leyendo algunos de tus post y te quería consultar si me podes ayudar con unas placas de red infiniband que no logro que establezcan link con unos cables AOC de 2 metros marca 10GTEK preparados para mellanox, tengo 11 placas de estas las cuales 4 tengo conectadas a un switch is5030 con cables marca mellanox con link perfecto, pero cuando cambio por el cable 10gtek el link no levanta por lo que supongo que es incompatibilidad con el cable 10gtek, he probado estos cables entre dos swicht is5030 y el link se establece a 40gbit.



Sabes si es posible cambiar algo en el firmware o la rom para que las placas de red acepten estos cables.






Hello Esteban, my name is Gabriel from Argentina, I have been reading some of your posts and I wanted to ask you if you could help me with some infiniband network cards that I cannot establish a link with some 2 meter AOC cables brand 10GTEK prepared for mellanox, I have 11 boards of which I have 4 connected to an is5030 switch with Mellanox brand cables with a perfect link, but when I change to the 10gtek cable the link does not work so I assume it is incompatibility with the 10gtek cable, I have tested these cables between two switches is5030 and the link is established at 40gbit. Do you know if it is possible to change something in the firmware or rom so that the network cards accept this cables.
Hi Gabriel,
Do you have opensm (or another SM running ?) If I understand correctly, you need infiniband connections between is5030 and CX3 cards using QSFP+ dacs (good for 40g IB or ethernet).
you could mod the ini to one for infiniband or VPI ports. Maibe try to pass the right parameters to the mlx4_ib.
Make sure you check all the above, then you could try different firmware versions - as there are small variations for parameters between vendors.
Test your cards and when you find one that works well in your setup, you can also apply the desired config (ini file). The guides on the forum are quite comprehensive. Just be careful if you play with the IS5030 firmware, as that is a bit more difficult to recover.
 

kevindd992002

Member
Oct 4, 2021
122
6
18
Code:
Querying Mellanox devices firmware ...

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

  Device Type:      ConnectX3
  Part Number:      MCX354A-FCB_A2-A5
  Description:      ConnectX-3 VPI adapter card; dual-port QSFP; FDR IB (56Gb/s) and 40GigE; PCIe3.0 x8 8GT/s; RoHS R6
  PSID:             IBM1090111019
  PCI Device Name:  mt4099_pci_cr0
  Port1 GUID:       24be05ffff9b9ee1
  Port2 GUID:       24be05ffff9b9ee2
  Versions:         Current        Available    
     FW             2.40.5030      2.42.5032    
     FW (Running)   2.42.5000      N/A          
     PXE            3.4.0752       3.4.0754     
     UEFI           N/A            14.11.0047   

  Status:           Update required

---------
Found 1 device(s) requiring firmware update...

Perform FW update? [y/N]: No updates performed
How to get 2.42.5032 on your connect-x3:
Install the mellanox firmware tools: Mellanox Firmware Tools (MFT)
Download the mellanox custom firmware file: http://content.mellanox.com/firmware/ConnectX3-rel-2_40_5030.tgz
Open MCX354A-FCB_A2-A5.ini and change the psid to "IBM1090111019" (this makes the vanilla card an oem card again!)
Create the new binary:
Code:
mlxburn -fw fw-ConnectX3-rel.mlx -conf MCX354A-FCB_A2-A5.ini -wrimage MCX354A-FCBT_2.42.5032.bin
Flash this firmware:
Code:
 flint -d mt4103_pci_cr0 -i MCX354A-FCBT_2.42.5032.bin -allow_psid_change burn
Restart the server
Download the lenovo update package from Mellanox Firmware for Windows - Lenovo Support US and extract it
Run mlxup and update to 2.42.5032

Not sure if somebody else wants an ibm branded mellanox nic with a hp(e) serial number :D
In your command for creating a new binary, why did you name the output bin file to 2.42.5032 if the input fw mlx file you used is 2.40.5030?
 

kevindd992002

Member
Oct 4, 2021
122
6
18
Does anyone have the latest MLX file (for editing with an sriov-modified ini) for CX3 non-pro cards? I need it to enable sriov because mstconfig does not work for the single port CX3 variant that I have.

The latest MLX that I can find is 2.40.5030 but the lateat bin is 2.42.5000.
 

nmpu

Member
Sep 22, 2023
85
30
18
Bradenton, Florida, USA
I have the EMC card with P/N: 105-000-855-00 and PSID: EMC0000000002. It's got a 2018 manufacture date which is 6 months after the stock 2.42 firmware was released. I paid $20 on eBay. It's recognized by both Windows 11 and Ubuntu 22.04. I have not done extensive testing, but it shows a 10G connection and I can pass traffic.

People want to update the firmware to the latest stock version-- just because they can. There's about 4 months between 2.42 and 2.40 with no further updates in almost 7 years. If EMC thought there was a problem, they likely had the infrastructure to notify and/or update. It's possible that there really is some minor hardware difference. In this case, I don't think it's worth screwing around.

For the stubborn, the Linux mst supports:

mst start --with_unknown

which will expose custom PSIDs. That option does not work under WinMFT.
 
Last edited:
  • Like
Reactions: blunden

klui

༺༻
Feb 3, 2019
919
526
93
I have some CX3/3Pro cards that are either HP or Mellanox but with newer firmware versions than what's available from Nvidia's site. While they may have "newer" fixes they also had more restrictions on what transceivers are accepted. Flashing to stock Mellanox allowed my other transceivers to work.

The strange thing with these cards is I couldn't save the complete images of the existing firmware under Linux but could under Windows.
 

clcorbin

Member
Feb 15, 2014
75
10
8
Anyone else have this issue? When I'm trying to use mlxburn to create the bin (with "-wrimage"), it gives me this error: "Error: Image generation tool is missing. Exiting...".

I'm obviously missing something, but not sure what! Any suggestions? I'm running the command on Ubuntu server 24.04 LTS.

Thanks!