É possível atualizar o Firmware Supermicro ConnectX-3 com um firmware mais novo da Mellanox?

3

Eu tenho um servidor Supermicro com uma placa-mãe X9DRT-HIBFF instalada.

Ele tem Infiniband on-board baseado no chipset ConnectX-3 da Mellanox.

Supermicro fornece firmware versão 2.10.0700 e infelizmente não suporta SR-IOV, é muito antigo. Embora o chipset e o BIOS suportem isso.

O novo firmware da Mellanox permite esse recurso. A própria Mellanox fornece firmware para alguns parceiros OEM, mas não para a Supermicro.

ibv_devinfo mostra:

$ 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

Então a questão é: o firmware da Mellanox pode ser gravado nesta placa OEM? Se sim, como eu selecionaria qual deles queimar?

Analisando esta tabela de firmware , o firmware correspondente é vinculado a um arquivo ZIP ligeiramente diferente. As descrições são quase todas idênticas com o mesmo id de peça do fornecedor de 4099. A única diferença entre elas é o nome e o PSID. Meu PSID é: SM_2191000001000 O que é diferente de qualquer um deles, como esperado, porque é da Supermicro.

    
por Matt 27.09.2013 / 03:43

1 resposta

1
  1. Faça o download do firmware e extraia-o

  2. Faça o download de algumas ferramentas do Mellanox e instale o arquivo deb correspondente para obter o utilitário "mlxburn" na sua instalação do 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. Extraia o arquivo ini necessário para gerar o novo firmware a partir do firmware atual. Isso incluirá o PSID correto.

    mstflint -d $PCIBUS dc > myinifile.ini
    

Altere a variável $ PCIBUS para o barramento PCI onde sua placa está conectada (por exemplo, 04.00.0)

  1. Adicione a linha "sriov_en = true" na seção [HCA] do arquivo ini

  2. Gere seu firmware assim (testei este comando para o 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. Instale o novo firmware no seu cartão

     mlxfwmanager -u -d $PCIBUS -i fw-ConnectX2-rel-sriov-enabled.bin -f
    
por 02.10.2013 / 14:31