I have a lot of CX454A-ECAT. Solid card.
But mostly I run the CX354A. I've bought tons of them for $10. They work well with random el cheapo DACs on fleabay.
If you don't know how to make any CX354A *dual port* into 40GbE, here's what I derived from reading a lot of posts here:
Essential points:
1. Recommend using Windows 10 to do the flashing. Windows 11 may work, but not guaranteed.
2. Whether QCBT or FCBT CX354A dual-port variants, you can use this firmware:
2A Do not use on single-port variants.
2B. Requires WinMFT 4.22.1.406:
https://www.mellanox.com/downloads/MFT/WinMFT_x64_4_22_1_406.exe
2BA. Later versions of WinMFT will return the error "no results found" or similar with the command: "mst status"
2BB. During install, install WinMFT, OEM Package, MTUSB, and SDK (all options) to hard drive.
2C. Recommend WinOF driver 5.50.53000 for Windows 10:
https://www.mellanox.com/downloads/WinOF/MLNX_VPI_WinOF-5_50_53000_All_Win2019_x64.exe
2CA. Later WinOF drivers may work now, but were not tested.
2D. Copy this firmware bin to "Program Files/Mellanox/WinMFT folder": (attached)
2DA. It starts out as a zip file. But you'll need to unzip it to get the CX3-2_42_5032.bin file out.
2E. Admin cmd to Program Files/Mellanox/WinMFT and run: mst status
2EA. Confirm the existence of "mt4099_pci_cr0".
2EB. If it's not there, confirm in devmgmt.msc that the Mellanox device is not still on the Microsoft included driver. Driver provider should be "Mellox Technologies Ltd" on the Driver tab.
2EC. Try shutting down, cold booting, and re-attempting after you've installed the driver if you don't see the mt4099_pci_cr0.
3. Run the following command to flash to 40 gigabit.
3A. flint -d mt4099_pci_cr0 -i .\CX3-2_42_5032.bin -allow_psid_change burn
3B. When it asks, "Do you want to continue?" press y and then press Enter.
3C. Message will appear that FS2 FW image is being flashed without signatures. This takes a couple of minutes.
3D. Two "OK" messages should be seen.
3E. Shut down, and cold-boot.
4. Admin cmd to Program Files/Mellanox/WinMFT
4A. Run the following command to swap both ports to Ethernet mode rather than Infiniband Mode:
4AA. mlxconfig -d mt4099_pci_cr0 set LINK_TYPE_P1=ETH LINK_TYPE_P2=ETH
4AB. When asked, "Apply new configuration?" press y then press Enter.
4AC. Shut down, and cold boot.
5. You should now have two 40 gigabit ethernet ports. Ensure your switch port is set to 40 gigabit speed, and connect your QSFP28 DAC / SMF CWDM4 / etc.
6 After finished, you can update to the latest driver:
https://www.mellanox.com/downloads/WinOF/MLNX_VPI_WinOF-5_50_54000_All_win2019_x64.exe
6A. You'll be informed a VPI upgrade will be performed. Click OK.
6B. Afterward, shutdown and cold boot.
My apologies it's not perfect.
I really like the dual ports on the CX354A. I use a combination of an 80 gig LACP channel and non-bonded 80 gig. The reason is that you want servers to have 4 vanilla interfaces or ports to get the maximum SMB multichannel speed for a single user and transfer. LAG algorithms and LACP don't perform as well. But LACP bonds are better for remote VM traffic like Sunshine/Moonlight/VNC/RDP.