是否可以使用 Mellanox 的新固件来更新 Supermicro ConnectX-3 固件?

是否可以使用 Mellanox 的新固件来更新 Supermicro ConnectX-3 固件?

我有一台 Supermicro 服务器,X9DRT-HIBFF主板已安装。

它具有基于 Mellanox 的 ConnectX-3 芯片组的板载 Infiniband。

Supermicro 提供的固件版本为 2.10.0700,但遗憾的是它不支持 SR-IOV,因为它太旧了。虽然芯片组和 BIOS 确实支持这一点。

Mellanox 的较新固件启用了此功能。Mellanox 本身确实为一些 OEM 合作伙伴提供固件,但不为 Supermicro 提供。

ibv_devinfo 显示:

$ sudo ibv_devinfo
hca_id: mlx4_0
    transport:          InfiniBand (0)
    fw_ver:             2.10.700
    node_guid:          0025:90ff:ff17:5724
    sys_image_guid:         0025:90ff:ff17:5727
    vendor_id:          0x02c9
    vendor_part_id:         4099
    hw_ver:             0x0
    board_id:           SM_2191000001000
    phys_port_cnt:          1
        port:   1
            state:          PORT_DOWN (1)
            max_mtu:        4096 (5)
            active_mtu:     4096 (5)
            sm_lid:         0
            port_lid:       0
            port_lmc:       0x00

所以问题是,Mellanox 固件可以刻录到这个 OEM 板上吗?如果可以,我该如何选择刻录哪一个?

看着这个固件表,相应的固件链接到略有不同的 ZIP 文件。描述几乎完全相同,供应商部件 ID 相同,为 4099。它们之间的唯一区别是名称和 PSID。我的 PSID 是:SM_2191000001000,这与它们中的任何一个都不同,因为它来自 Supermicro。

答案1

  1. 下载固件并解压

  2. 从 Mellanox 下载一些工具并安装相应的 deb 文件以在您的 Ubuntu 安装中获取“mlxburn”实用程序。

    wget http://www.mellanox.com/downloads/MFT/mft-3.1.0-8.tgz
    tar xzvf mft-3.1.0-8.tgz
    cd mft-3.1.0-8/DEBS/
    dpkg -i mft-3.1.0-8.amd64.deb
    
  3. 从当前固件中提取生成新固件所需的 ini 文件。这将包括正确的 PSID。

    mstflint -d $PCIBUS dc > myinifile.ini
    

将 $PCIBUS 变量更改为您的卡所连接的 PCI 总线(即 04.00.0)

  1. 在 ini 文件的 [HCA] 部分下添加“sriov_en = true”行

  2. 像这样生成您的固件(我为 ConnectX2 测试了此命令):

    mlxburn -fw fw-ConnectX2-rel.mlx -exp_rom FlexBoot-3.4.112/ConnectX_Flexboot_4099_ROM-3.4.112.mrom -conf myinifile.ini -wrimage fw-ConnectX2-rel-sriov-enabled.bin
    
  3. 在卡上安装新固件

     mlxfwmanager -u -d $PCIBUS -i fw-ConnectX2-rel-sriov-enabled.bin -f
    

相关内容