Очистка Docker могла повредить мой Ethernet? (На самом деле это был ACPI)

Делаю небольшую настройку системы в Ubuntu Server 20.04, только CLI, на Lenovo ThinkCentre m90n NUC. Ubuntu больше не распознает, что система имеет интерфейс ethernet вообще, и я не уверен, где начать поиск и устранение неполадок.

Что я делал до возникновения проблемы:

После очистки Docker (sudo apt purge) из системы, интерфейс ethernet eno2 вдруг не смог получить IP от роутера после перезагрузки. Я подумал, что, возможно, маршрутизатор решил, что ему просто не нравится эта система (я работал с такими маршрутизаторами), поэтому я продолжил работу.

Следующей моей проблемой было устранение неполадок с автоматическим перезапуском системы после выполнения команды poweroff или shutdown -P now. Нашел решение здесь, которое включало добавление acpi=noirq в строку GRUB_CMDLINE_LINUX_DEFAULT в /etc/default/grub. После обновления grub и повторной перезагрузки для проверки исправления, ip-адрес больше не отображает интерфейс ethernet.

Я изменил конфигурацию grub и перезагрузился, но ip-адрес по-прежнему не показывает 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

EDIT 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

EDIT 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 поиск, чтобы получить информацию конкретно о контроллере ethernet. Первый попавшийся блок - контроллер 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

EDIT 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, так что я не совсем уверен, что он был полностью удален из системы.

2
задан 4 July 2021 в 05:04

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

Вы подтвердили выше, что это решает проблему.

Я рад, что теперь все работает, как ожидалось.

2
ответ дан 28 July 2021 в 11:22

Другие вопросы по тегам:

Похожие вопросы: