问题:
我最近购买了一些新硬件,但在使以太网正常工作时遇到了问题,因为我尝试过的内核和驱动程序的组合都不起作用。我假设这个问题要么是硬件故障,要么是设备支持不佳(由于它最近才发布)。但考虑到我在下面所做的尝试,我想知道下一步应该采取什么措施来解决该问题。
平台:
- 中央处理器:英特尔酷睿 i3-10100
- MB:技嘉B460M-D3H
尝试和错误:
我已尝试(未成功)使用以下内核和驱动程序版本的组合:
- Debian 10.7 (Buster),内核 4.19,内核 e1000e
- Debian 10.7(Buster),内核4.19,编译e1000e 3.8.4
- Debian 10.7(Buster),内核4.19,编译e1000e 3.8.7
- Arch Linux LiveUSB,内核 5.9,内核 e1000e
lspci
使用 2020-12-01 Arch Linux 安装介质,我从、dmesg
等获得以下诊断输出:
ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
uname -a
Linux archiso 5.9.11-arch2-1 #1 SMP PREEMPT Sat, 28 Nov 2020 02:07:22 +0000 x86_64 GNU/Linux
lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation Device [8086:9b63] (rev 03)
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) [8086:1901] (rev 03)
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:9bc8] (rev 03)
00:14.0 USB controller [0c03]: Intel Corporation Device [8086:a3af]
00:14.2 Signal processing controller [1180]: Intel Corporation Device [8086:a3b1]
00:16.0 Communication controller [0780]: Intel Corporation Device [8086:a3ba]
00:17.0 SATA controller [0106]: Intel Corporation Device [8086:a382]
00:1b.0 PCI bridge [0604]: Intel Corporation Device [8086:a3e9] (rev f0)
00:1b.4 PCI bridge [0604]: Intel Corporation Device [8086:a3eb] (rev f0)
00:1c.0 PCI bridge [0604]: Intel Corporation Device [8086:a394] (rev f0)
00:1d.0 PCI bridge [0604]: Intel Corporation Device [8086:a398] (rev f0)
00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:a3c8]
00:1f.2 Memory controller [0580]: Intel Corporation Device [8086:a3a1]
00:1f.3 Audio device [0403]: Intel Corporation Device [8086:a3f0]
00:1f.4 SMBus [0c05]: Intel Corporation Device [8086:a3a3]
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (12) I219-V [8086:0d55]
01:00.0 Serial Attached SCSI controller [0107]: Broadcom / LSI SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] [1000:0072] (rev 03)
02:00.0 PCI bridge [0604]: Integrated Technology Express, Inc. IT8892E PCIe to PCI Bridge [1283:8892] (rev 41)
内核4.19似乎不支持我的以太网芯片组(设备代码0d55),似乎只在5.5及更高版本中支持。所以在我看来不被支持是有道理的库存Debian Buster 安装,但自编译的 3.8.4/3.8.7 e1000e 驱动程序仍然损坏,这是没有意义的,因为我的芯片组从 3.5.1 版本开始应该就支持了
dmesg | grep e1000e
[ 7.373433] e1000e: Intel(R) PRO/1000 Network Driver
[ 7.373434] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 7.373684] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 7.749973] e1000e 0000:00:1f.6 0000:00:1f.6 (uninitialized): Failed to disable ULP
[ 8.340480] e1000e: probe of 0000:00:1f.6 failed with error -2
请注意 PCI 地址0000:00:1f.6
,它对应于lspci
输出中的集成 I219-V 芯片组。
ULP 错误出现在 Arch Linux liveUSB 中,但它没有出现在我的 Debian Stable 测试中。然而,探针错误仍然存在。 -2 的错误对应于-E1000_ERR_PHY
,有人报告有以下解决方案:
- 禁用 LAN 唤醒
- 拔掉电源并等待几个小时到一天,然后重试
- 接口上线前请勿插入以太网
我已经尝试过这些都没有效果。 IRC 上的朋友建议,ULP(超低功耗)错误可能表明该卡一直处于 ULP 模式,这就是为什么尝试探测设备会因 PHY 错误而失败。
一位建议说这个邮件列表线程可能相关,但我不确定尝试获取他们的提交源代码并自己应用所有相关补丁是否会有帮助。如果有人坚持这样做,我很乐意尝试。
更新1:一位朋友提出了一个聪明的主意,尝试重新安装 Windows 来帮助诊断是否是硬件问题。安装 Windows 10 并使用提供的主板驱动程序包后,该卡被识别,但 Windows 设备管理器给出“设备无法启动(代码 10)”错误。 (我认为此时很明显这不是 *nix 特定的问题,所以我应该关闭问题并直接联系 Gigabyte/Intel,或者要求某人将这篇文章移至超级用户站点。)
答案1
事实证明,这很可能是硬件问题。我更换了主板,奇怪的是,网络硬件被 Debian 10.7 安装程序识别(看来我对 Debian 内核中包含哪些版本的 e1000e 的理解是错误的......我应该对此进行调查。)
希望其他人可以利用我的反复试验来避免我过去一周遇到的同样头痛:)