Real time web analytics, Heat map tracking

Infiniband HCA Firmware Update

A. Die Erforderlichkeit des Firmware Updates

Das Firmware Update von Infiniband HCAs kann aus verschiedenen Gründen erforderlich sein.

1. Infinihost III Karten

Haben Infinihost III Karten nicht die aktuelle Firmware Version, so kommt es bei Verwendung des Connected Mode immer wieder zu Verbindungsabbrüchen. Mit der aktuellen Firmware funktioniert die Connected Mode einwandfrei.

2. ConnectX Karten

Mit einer alten Firmware starten ConnectX Karten unter Windows nach der Installation des OFED Treibers nicht, sondern verweigern den Dienst mit einem Fehler, wie z.B. dem Fehler 10.

3. Steigerung des Durchsatzes, Connected Mode

Unabhängig von der Serie der Karten hat die Verwendung einer aktuellen Firmware eine Steigerung des Durchsatzes zur Folge. Ferner lässt sich der Connected Mode verwenden, bei dem die Frames eine Größe 65520 haben. Bei der Verwendung des Connected Mode steigt der Durchsatz.

B. Grundsätzliches

1. Baugleichheit

Die meisten verfügbaren Infiniband HCAs stammen von Mellanox und sind lediglich in der Firmware durch eine abweichende PSID gebrandet. Dies ist insbesondere bei Karten von Voltaire und HP der Fall. Voltaire wurde von Mellanox aufgekauft und daher gibt es keine neuen Voltaire Firmwares mehr und die Firmware Version von HP sind nicht auf dem aktuellen Stand. Diese Karten können jedoch auch mit der Firmware von Mellanox geflasht werden.

2. Baugleiche Modelle

Bei folgenden Karten habe ich erfolgreich ein Update auf die jeweils aktuelle Mellanox Firmware durchgeführt:

Mellanox  Mellanox ID  Voltaire  Typ 
Single Port InfiniHost III Lx PCI Express HCA Cards
MHES14-XTC   25204 HCA 410-4EX  PCIe x4, SDR, 10 GBit, Full Height 
MHES18-XS  25204 HCA 410-EX PCIe x8, SDR, 10 GBit, Half Height  
Dual Port InfiniHost III Ex PCI Express HCA Cards
MHEL-CF128-T  25208 HCA 400-EX  PCIe x8, SDR, 10 GBit, Full Height  
ConnectX PCI Express Adapter Cards
MHGH28-XTC 25418   HCA 500-EX  PCIe x8, DDR, 10 GBit, Full Height 

Die Firmware von Mellanox finden Sie hier.

C. Mellanox Firmware Tools (MFT)

Welche Version des Mellanox Firmware Tools zum Flashen verwendet werden kann hängt vom Typ der Karte ab.

1. Infinihost III Serie

Karten der Infinihost III Serie benutzen noch ein altes Firmware Format. Ein Versuch diese Karten mit der aktuellen MFT Version zu flashen scheitert an einem E/A Fehler. Daher muss eine ältere Version von MFT (unter 3.X.X) benutzt werden. Diese finden Sie hier.

2. Neuere HCAs

Neuere HCAs, wie z.B. solche der ConnectX Serie, können mit der aktuellen MFT Version geflasht werden. Diese finden Sie hier.

D. Ermitteln des Karten Typs

Notieren Sie sich bevor Sie den HCA einbauen, sofern noch nicht bekannt, den Typ Ihres HCAs. Dieser ist auf der Rückseite aufgedruckt. Sie können den Typ und die Revision auch wie folgt ermitteln:

  • Öffnen Sie einen DOS-Prompt mit Administratorrechten
  • Wechseln Sie in das Verzeichnis, in das Sie WinMFT installiert haben (Standardmäßig: C:\Program Files\Mellanox\WinMFT)
  • geben Sie mst status ein

  • Nun wird Ihnen die Mellanox ID und die Adresse Ihres HCAs angezeigt.
  • durch die Eingabe von flint -d [zweite Adresse] query , also z.B. flint -d mt25208_pciconf0 query, werden Ihnen die Einzelheiten zum verbauten HCA angezeigt. Hier z.B. für eine Connect-X Karte:

  • Handelt es sich um eine original Mellaox Karte finden Sie die Firmware einfach über die PSID. Diese ist auf der Mellanox Homepage angegeben. Achten Sie auf die Revision Ihrer Karte. Diese ist i.d.R. auf einem Aufkleber auf der Karte aufgedruckt.

E. Backup der Firmware 

  • Wechseln Sie in einem DOS-Prompt mit Administratorrecht in das Verzeichnis, in das Sie WinMFT installiert haben (Standardmäßig: C:\Program Files\Mellanox\WinMFT
  • geben Sie erneut mst status ein
  • nun werden Ihnen die IB Devices angezeigt
  • geben Sie nun nach dem Schema flint -d [2. unter mst status angezeigtes Device] -ri [Dateiname des Firmware Backups] ein um die Firmware in eine Datei zu kopieren. Für eine MHGH28-XTC lautet der Befehl z.B. flint -d mt25418_pciconf0 -ri MHGH28-XTC-backup.bin

F. Update von original Mellanox Karten

  • Laden Sie die aktuelle, für Ihre Karte passende Firmware von Mellanox herunter (hier) und kopieren Sie die zuvor entpackte BIN-Datei in Verzeichnis, in das Sie ältere Version von WinMFT installiert haben (Standardmäßig: C:\Program Files\Mellanox\WinMFT). 
  • Wechseln Sie in einem DOS-Prompt mit Administratorrecht in das Verzeichnis, in das Sie WinMFT installiert haben (Standardmäßig: C:\Program Files\Mellanox\WinMFT
  • geben Sie erneut mst status ein
  • nun werden Ihnen die IB Devices angezeigt
  • geben Sie nun nach dem Schema flint -d [2. unter mst status angezeigtes Device] -i [Dateiname der neuen Firmware] burn ein um das Flashen zu starten. Für eine MHGH28-XTC lautet der Befehl z.B. flint -d mt25418_pciconf0 -i fw-25408-2_9_1000-MHGH28-XTC_A2-A3.bin burn
  • Starten Sie den Rechner neu.

G. Flashen von Voltair/OEM HCAs

  • Laden Sie die aktuelle, für Ihre Karte passende Firmware von Mellanox herunter (hier) und kopieren Sie die zuvor entpackte BIN-Datei in Verzeichnis, in das Sie ältere Version von WinMFT installiert haben (Standardmäßig: C:\Program Files\Mellanox\WinMFT). 
  • Wechseln Sie in einem DOS-Prompt mit Administratorrecht in das Verzeichnis, in das Sie WinMFT installiert haben (Standardmäßig: C:\Program Files\Mellanox\WinMFT
  • geben Sie erneut mst status ein
  • nun werden Ihnen die IB Devices angezeigt
  • das Vorgehen ist grundsätzlich wie oben für original Mellanox Karten beschrieben. Jedoch muss das Flash-Tool dazu gebracht werden die Karte trotz einer abweichenden PSID mit der Mellanox Firmware zu flashen.
  • der Befehl hierzu lautet dann schematisch flint -d [2. unter mst status angezeigtes Device] -i [Dateiname der neuen Firmware] -nofs -allow_psid_change burn. Für eine MHGH28-XTC lautet der Befehl z.B flint -d mt25418_pciconf0 -i fw-25408-2_9_1000-MHGH28-XTC_A2-A3.bin -nofs -allow_psid_change burn. Bestätigen Sie die Fragen mit y.
  • Starten Sie den Rechner neu

H. Überprüfen der Firmware Version

Um zu überprüfen, ob die neue Firmware Version erfolgreich geflasht worden ist geben Sie bei installiertem OFED ibstat ein. 

I. Im Notfall: Firmware Recovery

Sollten Sie versehentlich eine falsche Firmware geflasht haben, so ist der HCA nicht für den Elektroschrott reif.Mit einer falschen Firmware startet weder Windows noch Linux. Windows lässt sich nicht starten und Linux meldet eine fehlerhafte Firmware. Es lässt sich jedoch ein Firmware Recovery durchführen. Dies ist jedoch nicht unter Windows möglich, da die Karte nicht angesprochen werden kann. Daher kommt Linux zum Einsatz.

Gehen Sie wie folgt vor:

  • bauen Sie den HCA aus
  • Suchen Sie den Jumper 5 (beschriftet mit JP 5) oder den Jumper mit dem Bezeichnung "Closed: EEPROM not present" auf dem HCA und schließen Sie diesen mit einem Jumper (z.B. von einem alten Mainboard)
  • Laden Sie sich eine CentOS 6 Live DVD herunter und brennen Sie diese (Mit CentOS 7 habe ich kein Recovery hinbekommen)
  • Booten Sie den Rechner von der CentOS Live DVD
  • Öffnen Sie die Konsole
  • geben Sie su ein um Befehle als root auszuführen
  • Das weitere Vorgehen ist davon abhängig, ob Sie eine Karte der Infinihost Serie oder eine neuere Karte haben:
  • für Infinihost Karte
    • Infinihost Karten benötigen ältere Version von mstflint, dem Linux Mellanox Flash Tool.
    • Wechseln Sie mittels cd /tmp in das temporäre Verzeichnis
    • installieren Sie durch die Eingabe von rpm -Uvh ftp://ftp.muug.mb.ca/mirror/centos/5/os/i386/CentOS/mstflint-1.4-2.el5.i386.rpm mstflint in der 32-Bit Version oder
    • geben Sie rpm -Uvh ftp://ftp.muug.mb.ca/mirror/centos/5/os/x86_64/CentOS/mstflint-1.4-2.el5.x86_64.rpm ein um die 64-Bit Version zu installieren (Abhängig von der eingesetzten CentOS Version)
    • Laden Sie die korrekte Version der Firmware für ihren HCA herunter oder kopieren Sie das zuvor erstellte Backup in das Verzeichnis /tmp.
    • geben Sie lspci ein um die Adresse Ihres HCAs zu ermitteln. Es wird (Recovery Mode angezeigt).
    • flashen Sie mittels mstflint –d <PCI bus ID, i.e. 05:00.0> -i <.bin file> -nofs -allow_psid_change burn die korrekte Firmware. Bestätigen Sie die Fragen mit y.
    • Bauen Sie die Karte aus und entfernen Sie den zuvor gesetzten Jumper
    • Bauen Sie die Karte wieder ein und starten Sie den Rechner
  • für neuere Karten, z.B. ConnectX
    • neuere Karten können mit der aktuellen Version von mstflint geflasht werden. Diese installieren Sie durch die Eingabe von yum install mstflint
    • Das weitere Vorgehen entspricht dem Vorgehen bei Karten der Infiniband Serie (s.o.)

J. Kühlung

Beachten Sie, dass Infiniband HCAs eigentlich für den Serverbereich konzipiert sind. Die dort eingesetzten Rechner verfügen über eine ausreichende Kühlung. Sollten Sie einen Infiniband HCA in einer Workstation einsetzen, sorgen Sie für eine ausreichende Belüftung, ansonsten wird der Infiniband HCA zu heiß und es droht der Hitzetod.