Mellanox ConnectX-4 を中古で購入したものの、IBモードだったので Ethモードへ変更した時のメモ。
今回はWindowsマシンで作業を行っている
作業端末:Windows 10 21H2
とりあえずカードを差したPCのデバイスマネージャーを確認してみる
カード自体がIBモードでドライバだけEthのものが当たっているからか、IOエラーを吐いてドライバが停止している
Ethに変換するためのツールと、ドライバを作業端末にインストールする
Mellanox Firmware Tools (MFT): network.nvidia.com
ドライバ(WinOF-2): network.nvidia.com
インストール完了後、管理者権限でpowershellを立ち上げて以下を実行。
mst status
Mellanox製のアダプタ一覧が表示される。
mlxconfig -d デバイス名 q
現在のモード等、カードの状態を確認する。変換前はIB、変換後はETHと表示されるはず。
mlxconfig -d デバイス名 set LINK_TYPE_P1=ETH
選択したカードをETHモード変更する。
当方環境で実行するとこんな感じ。
PS C:\WINDOWS\system32> mst status MST devices: ------------ mt26448_pci_cr0 mt26448_pciconf0 mt4115_pciconf0 ★ 今回のターゲット PS C:\WINDOWS\system32> mlxconfig -d mt4115_pciconf0 q Device #1: ---------- Device type: ConnectX4 Name: N/A Description: N/A Device: mt4115_pciconf0 Configurations: Next Boot ROCE_NEXT_PROTOCOL 254 NUM_PF_MSIX_VALID True(1) NUM_OF_VFS 0 NUM_OF_PF 1 SRIOV_EN False(0) PF_LOG_BAR_SIZE 5 VF_LOG_BAR_SIZE 1 NUM_PF_MSIX 63 NUM_VF_MSIX 11 INT_LOG_MAX_PAYLOAD_SIZE AUTOMATIC(0) CQE_COMPRESSION BALANCED(0) PCI_ATOMIC_MODE PCI_ATOMIC_DISABLED_EXT_ATOMIC_ENABLED(0) LRO_LOG_TIMEOUT0 6 LRO_LOG_TIMEOUT1 7 LRO_LOG_TIMEOUT2 8 LRO_LOG_TIMEOUT3 12 LOG_DCR_HASH_TABLE_SIZE 14 DCR_LIFO_SIZE 16384 LINK_TYPE_P1 IB(1) ★ InfiniBand Mode として認識 ROCE_CC_PRIO_MASK_P1 0 ROCE_CC_PRIO_MASK_P2 0 ~~~ BOOT_VLAN_EN False(0) BOOT_PKEY 0 PS C:\WINDOWS\system32> mlxconfig -d mt4115_pciconf0 s LINK_TYPE_P1=ETH Device #1: ---------- Device type: ConnectX4 Name: N/A Description: N/A Device: mt4115_pciconf0 Configurations: Next Boot New LINK_TYPE_P1 IB(1) ETH(2) Apply new Configuration? (y/n) [n] : y Applying... Done! -I- Please reboot machine to load new configurations. PS C:\WINDOWS\system32> PS C:\WINDOWS\system32> mlxconfig -d mt4115_pciconf0 q Device #1: ---------- Device type: ConnectX4 Name: N/A Description: N/A Device: mt4115_pciconf0 Configurations: Next Boot ROCE_NEXT_PROTOCOL 254 NUM_PF_MSIX_VALID True(1) NUM_OF_VFS 0 NUM_OF_PF 1 SRIOV_EN False(0) PF_LOG_BAR_SIZE 5 VF_LOG_BAR_SIZE 1 NUM_PF_MSIX 63 NUM_VF_MSIX 11 INT_LOG_MAX_PAYLOAD_SIZE AUTOMATIC(0) CQE_COMPRESSION BALANCED(0) PCI_ATOMIC_MODE PCI_ATOMIC_DISABLED_EXT_ATOMIC_ENABLED(0) LRO_LOG_TIMEOUT0 6 LRO_LOG_TIMEOUT1 7 LRO_LOG_TIMEOUT2 8 LRO_LOG_TIMEOUT3 12 LOG_DCR_HASH_TABLE_SIZE 14 DCR_LIFO_SIZE 16384 LINK_TYPE_P1 ETH(2) ★ Ethernet Mode として認識 ROCE_CC_PRIO_MASK_P1 0 ROCE_CC_PRIO_MASK_P2 0 ~~~ BOOT_VLAN_EN False(0) BOOT_PKEY 0 PS C:\WINDOWS\system32>
再起動後、Ethernetとして認識され、使用が可能になる