As pessoas parecem estar felizes com o Mellanox ConnectX-2s de segunda mão no Linux, então eu peguei um par. Ambos os cartões resultam em uma interface de rede exibida em um computador, mas nenhum deles aparece no outro computador.
Computador de trabalho:
Não funciona no computador
Cartões:
Part Number: 666172-001
Description: HP ConnectX-2 Lx EN network interface card; single-port SFP+; PCIe2.0 5.0GT/s; mem-free; RoHS R6
PSID: HP_0F60000010
FW 2.9.1000
Tentativa 1
Após o logotipo inicial da ASUS, uma tela em branco com um cursor piscando aparece e nunca chega ao GRUB. O outro computador estava mostrando "Pressione alguma tecla para entrar no gerenciador de inicialização da rede Mellanox" neste momento. (Eu gostaria de poder desativar esta tela completamente porque eu nunca vou inicializar PXE).
Tentativa 2
Eu reiniciei a caixa e ele inicializou o Linux desta vez, mas o kernel reporta:
pci 0000:01:00.0: BAR 0: error updating (high 0x000000 != 0xffffffff)
mlx4_core: Mellanox ConnectX core driver v2.2-1 (Feb, 2014)
mlx4_core: Initializing 0000:01:00.0
mlx4_core 0000:01:00.0: enabling device (0000 -> 0002)
mlx4_core 0000:01:00.0: Multiple PFs not yet supported - Skipping PF
mlx4_core: probe of 0000:01:00.0 failed with error -22
Minha Intel onboard não funciona mais:
e1000e 0000:00:19.0: can't find IRQ for PCI INT A; probably buggy MP table
e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
e1000e: probe of 0000:00:19.0 failed with error -2
A remoção da placa Mellanox não traz a placa Intel de volta. A Intel só retorna depois que eu desliguei a placa-mãe e a liguei novamente.
Tentativa 3
Eu desativei todas as configurações de economia de energia do PCIe na configuração UEFI, experimente uma porta PCIe diferente e passe acpi = off ou pcie_aspm = off para o Linux.
mlx4_core: Mellanox ConnectX core driver v2.2-1 (Feb, 2014)
mlx4_core: Initializing 0000:02:00.0
mlx4_core 0000:02:00.0: Missing DCS, aborting (driver_data: 0x2, pci_resource_flags(pdev, 0):0x0)
De acordo com a fonte do driver, isso significa que o "PCIe BAR" era de 4 MB, mas esperava 1 MB? Talvez eu precise desabilitar o SR-IOV no cartão, mas não sei como; para o ConnectX-3, isso pode ser feito através do mlxconfig. Eu nem preciso de SR-IOV, não estou planejando usar VFs.
Tentativa 4
Baixei uma imagem de firmware que não é da marca HP no site da Mellanox, fiz o backup da imagem atual e exibi uma delas usando:
sudo flint -d /dev/mst/mt26448_pci_cr0 -i fw-ConnectX2-rel-2_9_1200-MNPA19_A1-A3-FlexBoot-3.3.400.bin -allow_psid_change burn
Agora parece com isso:
Part Number: MNPA19_A1-A3
Description: ConnectX-2 Lx EN network interface card; single-port SFP+; PCIe2.0 5.0GT/s; mem-free; RoHS R6
PSID: MT_0F60110010
FW 2.9.1200
Agora, quando eu inicializo com pcie_aspm = off, recebo isto:
mlx4_core 0000:02:00.0: command 0xff6 timed out (go bit not cleared)
mlx4_core 0000:02:00.0: device is going to be reset
mlx4_core 0000:02:00.0: PCI can't be accessed to read vendor id
mlx4_core 0000:02:00.0: device was reset successfully
mlx4_core 0000:02:00.0: RUN_FW command failed, aborting
mlx4_core 0000:02:00.0: Failed to start FW, aborting
mlx4_core 0000:02:00.0: Failed to init fw, aborting.
mlx4_core: probe of 0000:02:00.0 failed with error -5
De acordo com uma FAQ OFED, "A mensagem de erro acima indica que os recursos de hardware do dispositivo não correspondem às configurações de parâmetro do arquivo de configuração do firmware (.ini)", mas ainda funciona na outra máquina.
Posso obter este cartão para trabalhar com esta placa-mãe? (Funções virtuais não necessárias)