20.04 带有 I217-LM 驱动程序版本 = 3.8.7-NAPI 不会获取地址

20.04 带有 I217-LM 驱动程序版本 = 3.8.7-NAPI 不会获取地址

我发现板载 NIC 上的 i217 对很多人来说都存在很大问题,并且我尝试了列出的修复方法 - 基本上更新驱动程序(至 3.8.7,截至该日期的最新版本)日期并设置 pcie_aspm=off 并重新启动。

该卡不支持 DHCP,这不是什么大问题,但它也不支持固定地址。 ifconfig返回

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::3bc8:75fd:5185:caaf  prefixlen 64  scopeid 0x20<link>
        ether 50:65:f3:39:5b:03  txqueuelen 1000  (Ethernet)
        RX packets 18805  bytes 1537159 (1.5 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 476  bytes 114536 (114.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 20  memory 0xef100000-ef120000  

sudo modprobe -r e1000e && sudo modprobe e1000e紧接着sudo update-initramfs -u是固定​​地址(.17)

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.17  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::3bc8:75fd:5185:caaf  prefixlen 64  scopeid 0x20<link>

但 ping 网关仍然失败:

ping 192.168.100.11
PING 192.168.100.11 (192.168.100.11) 56(84) bytes of data.
From 192.168.100.17 icmp_seq=1 Destination Host Unreachable
From 192.168.100.17 icmp_seq=2 Destination Host Unreachable
From 192.168.100.17 icmp_seq=3 Destination Host Unreachable
From 192.168.100.17 icmp_seq=4 Destination Host Unreachable

(同一 LAN 段上的其他机器也无法访问/ping 该地址。)

请注意,NIC 在 Windows 7(双启动)下工作正常,并且 Ubuntu 与我的 cheezy USB wifi 接口配合使用没有任何问题。

我订购了一款便宜的 Realtek RTL8111H PCIe NIC,但到我这里至少还要两周才能收到。如前所述,Wifi 可以使用,但我正在尝试进行一些视频工作,与千兆铜线相比,长延迟 30-50mbps 的共享 wifi 链接相当痛苦。此外,Synergy 在 wifi 上的表现很差。

如果有人有任何线索,我将不胜感激。关键部分是:

$ uname -a
Linux dg-dl 5.8.0-34-generic #37~20.04.2-Ubuntu SMP Thu Dec 17 14:53:00 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

$ sudo lshw -c network
  *-network                 
       description: Ethernet interface
       product: Ethernet Connection I217-LM
       vendor: Intel Corporation
       physical id: 19
       bus info: pci@0000:00:19.0
       logical name: eno1
       version: 05
       serial: 50:65:f3:39:5b:03
       size: 1Gbit/s
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.8.7-NAPI duplex=full firmware=0.13-4 ip=192.168.100.17 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
       resources: irq:26 memory:ef100000-ef11ffff memory:ef139000-ef139fff ioport:f040(size=32)
  *-network
       description: Wireless interface
       physical id: 3
       bus info: usb@3:1
       logical name: wlxaca2131ef18e
       serial: ac:a2:13:1e:f1:8e
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=mt7601u driverversion=5.8.0-34-generic firmware=N/A ip=192.168.100.47 link=yes multicast=yes wireless=IEEE 802.11

$ modinfo e1000e | grep version
version:        3.8.7-NAPI
srcversion:     035BD57B8D93A45D1668FCC


$ lspci -nnk | grep 0200 -A3
00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection I217-LM [8086:153a] (rev 05)
    DeviceName:  Onboard LAN
    Subsystem: Hewlett-Packard Company Ethernet Connection I217-LM [103c:1906]
    Kernel driver in use: e1000e

$ dmesg | grep e1000e
[16807.605025] e1000e: Intel(R) PRO/1000 Network Driver - 3.8.7-NAPI
[16807.605026] e1000e: Copyright(c) 1999 - 2020 Intel Corporation.
[16807.605193] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[16807.697918] e1000e 0000:00:19.0 0000:00:19.0 (uninitialized): registered PHC clock
[16807.770728] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 50:65:f3:39:5b:03
[16807.770731] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
[16807.770756] e1000e 0000:00:19.0 eth0: MAC: 11, PHY: 12, PBA No: FFFFFF-0FF
[16807.773042] e1000e 0000:00:19.0 eno1: renamed from eth0
[16813.146515] e1000e 0000:00:19.0 eno1: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx

答案1

好吧...系统更新到内核 5.8.0-40,同样的问题又出现了。/usr/lib/modules 中的 4 个 e1000e 驱动程序

/usr/lib/modules/5.8.0-40-generic/kernel/drivers/net/ethernet/intel/e1000e
/usr/lib/modules/5.8.0-38-generic/kernel/drivers/net/ethernet/intel/e1000e
/usr/lib/modules/5.8.0-36-generic/kernel/drivers/net/ethernet/intel/e1000e
/usr/lib/modules/5.8.0-34-generic/updates/drivers/net/ethernet/intel/e1000e

像以前一样删除它们,重新启动,但这次没有运气。

$ lspci -nnk | grep 0200 -A3
00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection I217-LM [8086:153a] (rev 05)
    DeviceName:  Onboard LAN
    Subsystem: Hewlett-Packard Company Ethernet Connection I217-LM [103c:1906]
    Kernel driver in use: e1000e

$ modinfo e1000e
filename:       /lib/modules/5.8.0-40-generic/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko
modinfo: ERROR: could not get modinfo from 'e1000e': No such file or directory

将 e1000e 内核模块移动到 5.8.0-40 目录并没有解决问题 :/

$ ifconfig
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::3bc8:75fd:5185:caaf  prefixlen 64  scopeid 0x20<link>
        ether 50:65:f3:39:5b:03  txqueuelen 1000  (Ethernet)
        RX packets 221  bytes 34968 (34.9 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 62  bytes 10857 (10.8 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 20  memory 0xef100000-ef120000  

(link "good" but will not connect pass datas)

$ modinfo e1000e | grep version
version:        3.2.6-k
srcversion:     0E07DC95DBB1EAF587D0B9D

(same as was working before)

$ lspci -nnk | grep 0200 -A3
00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection I217-LM [8086:153a] (rev 05)
    DeviceName:  Onboard LAN
    Subsystem: Hewlett-Packard Company Ethernet Connection I217-LM [103c:1906]
    Kernel driver in use: e1000e

所以回到计划 b,安装 PCI NIC 并绕过主板 I217-LM。

答案2

我将 e1000e 内核模块从 lib/modules 中移出,具体来说

/lib/modules/5.8.0-34-generic/updates/drivers/net/ethernet/intel/e1000e/e1000e.ko
/lib/modules/5.8.0-34-generic/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko

然后重新启动。一切正常,甚至 DHCP 也是如此。:-)

我不确定为什么它不能在默认安装下工作。这似乎是驱动程序问题 - 3.2.6k 似乎内置在内核中。这很好,因为

  • e1000e-3.8.4英特尔网站无法编译。
  • e1000e-3.8.7 在源码(“在 Linux OS API 发生变化后修复了最新内核的编译”) 可以编译,但是对我来说不起作用。

更新上面提供的信息:

 sudo lshw -c network
  *-network                 
       description: Ethernet interface
       product: Ethernet Connection I217-LM
       vendor: Intel Corporation
       physical id: 19
       bus info: pci@0000:00:19.0
       logical name: eno1
       version: 05
       serial: 50:65:f3:39:5b:03
       size: 1Gbit/s
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k duplex=full firmware=0.13-4 ip=192.168.100.17 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
       resources: irq:26 memory:ef100000-ef11ffff memory:ef139000-ef139fff ioport:f040(size=32)
  *-network DISABLED
       description: Wireless interface
       physical id: 3
       bus info: usb@3:1
       logical name: wlxaca2131ef18e
       serial: ac:a2:13:1e:f1:8e
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=mt7601u driverversion=5.8.0-36-generic firmware=N/A link=no multicast=yes wireless=IEEE 802.11

(廉价的 wifi 适配器被禁用,仍然有网络数据!)

$ modinfo e1000e | grep version
version:        3.2.6-k
srcversion:     0E07DC95DBB1EAF587D0B9D

$ lspci -nnk | grep 0200 -A3
00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection I217-LM [8086:153a] (rev 05)
    DeviceName:  Onboard LAN
    Subsystem: Hewlett-Packard Company Ethernet Connection I217-LM [103c:1906]

$ dmesg | grep e1000e
[    1.235411] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    1.235412] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    1.235550] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[    1.310701] e1000e 0000:00:19.0 0000:00:19.0 (uninitialized): registered PHC clock
[    1.379360] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 50:65:f3:39:5b:03
[    1.379362] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
[    1.379397] e1000e 0000:00:19.0 eth0: MAC: 11, PHY: 12, PBA No: FFFFFF-0FF
[    1.400975] e1000e 0000:00:19.0 eno1: renamed from eth0
[   21.124245] e1000e 0000:00:19.0 eno1: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx

编辑 - 更新至内核 5.8.0.40 并且网卡以完全相同的方式出现故障,但相同的修复不起作用:

好吧...系统更新到内核 5.8.0-40,同样的问题又出现了。/usr/lib/modules 中的 4 个 e1000e 驱动程序

/usr/lib/modules/5.8.0-40-generic/kernel/drivers/net/ethernet/intel/e1000e
/usr/lib/modules/5.8.0-38-generic/kernel/drivers/net/ethernet/intel/e1000e
/usr/lib/modules/5.8.0-36-generic/kernel/drivers/net/ethernet/intel/e1000e
/usr/lib/modules/5.8.0-34-generic/updates/drivers/net/ethernet/intel/e1000e

像以前一样删除它们,重新启动,但这次没有运气。

$ lspci -nnk | grep 0200 -A3
00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection I217-LM [8086:153a] (rev 05)
    DeviceName:  Onboard LAN
    Subsystem: Hewlett-Packard Company Ethernet Connection I217-LM [103c:1906]
    Kernel driver in use: e1000e

$ modinfo e1000e
filename:       /lib/modules/5.8.0-40-generic/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko
modinfo: ERROR: could not get modinfo from 'e1000e': No such file or directory

于是尝试将其移回,

# modinfo e1000e | grep version
version:        3.2.6-k
srcversion:     0E07DC95DBB1EAF587D0B9D

这是与内核 5.8.0.34 配合使用的版本。
所以我想是时候实施 B 计划了:添加网卡,每次内核更新都要调试这个,这不是一个理想的解决方案。

答案3

问题解决了——安装了一张新网卡。如果这是一台主板上有这种糟糕的 i217 NIC 的笔记本电脑,那会很烦人,但作为 SFF 工作站,有空间安装支持更好的卡。我安装了 Syba 双端口千兆卡(因为为什么不是两个端口……)SD-PEX24041。工作正常,不需要依赖可疑的(但比英特尔的 NIC 可靠得多)USB-WiFI 接口。

ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.49  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::dc98:973e:fd70:58ce  prefixlen 64  scopeid 0x20<link>
        ether 00:13:3b:5a:e5:bd  txqueuelen 1000  (Ethernet)
        RX packets 36297  bytes 4150450 (4.1 MB)
        RX errors 0  dropped 6  overruns 0  frame 0
        TX packets 25729  bytes 1998990 (1.9 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

现在

$ lspci -nnk | grep 0200 -A3
00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection I217-LM [8086:153a] (rev 05)
    DeviceName:  Onboard LAN
    Subsystem: Hewlett-Packard Company Ethernet Connection I217-LM [103c:1906]
    Kernel driver in use: e1000e
--
05:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
    Subsystem: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:0123]
    Kernel driver in use: r8169
    Kernel modules: r8169
06:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
    Subsystem: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:0123]
    Kernel driver in use: r8169
    Kernel modules: r8169

支持 Realtek,嘘 Intel。

相关内容