Supermicro

是否可以使用 Mellanox 的更新韌體更新 Supermicro ConnectX-3 韌體?

  • October 2, 2013

我有一台裝有X9DRT-HIBFF主機板的 Supermicro 伺服器。

它具有基於 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. 下載韌體並解壓
  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
  1. 從目前韌體中提取生成新韌體所需的 ini 文件。這將包括正確的 PSID。
mstflint -d $PCIBUS dc > myinifile.ini

將 $PCIBUS 變數更改為您的卡所連接的 PCI 匯流排(即 04.00.0)

  1. 在下面添加“sriov_en = true”行

$$ HCA $$ini 文件的部分 5. 像這樣生成你的韌體(我為 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
  1. 在卡中安裝新韌體
mlxfwmanager -u -d $PCIBUS -i fw-ConnectX2-rel-sriov-enabled.bin -f

引用自:https://serverfault.com/questions/542031