何故かLinuxで認識できないEC33があったのでメモ
設定手順
ドライバのステータス確認
ibstat
などでもIBカードが表示されない場合、ドライバの読み込みを確認します。
root@debian:~# dmesg|grep mlx [ 2.485595] mlx5_core 0000:18:00.0: enabling device (0140 -> 0142) [ 2.486205] mlx5_core 0000:18:00.0: mlx5_pci_vsc_init:66:(pid 449): Failed to get valid vendor specific ID [ 2.486236] mlx5_core 0000:18:00.0: firmware version: 10.10.4020 [ 2.486361] mlx5_core 0000:18:00.0: 126.016 Gb/s available PCIe bandwidth (8.0 GT/s PCIe x16 link) [ 4.396404] mlx5_core 0000:18:00.0: mlx5_init_clock:978:(pid 449): invalid device_frequency_khz, aborting HW clock init [ 4.610017] mlx5_core 0000:18:00.0: mlx5_cmd_out_err:804:(pid 683): QUERY_HCA_VPORT_CONTEXT(0x762) op_mod(0x0) failed, status bad operation(0x2), syndrome (0x3590f5), err(-22) [ 4.610263] infiniband mlx5_0: Couldn't create per-port data [ 4.683020] mlx5_ib.rdma: probe of mlx5_core.rdma.0 failed with error -12
こうなると mstflint
などでも認識できないのでこちらではWindowsでファームウェアのアップデートを行う必要がありました。MLX_OFEDが入る環境ならそれでどうにかできるかもしれませんが、DebianではどうしようもなかったのでWindowsを使いました。
Windows10でファームウェアをアップデートする
Windows 11だと認識できるか怪しいのでこちらは10を使いました。
まずはMFTをインストールします。
https://network.nvidia.com/products/adapter-software/firmware-tools/
Connect-IB自体はWindowsに対応していませんが、ドライバがあたっていなくてもファームウェアの情報は認識できるようです。
C:\Program Files\Mellanox\WinMFT
にMFTのバイナリが入るので、 mlxfwmanager
を実行して認識できているか確認します。
C:\>cd "C:\Program Files\Mellanox\WinMFT" C:\Program Files\Mellanox\WinMFT>mlxfwmanager.exe Querying Mellanox devices firmware ... Device #1: ---------- Device Type: ConnectIB Part Number: 00RX851_Ax Description: Mellanox Connect-IB Dual-port QSFP FDR IB PCI-E 3.0 x16 HCA - For SystemP PSID: IBM1210111019 PCI Device Name: mt4113_pciconf0 Port1 GUID: e41d2d0300dd9200 Port2 GUID: e41d2d0300dd9208 Versions: Current Available FW 10.10.4020 N/A Status: No matching image found
PCI Device Nameの mt4113_pciconf0
が対象のデバイスIDなので、flintでファームウェアをアップデートします。
ネットの海を彷徨って見つけたEC33に対応するファームはこれでした。
fw-ConnectIB-rel-10_16_1020-00RX851_Ax.bin
これをダウンロードしたら、flintでファームウェアをアップデートします。
C:\Program Files\Mellanox\WinMFT>flint -d mt4113_pciconf0 -i "C:\Users\a\Downloads\fw-ConnectIB-rel-10_16_1020-00RX851_Ax.bin" b Done.ng flash section: 100%[2K Current FW version on flash: 10.10.4020 New FW version: 10.16.1020 Burning FW image without signatures - OK Restoring signature - OK -I- To load new FW, issue system-level reset or use mlxfwreset where applicable. #アップデート後、FWが新しくなっているか確認 C:\Program Files\Mellanox\WinMFT>mlxfwmanager.exe Querying Mellanox devices firmware ... Device #1: ---------- Device Type: ConnectIB Part Number: 00RX851_Ax Description: Mellanox Connect-IB Dual-port QSFP FDR IB PCI-E 3.0 x16 HCA - For SystemP PSID: IBM1210111019 PCI Device Name: mt4113_pciconf0 Port1 GUID: e41d2d0300dd9200 Port2 GUID: e41d2d0300dd9208 Versions: Current Available FW 10.16.1020 N/A FW (Running) 10.10.4020 N/A Status: No matching image found
再度Linuxで認識できるか確認
こちらの環境ではファームウェアのバージョンが上がれば問題なく認識できるようになりました。
# dmesg|grep mlx [ 5.184815] mlx5_core 0000:18:00.0: enabling device (0140 -> 0142) [ 5.185401] mlx5_core 0000:18:00.0: firmware version: 10.16.1020 [ 5.185474] mlx5_core 0000:18:00.0: 126.016 Gb/s available PCIe bandwidth (8.0 GT/s PCIe x16 link) [ 9.992995] mlx5_core 0000:18:00.0: Flow counters bulk query buffer size increased, bulk_query_len(1) [ 11.086840] mlx5_core 0000:18:00.0 ibs6d1: renamed from ib1 [ 11.093775] mlx5_core 0000:18:00.0 ibs6: renamed from ib0 # ibstat CA 'mlx5_0' CA type: MT4113 Number of ports: 2 Firmware version: 10.16.1020 Hardware version: 0 Node GUID: 0xe41d2d0300dd9200 System image GUID: 0xe41d2d0300dd9200 Port 1: State: Active Physical state: LinkUp Rate: 40 Base lid: 9 LMC: 0 SM lid: 6 Capability mask: 0x26516848 Port GUID: 0xe41d2d0300dd9200 Link layer: InfiniBand Port 2: State: Active Physical state: LinkUp Rate: 40 Base lid: 11 LMC: 0 SM lid: 6 Capability mask: 0x26516848 Port GUID: 0xe41d2d0300dd9208 Link layer: InfiniBand
以上
FWのバージョンが10.14.2066のEC33もありましたが、こちらはそのまま認識できました。ファームウェアのバージョンが古いとだめなようです。
Related articles
0 コメント