Intel igb 驱动程序 - PCIe 链路丢失

Intel igb 驱动程序 - PCIe 链路丢失

Ubuntu 20.04(5.4.0-70-generic #78-Ubuntu SMP)配备英特尔千兆 82580 4 端口

启动后:

[    3.400584] igb 0000:02:00.0: Intel(R) Gigabit Ethernet Network Connection
[    3.400913] igb 0000:02:00.0: eth0: (PCIe:5.0Gb/s:Width x4) 00:1b:21:a7:56:5c
[    3.401240] igb 0000:02:00.0: eth0: PBA No: Unknown
[    3.401597] igb 0000:02:00.0: Using MSI-X interrupts. 8 rx queue(s), 8 tx queue(s)
[    3.593189] igb 0000:02:00.0 enp2s0f0: renamed from eth0
[   10.289868] igb 0000:02:00.0 enp2s0f0: igb: enp2s0f0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX

一段时间后:

[ 1088.883151] igb 0000:02:00.0 enp2s0f0: PCIe link lost

查看lspci

$ lspci | grep Ethernet
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-LM (rev 10)
02:00.0 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev ff)
02:00.1 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev ff)
02:00.2 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev ff)
02:00.3 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev ff)

查看/sys

$ sudo find /sys | grep drivers.*02:00
/sys/bus/pci/drivers/igb/0000:02:00.2
/sys/bus/pci/drivers/igb/0000:02:00.0
/sys/bus/pci/drivers/igb/0000:02:00.3
/sys/bus/pci/drivers/igb/0000:02:00.1

我也尝试重新加载 igb 驱动程序:

$ modprobe -r igb
$ modprobe igb

但我得到了:

[63576.736878] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.6.0-k
[63576.736879] igb: Copyright (c) 2007-2014 Intel Corporation.
[63576.756936] igb 0000:02:00.0: Refused to change power state, currently in D3
[63576.757258] igb 0000:02:00.0 0000:02:00.0 (uninitialized): PCIe link lost
[63577.080906] igb 0000:02:00.0: PHY reset is blocked due to SOL/IDER session.
[63578.798966] igb 0000:02:00.0: The NVM Checksum Is Not Valid
[63578.813006] igb: probe of 0000:02:00.0 failed with error -5

我也尝试使用pcie_aspm=off下面的答案,但也没有用。

https://serverfault.com/questions/193114/linux-e1000e-intel-networking-driver-problems-galore-where-do-i-start

有什么建议可以修复它吗?可能是硬件问题?

答案1

可能的解决方案,如参考文献中建议的那样。YMMV。

  1. 尝试 (參考):

    $ modprobe -r igb
    $ sleep 1
    $ modprobe igb
    $ sleep 1
    $ systemctl restart network
    
  2. 问题可能与驱动程序有关,具体取决于内核版本。因此,您可以尝试更新内核(目前可用 5.8.0,如果手动安装,甚至可以使用 5.11.0)。如果您出于任何原因无法使用这些较新的内核,至少它会帮助您进行诊断。

  3. 显然,使用较旧的内核也可能摆脱这个问题。我没有找到关于哪个转换导致问题的具体信息,但尝试使用较早的内核并不难,至少对于诊断问题来说是这样。

建议增加获得帮助和解决问题的机会:

  1. 发布一些关于的上下文... PCIe link lost

  2. 每当您发布命令的输出时,请发布用于生成该输出的确切命令。

  3. 指定您使用的位置pcie_aspm=off

  4. 发布建议的每个具体解决方案的输出或结果(或者,如果您没有尝试过,至少提到原因,以便其他人知道)。

  5. 使用添加的信息更新问题,而不是将其分散在评论中。如果可以提高可读性,请稍微重新组织一下。

有关的

  1. https://community.ipfire.org/t/intermittent-problem-with-intel-igb-driver-and-quad-port-i211-gigabit-card/4001(“... 修复此问题的唯一方法是重新加载 igb 内核模块并重新启动所有 IPFire 网络,而无需重新启动!”)。

相关内容