我发现板载 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 似乎内置在内核中。这很好,因为
更新上面提供的信息:
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。