2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

速い!安い!うまい! 「1万円で40ギガ」光ファイバーイーサネット導入編

2
Last updated at Posted at 2026-07-05

速い!安い!うまい!(40GbE導入編)

わが家も予算1万円で40Gネットワークを導入できる時代に

中古市場やフリマを覗くと、1500円〜で投げ売りされている謎のNICがある。
それが今回の主役:

Mellanox ConnectX-3 CX354A

本来はデータセンター向けのInfiniBand対応HCA(高性能ホストアダプタ)だが、
家庭環境ではちょっとしたROM書き換えと設定変更で、40GbE Ethernet NICとして再生可能になる(ことがある)。

そしてこの構成、驚くほど安い。

品目 価格
Mellanox CX354A × 2 3,000円〜
QSFP+ 40G AOCケーブル 〜4,000円
送料他 実費
ソフトウェア(MFT) 無料
合計 約1万円以内

実測(40G)

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  45.6 GBytes  39.2 Gbits/sec                  receiver

PCIeスロットの電気的レーン数がボトルネックになる場合がある(後述)。
x8以上のスロットに刺さっていれば理論値に近い40Gbpsが期待できる。


できること

この構成が完成すると、家庭内でこんなことが起きる:

  • 2台のPC間で40GbE光通信が常時可能(DACケーブルも可)
  • 大容量データ転送(VM / ISO / iSCSI / バックアップ / 映像編集)が一気に高速化
  • NASやProxmoxノード間通信が"異次元の体感"になる
  • 「待ち時間」がほぼ消える

購入するもの

NIC(必須)

Mellanox ConnectX-3 CX354A × 2枚

  • 中古価格:1,500〜3,000円程度
  • QSFP+ポート搭載デュアルポートNIC(シングルポート品もあるが、価格差がほとんどない)
  • ラベルに "InfiniBand + 10GigE" と書いてあっても購入自体は問題ない(後述の注意点を読んだうえで)
  • 各社OEMあるため、探してみてね

ケーブル(重要)

QSFP+ 40G AOCケーブル
または QSFP+ 40G DACケーブル

  • 価格目安:3,000〜5,000円程度
  • 必ず40G対応品を選ぶこと(10G品では10Gにしかならない)

SFP+とは別物。"QSFP+"で選んでください。
ケーブルのラベルに 40G QSFP+ と明記されているものを選ぶ。
なお光ケーブルでAmazonで4,000円が目安。

ソフトウェア

Mellanox Firmware Tools(MFT)

Windows版(設定変更用・推奨):WinMFT_x64_4_22_1_526.exe
最新版ではなく、4.22系を選ぶこと。

ダウンロード:https://www.mellanox.com/downloads/MFT/WinMFT_x64_4_22_1_526.exe
ダウンロードページ:https://network.nvidia.com/products/adapter-software/firmware-tools/

Linux版(参考):mft-4.22.1-526-x86_64-deb.tgz

ダウンロード:https://www.mellanox.com/downloads/MFT/mft-4.22.1-526-x86_64-deb.tgz
ダウンロードページ:https://network.nvidia.com/products/adapter-software/firmware-tools/

MFTはWindowsで作業することを強く推奨する。

ConnectX-3はMFT 4.36系では非対応のため、旧バージョン WinMFT_x64_4_22_1_526.exe を使うこと。

Linux(特にProxmox VE 9 / Debian 13 trixie)では、MFT 4.36系のツールがsegfaultを起こすことが確認されている。

Secure Bootを無効にしても mst start でデバイスが見つからないケースがある。

設定変更はWindowsマシンにカードを一時的に移して行うのが確実。

NICファームウェア

ConnectX-3用ファームウェア(ETHモード有効化に必要)
fw-ConnectX3-rel-2_42_5000-MCX354A-TCB_Ax-FlexBoot-3.4.752.bin.zip

ダウンロード:https://www.mellanox.com/downloads/firmware/fw-ConnectX3-rel-2_42_5000-MCX354A-TCB_Ax-FlexBoot-3.4.752.bin.zip
ダウンロードページ:https://network.nvidia.com/support/firmware/firmware-downloads/

下記は実際に自宅環境で40GbEの動作確認が取れているTCB系ファームウェアを基準に記載している。
FCB系(最上位グレード)でも理屈上は動くはずだが、筆者環境ではTCBでの実績のみで、FCBでの動作は未検証。


"InfiniBand + 10GigE"表記のカードでも40Gは出るのか?

出ることがある。ただしPSIDの見た目だけでは判断できない。

中古で流通しているCX354Aの多くは、各社向けのOEM品で、ラベルに
"ConnectX-3 QDR InfiniBand + 10GigE" と書かれている。低スペック品(QCBT系)に見えても、
実態はMellanox純正のMCX354A-TCBTMCX354A-FCBT(どちらも40GbE対応の上位グレード)と
同等のハードウェアである個体も混ざっている。

ConnectX-3(CX354A)には性能順に QCBT < TCBT < FCBT の3グレードが存在する。
QCBTはQDR IB(40Gb/s)+10GbEのみ、TCBTはFDR10 IB+40GbE、FCBTはFDR IB(56Gb/s)+40/56GbEに対応する。
つまりTCBTの時点で40GbE自体はすでにサポート範囲内であり、必ずしも最上位のFCBTまで
クロスフラッシュする必要はない。

ここで多くの解説記事が「PSIDを見ればFCB系かQCBT系か分かる」と説明するが、これは半分正解で半分不正解

Mellanox純正の型番だけで見ると、確かにこういう対応がある:

MCX354A-QCBT(QDR 40Gb/s + 10GbE、低スペック)  → PSID: MT_1090110018
MCX354A-FCBT(FDR 56Gb/s + 40GbE、高スペック)  → PSID: MT_1090120019

一見、6桁目が 1 ならQCBT系(低スペック)、2 ならFCB系(高スペック)と読めてしまう。

しかし、これはMellanox純正品の中だけのローカルルール。
OEM各社(IBM/Dell/HPなど)は独自のPSID採番をしており、この桁パターンをそのまま当てはめられない。

実際、IBMのOEM資料には以下のような記載がある:

ConnectX-3 VPI Dual-port QSFP FDR14/40GbE HCA (PN: 00W0042)  → PSID: IBM1090110019
ConnectX-3 VPI Dual-port QSFP FDR14/40GbE HCA (PN: 00D9551)  → PSID: IBM1090111019

どちらも公式にFDR14/40GbE対応と明記されているにもかかわらず、PSIDの数字部分は
Mellanox純正のQCBT(1090110018)にかなり近い並びをしている。つまり、
「110」という桁パターンを持っていても、実際は40GbE対応の上位ハードウェアという例が現に存在する。

PSIDの数字が「FCBっぽいか」「QCBTっぽいか」は、Mellanox純正品以外では判断材料にならない。
OEM品は独自採番のため、見た目が似ているから同等、似ていないから別物、という推測はどちらも成立しない。
「事前に記録したPSID」と「クロスフラッシュ後の実測速度」の両方を見て初めて、そのカードの素性が分かる。

実例:筆者環境のカード

クロスフラッシュ前に取得していたROMバックアップを確認したところ、オリジナルのPSIDは以下だった:

ISL1090110018

数字部分(1090110018)はMellanox純正QCBT(MT_1090110018)と完全一致。先頭のISL
EMC/Isilon向けOEM品を示す独自プレフィックスと思われる。つまりこのカードは正真正銘、QCBTグレード(QDR IB + 10GbEのみ)のハードウェアだったことになる。

それでもTCB用ファームウェアへクロスフラッシュした結果、iperf3実測で39.2Gbps(記事冒頭の実測値)を達成している。
つまり、PSIDがQCBT相当でも、TCBへのクロスフラッシュで40GbEが実際に出るケースがある、という一次情報が得られたことになる。もちろんこれは1個体の実績に過ぎず、他のQCBT個体で同じ結果になる保証はない。

つまり結論としては:

ファームウェアをTCB系(または、より上位のFCB系)用にクロスフラッシュし、ポートモードをETHに
切り替えれば、40Gイーサネットとして動く可能性がある。だが動くかどうかはPSIDの見た目ではなく、> フラッシュ前の記録+フラッシュ後の実測でしか確認できない。


やること(全体フロー)

作業はWindowsで行う。 カードをWindowsマシンに移してから設定する。

① MFT(Windows版)をインストールして起動確認

# インストール後、管理者PowerShellで
mst status

期待値:

MST devices:
------------
  mt4099_pci_cr0
  mt4099_pciconf0

デバイスが見えればOK。

② フラッシュ前の状態を必ず記録する(超重要)

ここがこの記事で一番大事な工程。 クロスフラッシュしてしまうと、
そのカードが元々どんな個体だったかは二度と分からなくなる。
必ず何も変更する前に現在の状態を控える。

flint -d mt4099_pci_cr0 q

以下を必ずメモ(写真でもログ保存でも可):

  • PSID(例:MT_1090110019 など)
  • FW Version(現在のファームウェアバージョン)
  • Part Number / Description(QDRなのかFDRなのか等の記載)

PSIDは基板に焼き込まれた不変の識別子ではなく、ファームウェアイメージの中に書かれている単なる文字列
--allow_psid_change オプションで焼けば、その通りに書き換わる。
つまりクロスフラッシュ後に見えるPSIDは「今書いたファームウェアの値」でしかなく、そのカードが元々どんなハードウェアだったかの証明には一切ならない
検証の意味があるのは、あくまでフラッシュ前のPSIDだけ。

前段で触れた通り、この時点のPSIDが MT_1090120019 に近いか MT_1090110018 に近いかを見ても、OEM品である以上は確実な判断材料にはならない。あくまで「参考情報として記録しておく」に留める。

③ クロスフラッシュ実施

先にダウンロードしておいたTCB用ファームウェア
fw-ConnectX3-rel-2_42_5000-MCX354A-TCB_Ax-FlexBoot-3.4.752.bin.zip
を展開し、.bin ファイルを取り出す。

# PSIDが異なる場合は -allow_psid_change が必要
flint -d mt4099_pci_cr0 -i "C:\path\to\fw-ConnectX3-rel-2_42_5000-MCX354A-TCB_Ax-FlexBoot-3.4.752.bin" -allow_psid_change -y burn

確認プロンプトが出たら y を入力(-y を付けていれば自動で進む)。書き込み完了後、必ず一度電源を完全に切って再投入する(再起動では不十分)。

書き込み後のPSIDを確認:

flint -d mt4099_pci_cr0 q | findstr PSID

TCB用ファームウェアのPSIDに変わっていれば、書き込み自体は成功。
なお、より上位のFCB用ファームウェア(PSID: MT_1090120019)を試す場合も手順は同様だが、
筆者環境での動作実績はTCB側のみで、FCBでの動作は未検証。
いずれにせよ前述の通り、PSIDが変わったこと自体は「ハードウェアが40GbEに対応した」ことの証明ではない。次のステップに進む。

クロスフラッシュは元のファームウェアを上書きする作業。②で控えたPSIDやFW Versionが唯一の切り戻し手がかりになる。
異なるPSID間の書き込みには -allow_psid_change オプションが必須(付けないとエラーで弾かれる)。

④ 現在の設定確認

mlxconfig -d mt4099_pci_cr0 q

LINK_TYPE_P1 / LINK_TYPE_P2VPI(3)IB(1) になっていたら次のステップへ。

⑤ ETHモード固定

mlxconfig -d mt4099_pci_cr0 set LINK_TYPE_P1=2 LINK_TYPE_P2=2

確認プロンプトが出たら y を入力。

⑥ 電源OFF→ON(リブートではなく完全シャットダウン)

PCIeの変更を反映させるため、再起動ではなく電源を切って入れ直す

⑦ 設定確認

mlxconfig -d mt4099_pci_cr0 q | findstr LINK_TYPE

期待値:

LINK_TYPE_P1    ETH(2)
LINK_TYPE_P2    ETH(2)

Linux側での確認(=本当に40Gが出るかの最終判定)

カードをLinuxマシンに戻してから確認する。ここが実質的な合否判定ライン。

ethtool <インターフェース名> | grep -A 10 "Supported link modes"

期待値(40G対応確認):

Supported link modes:   10000baseKX4/Full
                        40000baseCR4/Full
                        40000baseSR4/Full
                        56000baseCR4/Full
                        56000baseSR4/Full

リンク速度確認:

cat /sys/class/net/<インターフェース名>/speed
# 40000 が返れば成功

さらに実効スループットをiperf3で確認する:

iperf3 -c <相手ホスト> -i 1

ethtoolで40000baseが「対応」と表示されても、実際にiperf3で40Gbps近い数値が出るとは限らない。
海外のフォーラムには、QCBT相当のカードをFCB用ファームウェアにクロスフラッシュした結果、
リンクアップはするものの実効速度がQDR相当(30Gbps強)に留まったという報告もある。
「クロスフラッシュが成功した」=「40Gが出る」ではないので、必ず実測してから判断すること。


Proxmox VE(Linux)でMFTを使いたい場合

WindowsマシンがなくどうしてもLinuxでやりたい場合の手順。
Secure Bootを必ず無効にすること(未無効だとカーネルモジュールが拒否される)。

# Proxmox VE 9 (Debian 13 trixie) の場合

# 1. Proxmoxリポジトリを追加
echo "deb http://download.proxmox.com/debian/pve trixie pve-no-subscription" \
  > /etc/apt/sources.list.d/pve-install-repo.list
apt update

# 2. カーネルヘッダーとdkmsをインストール
apt install -y proxmox-headers-$(uname -r) dkms

# 3. MFTをダウンロード・インストール
wget https://www.mellanox.com/downloads/MFT/mft-4.36.0-147-x86_64-deb.tgz
tar xzf mft-4.36.0-147-x86_64-deb.tgz
cd mft-4.36.0-147-x86_64-deb
./install.sh

# 4. モジュールを手動でロード(mst startだけでは不十分な場合がある)
modprobe mst_pci

# 5. 設定変更
mstconfig -d 02:00.0 q
mstconfig -d 02:00.0 set LINK_TYPE_P1=2 LINK_TYPE_P2=2

MFT 4.36系はDebian 13環境で mstconfig / mstflint がsegfaultを起こすことが確認されている。
この場合はWindowsで作業すること。


PCIeスロットのレーン数に注意

40GbEはPCIe帯域を大量に消費する。

PCIe構成 帯域(PCIe 3.0) 40G対応
x16 〜126 Gbps
x8 〜63 Gbps
x4 〜32 Gbps △(ギリギリ)
x2 〜16 Gbps ✗(ボトルネック)

物理的にx16スロットでも、電気的配線がx4しかないマザーボードがある。
コンパクトデスクトップ(SFFなど)は特に注意。
dmesg | grep mlx4 で以下のような表示が出たら実質x4:

mlx4_core: 15.752 Gb/s available PCIe bandwidth, limited by 16.0 GT/s PCIe x4 link

この場合、40G接続でも実効帯域は28〜30Gbps程度に留まる。


接続方式の比較

接続方式 安定性 備考
QSFP+ 40G AOC(光) 長距離・見た目も◎
QSFP+ 40G DAC(銅線) 最安・短距離向け
RJ45変換モジュール 発熱・相性・消費電力で地雷率高め

CX354AではRJ45変換は特に安定しにくいので、家庭用途は基本AOC or DACで。


まとめ

この構成の本質はこれ:

  • ジャンクNIC(1,500円〜)
  • ツール(無料)
  • フラッシュ前の記録+クロスフラッシュ+実測検証(合わせて数十分)

PSIDの見た目に一喜一憂するのではなく、
「フラッシュ前に記録」「フラッシュ後は必ずiperf3で実測」の2点さえ守れば、
家庭LANが40GbEの**"圧送ライン"**に変わる確率はぐっと上がる。

ネットワークが「待ち時間の世界」から「流速の世界」に変わる瞬間。

そして気づく。

あ、もう1GbEには戻れないやつだこれ。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?