Можно ли обновить прошивку 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 ответ
Скачайте прошивку и распакуйте ее
Загрузите некоторые инструменты от 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
Извлеките INI-файл, необходимый для создания новой прошивки из вашей текущей прошивки. Это будет включать в себя правильный PSID.
mstflint -d $PCIBUS dc > myinifile.ini
Измените переменную $PCIBUS на шину PCI, к которой подключена ваша карта (т.е. 04.00.0)
Добавьте строку "sriov_en = true" в раздел [HCA] для INI-файла.
Создайте свою прошивку следующим образом (я тестировал эту команду для 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
Установите новую прошивку на карту
mlxfwmanager -u -d $PCIBUS -i fw-ConnectX2-rel-sriov-enabled.bin -f