e1000e | 英特尔板载局域网问题 | ubuntu 18.04/19.10/20.04

e1000e | 英特尔板载局域网问题 | ubuntu 18.04/19.10/20.04

TL;DR:我的网络接口似乎不接受/加载/安装适当的内核驱动程序模块 e1000e。唯一的解决方案提示来自 dmesg,它暗示已加载另一个驱动程序 (igb)。

预期结果:
使用板载 LAN,而不是使用手机的 USB 网络共享。

实际结果:板载局域网不会从内核模块加载/绑定驱动程序。

受影响的硬件:
技嘉 GA-Z87-UD3H - 板载 LAN - 英特尔公司以太网连接 I217-V (rev 05)

已尝试:我已在三种启动上尝试过此操作:原始 kubuntu 18.04 LTS。大多数故障排除都发生在此启动上,但我还在单独的 SSD 上尝试了其他一些启动,以查看是否特定于版本。

我已经对以下内核的源内核模块进行了 modprobed 和编译:4.15.0-96-lowlatency(随 18.04 ubuntu-studio 提供)5.3.0-26/43/45/46-generic(原始 kubuntu 18.04,pop_os)5.4.0-21/23-lowlatency(ubuntu-studio 20.04)。

在过去的 6 个月中,它曾经在 kubuntu 18.04 安装上运行。过去,它曾在相同的硬件上运行过 win 8.1、win 10、macos maverick/sierra/high sierra 以及 ubuntu 16.04、18.04。

受影响的设备:

sudo lshw -c network
[sudo] password for -: 
  *-network UNCLAIMED       
       description: Ethernet controller
       product: Ethernet Connection I217-V
       vendor: Intel Corporation
       physical id: 19
       bus info: pci@0000:00:19.0
       version: 05
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi cap_list
       configuration: latency=0
       resources: memory:f7900000-f791ffff memory:f793d000-f793dfff ioport:f080(size=32)

sudo lspci -nnk 给我

00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection I217-V [8086:153b] (rev 05)
        DeviceName:  Onboard LAN
        Subsystem: Gigabyte Technology Co., Ltd Ethernet Connection I217-V [1458:e000]
        Kernel modules: e1000e

请注意,所有正常工作的设备/模块上都没有出现“内核驱动程序正在使用:”这一行。

modprobe e1000e 
modprobe -a e1000e

什么也不做。

因此我尝试从源代码进行编译:(对于 5.4 模块,我遵循了https://github.com/koljah-de/e1000e-dkms-debian更改 /usr/src/e1000e-3.6.0/src/kcompat.h 中的一行:

line:command
2799:#include <linux/pci-aspm.h>

line:command
2799:#include <linux/pci.h>

效果很好)

我尝试了简单的方法make make install,重启系统,但没有任何效果。我尝试了前面提到的 git 中的 deb 安装方法。我尝试了

dkms add -m e1000e -v 3.6.0
dkms build -m e1000e -v 3.6.0
dkms  -m e1000e -v 3.6.0

最后一次尝试手动绑定接口:

# apt install dpdk

sudo dpdk-devbind.py -b e1000e 0000:00:19.0
[sudo] password for -: 
Error: bind failed for 0000:00:19.0 - Cannot bind to driver e1000e

从 journalctl 我有以下两行相关内容:

apr 10 19:55:43 a-Z87X-UD3H kernel: e1000e: probe of 0000:00:19.0 failed with error -2
apr 10 19:55:42 a-Z87X-UD3H kernel: e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode

从 dmesg 中可以看到这些:

[ 2173.754182] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.6.0-k
[ 2173.754183] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 5735.904821] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 5736.742509] e1000e: probe of 0000:00:19.0 failed with error -2
[ 5736.742623] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 5737.579534] e1000e: probe of 0000:00:19.0 failed with error -2

从此 dmesg 判断,接口正在加载 igb 内核模块,而该模块在其他地方没有出现,但这可能是问题的原因。但是,rmmod/modprobe -r 无法将其分离,因为从技术上讲它并未加载... 我也未能重现此 dmesg。我被难住了。

相关内容