Можно ли обновить прошивку Supermicro ConnectX-3 более новой прошивкой от Mellanox?

У меня есть сервер Supermicro с установленной материнской платой X9DRT-HIBFF.

Он имеет встроенный Infiniband на базе чипсета ConnectX-3 от Mellanox.

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. Описания почти все идентичны с одним и тем же идентификатором вендора 4099. Единственное различие между ними - это имя и PSID. Мой PSID: SM_2191000001000, который отличается от любого из них, как и ожидалось, потому что это от Supermicro.

1 ответ

Решение
  1. Скачайте прошивку и распакуйте ее

  2. Загрузите некоторые инструменты от Mellanox и установите соответствующий файл deb, чтобы получить утилиту mlxburn в вашей установке Ubuntu.

    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. Добавьте строку "sriov_en = true" в раздел [HCA] для INI-файла.

  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
    
Другие вопросы по тегам