在联想 ThinkCentre m90n NUC 上的 Ubuntu Server 20.04(仅限 CLI)中进行一些系统设置。Ubuntu 不再识别系统有根本没有以太网接口,我不确定从哪里开始排除故障或修复这个问题。
出现问题之前我在做什么:
sudo apt purge
从系统中清除 Docker ( ) 后,以太网接口eno2
在重启后突然无法从路由器获取 IP。我想也许路由器决定它不喜欢这个系统(我曾经用过这样的路由器),所以我继续工作。
poweroff
我的下一个问题是解决发出或命令后系统自动重启的问题shutdown -P now
。在此处找到修复这涉及在 中添加acpi=noirq
配置GRUB_CMDLINE_LINUX_DEFAULT
行/etc/default/grub
。在更新 grub 并再次重新启动以测试修复后,ip address
不再列出以太网接口。
我恢复了 grub 配置并重新启动,但ip address
仍然没有列出eno2
,所以我不怀疑 grub 配置是导致它被杀死的原因。我相信清除 docker 一定删除了其他东西。
我不知道从哪里开始解决这个问题。
输出:
输出ip addr
:
calyodelphi@dragonweyr:~$ 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: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 94:e6:f7:36:91:d8 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.6/24 brd 192.168.1.255 scope global dynamic wlo1
valid_lft 3458sec preferred_lft 3458sec
inet6 fd4b:8d38:69ba:1:96e6:f7ff:fe36:91d8/64 scope global mngtmpaddr noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::96e6:f7ff:fe36:91d8/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:5e:0e:94:56 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
输出lspci
:
calyodelphi@dragonweyr:~$ lspci
00:00.0 Host bridge: Intel Corporation Coffee Lake HOST and DRAM Controller (rev 0c)
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (Whiskey Lake) (rev 02)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 0c)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Cannon Point-LP Thermal Controller (rev 30)
00:14.0 USB controller: Intel Corporation Cannon Point-LP USB 3.1 xHCI Controller (rev 30)
00:14.2 RAM memory: Intel Corporation Cannon Point-LP Shared SRAM (rev 30)
00:14.3 Network controller: Intel Corporation Cannon Point-LP CNVi [Wireless-AC] (rev 30)
00:16.0 Communication controller: Intel Corporation Cannon Point-LP MEI Controller #1 (rev 30)
00:1d.0 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #9 (rev f0)
00:1d.4 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #13 (rev f0)
00:1f.0 ISA bridge: Intel Corporation Cannon Point-LP LPC Controller (rev 30)
00:1f.3 Audio device: Intel Corporation Cannon Point-LP High Definition Audio Controller (rev 30)
00:1f.4 SMBus: Intel Corporation Cannon Point-LP SMBus Controller (rev 30)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP SPI Controller (rev 30)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (6) I219-V (rev 30)
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
内容etc/network/interfaces
(在我添加此文件之前,该文件是空白的;仍然没有修复):
calyodelphi@dragonweyr:~$ cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eno2
iface eno2 inet dhcp
编辑1
输出lshw -C network
:
calyodelphi@dragonweyr:~$ sudo lshw -C network
[sudo] password for calyodelphi:
*-network:0
description: Wireless interface
product: Cannon Point-LP CNVi [Wireless-AC]
vendor: Intel Corporation
physical id: 14.3
bus info: pci@0000:00:14.3
logical name: wlo1
version: 30
serial: 94:e6:f7:36:91:d8
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=5.4.0-77-generic firmware=46.6bf1df06.0 ip=192.168.1.6 latency=0 link=yes multicast=yes wireless=IEEE 802.11
resources: irq:0 memory:a123c000-a123ffff
*-network:1 UNCLAIMED
description: Ethernet controller
product: Ethernet Connection (6) I219-V
vendor: Intel Corporation
physical id: 1f.6
bus info: pci@0000:00:1f.6
version: 30
width: 32 bits
clock: 33MHz
capabilities: pm msi cap_list
configuration: latency=0
resources: memory:a1200000-a121ffff
编辑2
正如评论中所鼓励的那样,提供一些额外的输出。
首先是/etc/netplan/*.yaml
:
calyodelphi@dragonweyr:~$ cat /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
eno2:
dhcp4: true
wifis:
wlo1:
dhcp4: true
optional: true
access-points:
"Sanitized for your safety":
password: "DontYouWishYourExploitsWereHotLikeMe"
version: 2
输出sudo modprobe e1000e && sudo dmesg | grep e100
:
calyodelphi@dragonweyr:~$ sudo modprobe e1000e && sudo dmesg | grep e100
[ 1.237103] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[ 1.238833] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 1.241057] e1000e 0000:00:1f.6: can't find IRQ for PCI INT A; please try using pci=biosirq
[ 1.243023] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 2.533297] e1000e: probe of 0000:00:1f.6 failed with error -2
经过一番搜索(一位朋友建议我使用缺失的内核模块,于是我谷歌了一下),我拼凑了这次lspci -v
搜索,以获取有关以太网控制器的具体信息。抓取的第一个块是 wifi 控制器,它工作得很好。
calyodelphi@dragonweyr:~$ lspci -v | awk '/Ethernet/,/^$/'
DeviceName: Onboard - Ethernet
Subsystem: Intel Corporation Cannon Point-LP CNVi [Wireless-AC]
Flags: bus master, fast devsel, latency 0
Memory at a123c000 (64-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (6) I219-V (rev 30)
DeviceName: Onboard - Ethernet
Subsystem: Lenovo Ethernet Connection (6) I219-V
Flags: fast devsel
Memory at a1200000 (32-bit, non-prefetchable) [size=128K]
Capabilities: <access denied>
Kernel modules: e1000e
编辑3
输出dmesg | grep -i irq
:
calyodelphi@dragonweyr:~$ sudo dmesg | grep -i irq
[sudo] password for calyodelphi:
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-5.4.0-77-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro pci=biosirq
[ 0.000000] PCI: Unknown option `biosirq'
[ 0.063103] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[ 0.063105] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[ 0.063107] ACPI: IRQ0 used by override.
[ 0.063108] ACPI: IRQ9 used by override.
[ 0.063521] Kernel command line: BOOT_IMAGE=/vmlinuz-5.4.0-77-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro pci=biosirq
[ 0.122357] NR_IRQS: 524544, nr_irqs: 2048, preallocated irqs: 16
[ 0.127500] DMAR-IR: Enabled IRQ remapping in x2apic mode
[ 0.456806] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 10 11 12 14 15) *0
[ 0.456965] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 10 11 12 14 15) *1
[ 0.457120] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 10 11 12 14 15) *0
[ 0.457273] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 10 11 12 14 15) *0
[ 0.457427] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 10 11 12 14 15) *0
[ 0.457583] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 10 11 12 14 15) *0
[ 0.457736] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 10 11 12 14 15) *0
[ 0.457890] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 10 11 12 14 15) *0
[ 0.478709] PCI: Using ACPI for IRQ routing
[ 0.525746] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0, 0, 0, 0, 0
[ 0.950240] pcieport 0000:00:1d.0: PME: Signaling with IRQ 122
[ 0.950903] pcieport 0000:00:1d.4: PME: Signaling with IRQ 123
[ 0.951023] pcieport 0000:00:1d.4: AER: enabled with IRQ 123
[ 0.960745] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
作为旁白...
出于某种原因,ip address
即使我已将其从系统中清除,它仍然列出了 docker 的接口,并且当我使用时,containerd
和的进程dockerd
仍然会显示出来,htop
所以我不完全确定它是否已从系统中完全清除。
答案1
[ 1.241057] e1000e 0000:00:1f.6: can't find IRQ for PCI INT A; please try using pci=biosirq
[ 1.243023] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 2.533297] e1000e: probe of 0000:00:1f.6 failed with error -2
最近的搜索发现了这一点:https://www.whtop.com/blog/e1000e-probe-failed-with-error-2/我建议您acpi=off
按照本指南尝试启动参数:https://wiki.ubuntu.com/Kernel/KernelBootParameters
您已确认这可以解决问题。
我很高兴它现在可以按预期运行。