Help us understand the problem. What is going on with this article?

Mellanox connectX-3のファームアップデート手順

ヤフオクやebayで安価に買える高速なNIC、Mellanox connectXシリーズ。
SFP+(10Gbps)やQSFP+(40Gbps)が4000円弱で購入できる。すごい。
さらに一般的な10GbpsのRJ45よりも省電力(6W弱、15W前後が多いRJ45の約半分)。

今回は正規品のファームウェアアップデートに加え、更新の止まったOEM用ファームウェア(Dell、HP、IBM)のアップデート法をメモ。

1. 正規品のアップデート(一般的な方法)

1.1 ファームウェア用ソフトの入手とインストール

https://jp.mellanox.com/page/management_tools

OS等を選んでファームウェアの書き込みソフトをダウンロードする。
無題.png

windowsの場合は.exeファイルの実行し、✕のついている項目も含め、全項目をインストールする。Linuxの場合は解凍したフォルダで下記を実行。

./install

1.2 ファームウェアの入手

NICに合わせて選択する必要がある。
https://jp.mellanox.com/page/firmware_download
OEM版のアーカイブ(IBM)
https://jp.mellanox.com/page/firmware_table_IBM_archive?ssn=ricrc9ac56alf8lpf6c3ab1551

今回はConnectx3 Proの最新版にした。
mt4099_pci_cr0 -i fw-ConnectX3Pro-rel-2_42_5000-MCX353A-FCC_Ax-FlexBoot-3.4.752.bin
無題3.png

解凍して生成先のフォルダに移動。

3. NICの名称確認とファームウェアの更新

管理者権限でコマンドプロンプトやbashなどCLI環境で下記を入力する。
(mst startはwindowsだと不要)

mst start
mst status


無題2.png
この場合、NICの名前は下記になる。尚、WindowsでLinux形式のフルパス表記でも問題なく動く。

Windows: mt4099_pci_cr0
Linux: /dev/mst/mt4099_pci_cr0

ファームウェアを解凍したフォルダへ移動して下記コマンドでファームウェアのアップデートを実施する。

flint -d NICの名前 -i ファームウェアのファイル burn

flint -d mt4099_pci_cr0 -i fw-ConnectX3Pro-rel-2_42_5000-MCX353A-FCC_Ax-FlexBoot-3.4.752.bin burn

ファームウェアの種類が間違っている場合はPSIDのエラーが出る。
この場合、ファームウェアを適切な物に変更する必要がある。

参考

https://jp.mellanox.com/page/firmware_NIC_FW_update

  • ※ ただし、中古安価にで流れているConnectXのOEM版(Dell、HP、IBM等)はこの方式で適用可能なファームウェアの更新が途中で止まっている。そこで、別な方法でファームの書き換えを行う。

2. OEM製品のアップデート(Dell、HP、IBM等)

2.1 ファームウェア書き込みソフトの入手

https://jp.mellanox.com/page/management_tools
OS等を選んでファームウェアの書き込みソフトをダウンロードする。
無題.png

windowsの場合は.exeファイルの実行、Linuxの場合は解凍したフォルダで下記を実行。

./install

2.2 共通ファームの入手(2.40.5030)

通常版(直リンク)
http://content.mellanox.com/firmware/ConnectX3-rel-2_40_5030.tgz
Pro版(直リンク)
http://content.mellanox.com/firmware/ConnectX3Pro-rel-2_40_5030.tgz

ボードの種類(通常版またはPro版)に相当する方を選択、ダウンロードして解凍後、解凍先へ移動する。

2.3 バックアップと書き込み

2.3.1 デバイス名の取得

mst status


無題2.png
この場合、NICの名前は下記になる。尚、WindowsでLinux形式のフルパス表記でも問題なく動く。

Windows: mt4099_pci_cr0
Linux: /dev/mst/mt4099_pci_cr0

以下、適宜NICの名前は書き換えて使用すること。

2.3.2 ファームウェアと設定のバックアップ

flint -d mt4099_pci_cr0 ri orig_firmware.bin
flint -d mt4099_pci_cr0 dc orig_firmware.ini

2.3.3 修正ファームウェアの作成と修正ファームのチェック

通常版 fw-ConnectX3-rel.mlx
Pro版 fw-ConnectX3-relPro.mlx

mlxburn -fw fw-ConnectX3-rel.mlx -conf orig_firmware.ini -wrimage newFW.bin
flint -i newFW.bin verify

2.3.4 ファームウェアの書き込み

flint -d mt4099_pci_cr0 -i newFW.bin -allow_psid_change burn

終わったら再起動。

2.3.4 現在のセッティングや状況の確認

mlxconfig -d mt4099_pci_cr0 query
mlxburn -d mt4099_pci_cr0 -vpd

これで、2.40.5030までバージョンが上がる。
修正ファームウェアを作る際、orig_firmware.iniのPSIDを相当する製品のPSIDに書き換えれば、最新版へのファーム書き換えも可能になる(確認済み)。

#例 IBMのOEM製品でPSIDを変更
#修正前
[ADAPTER]
PSID = IBM1100110019
#修正後
[ADAPTER]
PSID = MT_1100120019
カードの対応表

Mellanox版の名称
http://www.vgi.co.jp/prod/Mellanox/connectx.html
PSIDは下記で調べる
https://jp.mellanox.com/page/firmware_table_ConnectX3IB

参考

https://forums.servethehome.com/index.php?threads/dell-mellanox-connectx-3-to-arista-7050-no-link.18369/#post-178015

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした