Назад | Перейти на главную страницу

Можно ли обновить прошивку 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. Скачайте прошивку и распакуйте ее

  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