![安装后网卡无法识别](https://linux22.com/image/209792/%E5%AE%89%E8%A3%85%E5%90%8E%E7%BD%91%E5%8D%A1%E6%97%A0%E6%B3%95%E8%AF%86%E5%88%AB.png)
我在识别计算机上的网络适配器时遇到了一个奇怪的问题。计算机有 6 个网络端口,其中一个在 Oracle Linux 8 中无法正常工作。我没有尝试过其他操作系统,因为我需要在那台计算机上运行 Oracle Linux。
当我开始操作系统安装时,所有 6 个网络适配器都会显示在安装网络设置中,并且所有接口都可以工作。安装操作系统时,enp0s25
缺少一个适配器 ( )。
这是lscpi -vvv
该适配器的输出:
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I218-LM (rev 03)
Subsystem: Intel Corporation Device 0000
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 20
Region 0: Memory at c1600000 (32-bit, non-prefetchable) [size=128K]
Region 1: Memory at c162e000 (32-bit, non-prefetchable) [size=4K]
Region 2: I/O ports at 8080 [size=32]
Capabilities: [c8] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 00000000fee00338 Data: 0000
Capabilities: [e0] PCI Advanced Features
AFCap: TP+ FLR+
AFCtrl: FLR-
AFStatus: TP-
Kernel modules: e1000e
ip address
输出:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 00:01:c0:31:49:20 brd ff:ff:ff:ff:ff:ff
3: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 00:01:c0:31:48:f5 brd ff:ff:ff:ff:ff:ff
4: enp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 00:01:c0:30:53:86 brd ff:ff:ff:ff:ff:ff
5: enp6s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 00:01:c0:31:49:17 brd ff:ff:ff:ff:ff:ff
6: enp8s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 00:01:c0:31:49:1a brd ff:ff:ff:ff:ff:ff
7: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:6b:dd:fb brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
8: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:6b:dd:fb brd ff:ff:ff:ff:ff:ff
同样,nmcli device show
不显示enp0s25
。
如果我将电缆插入该适配器,指示灯会显示链接已在硬件级别建立。搜索ens0p25
in /var/log
show 结果仅在/var/log/anaconda
目录中,这证明适配器在安装期间工作,而不是在安装操作系统后工作。
我还有另一批identical
显然是不同代的计算机。该计算机在 00:19.0 上没有网络适配器I218-LM (rev 04)
。rev 03
为此,一个enp0s25
适配器可以完美地工作。
我怀疑 e1000e 驱动程序有问题,但我很困惑为什么适配器在安装过程中可以工作。安装时使用的驱动与操作系统中安装的驱动有什么区别?我可以通过某种方式将驱动程序从安装过程移植到操作系统驱动程序吗?我正在使用完全自动化的安装,并且不想手动编译驱动程序。但是,如果我找到另一个驱动程序的解决方案,我可能会被迫这样做。任何能让这个网卡工作的东西。
我也在考虑尝试更新该适配器上的固件,但我不确定这是否有帮助,而且我还不知道是否可以做到这一点。我只找到了一些如何上传启动固件以进行局域网唤醒的信息。
附加信息:我安装了Ubuntu Desktop 22.04,看看是否有什么不同。有趣且不幸的是,问题是相同的。当从安装 USB 驱动器启动时,我可以按“尝试 Ubuntu”。enp0s25
存在并在安装过程中工作。然后我在计算机上安装 Ubuntu 22.04,启动进入已安装的系统后,网络适配器不再可用。命令 lspci、nmcli、ip 的输出是相同的。 Ubuntu 22.04.1使用5.15内核,而Oracle Linux 8.1中使用4.18。
另一个更新:CentOS7 安装显示相反的行为。安装过程中未检测到网卡。安装 CentOS7 后,网络适配器就出现在系统中并可以工作。
计算机是带有 6 个以太网适配器的 Compulab IPC2。显然,我们拥有同一计算机型号的两代不同版本。
工作模型 lspci 输出:
00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:16.3 Serial controller: Intel Corporation 8 Series HECI KT (rev 04)
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I218-LM (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 1 (rev e4)
00:1c.1 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 2 (rev e4)
00:1c.2 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 4 (rev e4)
00:1c.4 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 5 (rev e4)
00:1c.5 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 6 (rev e4)
00:1d.0 USB controller: Intel Corporation 8 Series USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)
01:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
03:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
04:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)
05:00.0 PCI bridge: PLX Technology, Inc. PEX 8603 3-lane, 3-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ab)
06:01.0 PCI bridge: PLX Technology, Inc. PEX 8603 3-lane, 3-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ab)
06:02.0 PCI bridge: PLX Technology, Inc. PEX 8603 3-lane, 3-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ab)
07:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
09:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
非工作模型 lspci 输出:
00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 6000 (rev 09)
00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09)
00:16.0 Communication controller: Intel Corporation Wildcat Point-LP MEI Controller #1 (rev 03)
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I218-LM (rev 03)
00:1b.0 Audio device: Intel Corporation Wildcat Point-LP High Definition Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #1 (rev e3)
00:1c.1 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #2 (rev e3)
00:1c.2 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #3 (rev e3)
00:1c.4 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #5 (rev e3)
00:1c.5 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #6 (rev e3)
00:1d.0 USB controller: Intel Corporation Wildcat Point-LP USB EHCI Controller (rev 03)
00:1f.0 ISA bridge: Intel Corporation Wildcat Point-LP LPC Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] (rev 03)
00:1f.3 SMBus: Intel Corporation Wildcat Point-LP SMBus Controller (rev 03)
00:1f.6 Signal processing controller: Intel Corporation Wildcat Point-LP Thermal Management Controller (rev 03)
01:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
02:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
03:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
04:00.0 PCI bridge: PLX Technology, Inc. PEX 8603 3-lane, 3-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ab)
05:01.0 PCI bridge: PLX Technology, Inc. PEX 8603 3-lane, 3-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ab)
05:02.0 PCI bridge: PLX Technology, Inc. PEX 8603 3-lane, 3-Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ab)
06:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
08:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
dmesg
没有任何关于 的内容enp0s25
。它仅报告所有其他适配器(仅适用于 enp1s0 的示例):
igb 0000:01:00.0 enp1s0: renamed from eth0
...
IPv6: ADDRCONF(NETDEV_UP): enp1s0: link is not ready
...
答案1
6 个适配器都是同一类型吗?它们全部集成到系统主板上还是其中一些位于附加卡上?
dmesg
您能在输出中看到与缺少 NIC 相关的任何消息吗?
您是否检查过重新启动(例如操作系统安装结束时的重新启动)和真正的断电/通电周期之间是否存在差异?如果系统具有远程管理功能并且已启用,您甚至可能需要物理拔掉系统电源才能真正关闭集成到管理功能的 NIC。
I218-LM 能够连接到系统芯片组的管理引擎(简称 ME)(如果芯片组有)。如果系统中的所有 NIC 都是同一类型,并且只有一个 NIC 存在此问题,那么有问题的 NIC 是否是与其关联的 ME 连接的 NIC?换句话说,问题端口是否具有与其关联的任何“远程控制台”或“远程管理”功能,而其他端口则没有?如果答案是肯定的,原因可能是 ME 干扰了 NIC 的使用。
最新稳定版驱动源码表示如果 ME 存在并连接到 NIC,它将负责切换进入和退出超低功耗模式,并且驱动程序包含针对可能导致 NIC 配置延迟的 ME 固件错误的预防措施。因此,如果这是主板集成的 NIC,BIOS/ME 固件更新可能会有所帮助。
此外,如果您在操作系统设置中禁用了 Intel ME 驱动程序(可能是自动化安装过程中某些系统强化工作的一部分),则可能会阻止 ME 与 NIC 驱动程序之间的通信,而这在超低功耗模式切换中是必需的与 ME 连接的 NIC。
PXE 启动固件应该与此问题无关,但如果您想尝试的话,升级它应该不会有什么坏处。但是,在主板集成的 NIC 上,PXE 启动固件通常集成到系统 BIOS 中,并作为 BIOS 升级过程的一部分进行升级,而不是作为单独的固件项进行升级。根据我的经验,英特尔 PXE 启动固件升级工具仅适用于拥有独立启动固件的附加卡。
由于可能存在 ME 连接,因此了解您的系统型号可能很重要。如果可以请透露一下将信息添加到您原来的问题中。