如何让 Mellanox ConnectX-2 在这款华硕台式机主板上运行?

如何让 Mellanox ConnectX-2 在这款华硕台式机主板上运行?

人们似乎对 Linux 上的二手 Mellanox ConnectX-2s 很满意,所以我买了一对。两张卡都导致网络接口在一台计算机上显示,但在另一台计算机上均不显示。

工作计算机:

  • EVGA 120-LF-E650 台式机主板
  • Ubuntu 16.04 LTS
  • Linux 4.4.0

电脑不工作

  • 华硕 Z87-PLUS UEFI 台式机主板
  • ArchLinux
  • Linux 4.4.5

牌:

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

尝试 1

在华硕启动徽标之后,出现一个空白屏幕,其中只有一个闪烁的光标,并且永远不会进入 GRUB。此时另一台计算机显示“按某个键进入 Mellanox 网络启动管理器”。(我希望我可以完全禁用此屏幕,因为我永远不会进行 PXE 启动。)

第二次尝试

我重置了盒子并且这次启动了 Linux 但是内核报告:

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

我的板载英特尔不再工作:

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

移除 Mellanox 卡并不能恢复 Intel 卡。只有我切断主板电源并重新打开后,Intel 卡才能恢复。

第三次尝试

我在 UEFI 设置中禁用了所有 PCIe 省电功能,尝试了不同的 PCIe 端口,并将 acpi=off 或 pcie_aspm=off 传递给 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)

根据驱动程序源,这意味着“PCIe BAR”为 4 MB,但预期为 1 MB?也许我需要禁用卡上的 SR-IOV,但我不知道该怎么做;对于 ConnectX-3,可以通过 mlxconfig 完成。我甚至不需要 SR-IOV,我不打算使用 VF。

第四次尝试

我从 Mellanox 网站下载了非 HP 品牌的固件映像,备份了当前映像,然后使用以下命令刷新了一张卡:

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

现在看起来像这样:

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

现在,当我使用 pcie_aspm=off 启动它时,我得到以下信息:

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

根据 OFED 常见问题解答,“上述错误信息表明设备的硬件功能与固件配置 (.ini) 文件参数设置不匹配”,但它在另一台机器上仍然可以工作。

我能让这张卡与这张主板配合使用吗?(不需要虚拟功能)

相关内容