清除 Docker 可能会毁掉我的以太网?(实际上是 ACPI)

清除 Docker 可能会毁掉我的以太网?(实际上是 ACPI)

在联想 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

您已确认这可以解决问题。

我很高兴它现在可以按预期运行。

相关内容