Mal wieder etwas was dringend in einem Blog festgehalten werden muss. Meines Wissens kann man bei allen Mellanox ConnectX Karten ein sogenanntes Crossflashing durchführen. Mit diesem Crossflashing werden Funktionen und Geschwindigkeiten freigeschaltet, was eigentlich für die besagte Karte nicht vorgesehen war. Allerdings sind die Mellanox Karten zu 100% Baugleich, sodass dies kein Problem darstellt.
Hier in meinem Beispiel zeige ich euch wie man eine Mellanox ConnectX-3 CX354A PCIe (PN MCX354A-QCBT) in eine PN MCX354A-FCBT verwandelt. Der Unterschied sieht wie folgt aus.
MCX354A-QCBT = 10 Gbit Ethernet // 40 Gbit Infiniband
MCX354A-FCBT = 40 Gbit Ethernet // 56 Gbit Infiniband
Durch ein einfaches Flashen gewinnen wir hier ohne Ende Speed.
- Built with original Broadcom BCM57810S 10 Gigabit Ethernet Controller chip.
- Low Profile & Full Height brackets. Express* 2.0. 5.0 G T/s x8 Lane. Compatible with x8, x16 standard and low-profile PCI Express* slots.
- This BCM57810S network adapter doesn't include transceivers or DAC ect. Dual SFP+ ports can support any 10 Gigabit SFP+ SR transceiver/ SFP+ LR transceiver/ SFP+ DAC/ SFP+ AOC.
Mellanox ConnectX-3 Firmware Flashing mit Linux
Folgende Anleitung zeigt den Flashing Weg unter einem aktuellen Debian 11.3. Als erstes müssen wir die Mellanox Firmware Tool (MFT) installieren.
## Zunächst die Abhängigkeiten installieren für die Mellanox Tools ##
apt-get install gcc make dkms unzip ethtool linux-headers-$(uname -r)
## Bei Proxmox installiert man anstatt linux-headers --> die pve-headers
## MFT Downloaden, Entpacken und Installieren ##
wget https://www.mellanox.com/downloads/MFT/mft-4.18.0-106-x86_64-deb.tgz
tar -xvf mft-4.18.0-106-x86_64-deb.tgz && cd mft-4.18.0-106-x86_64-deb
./install.sh
Mit diesen Tools können wir nun endlich die Karte ansprechen und auslesen. Mit den Ethtools können wir auch prima auslesen was die Karte ein Speed aktuell bringen kann.
ethtool <EUER-INTERFACE-NAME>
ethtool enp16s0
Settings for enp16s0:
Supported ports: [ FIBRE ]
Supported link modes: 10000baseKX4/Full
1000baseX/Full
10000baseCR/Full
10000baseSR/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10000baseKX4/Full
1000baseX/Full
10000baseCR/Full
10000baseSR/Full
Wie Ihr hier seht kann die Karte aktuell nur 10Gbit/s Ethernet, aber wir wollen mehr.
HIER findet Ihr die aktuellen Firmwares für die ConnectX-3 Karten.
## MST Starten
mst start
mst status
## Kopiere dir den Device Namen, welcher auf CR0 endet.
/dev/mst/mt4099_pci_cr0
## Downloade dir für die Karte die aktuelle Firmware.
## GANZ Wichtig die FCBT Firmware Treiber auswählen.
wget http://www.mellanox.com/downloads/firmware/fw-ConnectX3-rel-2_42_5000-MCX354A-FCB_A2-A5-FlexBoot-3.4.752.bin.zip
unzip fw-ConnectX3-rel-2_42_5000-MCX354A-FCB_A2-A5-FlexBoot-3.4.752.bin.zip
## Die Aktuelle Firmware können wir auch zwischenspeichern.
flint -d /dev/mst/mt4099_pci_cr0 dc orig_firmware.ini
## Mit diesem Befehl wird die neue Firmware auf die Karte gebrannt
flint -d /dev/mst/mt4099_pci_cr0 -i fw-ConnectX3-rel-2_42_5000-MCX354A-FCB_A2-A5-FlexBoot-3.4.752.bin -allow_psid_change burn
## Wenn Ihr die Karte noch auf Ethernet umstellen müsst, hier der Befehl ##
mlxconfig -d /dev/mst/mt4099_pci_cr0 set LINK_TYPE_P1=2 LINK_TYPE_P2=2
## SYSTEM NEUSTARTEN ##
reboot
Falls Fehlermeldungen kommen hinsichtlich das dass Device nicht gefunden wird. kannst du auch das PCI Device direkt ansprechen. Einfach mal lspci eingeben und anstatt /dev/xYZ eingeben dann dann Device wie z.B. 10:00.0.
Wenn alles geklappt hat sollte die Mellanox Karte nach dem Neustart auf 40 Gbit/s Ethernet freigeschaltet sein. Das überprüfen wir einmal.
ethtool <EUER-INTERFACE-NAME>
ethtool enp16s0
Settings for enp16s0:
Supported ports: [ FIBRE ]
Supported link modes: 10000baseKX4/Full
40000baseCR4/Full
40000baseSR4/Full
56000baseCR4/Full
56000baseSR4/Full
1000baseX/Full
10000baseCR/Full
10000baseSR/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10000baseKX4/Full
40000baseCR4/Full
40000baseSR4/Full
1000baseX/Full
10000baseCR/Full
10000baseSR/Full
Hier ein paar gute 10Gbit Switches.
15. November 2022 um 12:27
## Die Aktuelle Firmware können wir auch zwischenspeichern.
flint -d /dev/mst/mt4099_pci_cr0 dc orig_firmware.ini
das sichert nur die Config.
Die will man auch gesichert haben, aber man wird getrennt noch die originale Firmware runterladen wollen.
22. Februar 2023 um 10:54
Hat mir sehr helfen können;)
Gregor