Делаю небольшую настройку системы в 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
, так что я не совсем уверен, что он был полностью удален из системы.
[ 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
Вы подтвердили выше, что это решает проблему.
Я рад, что теперь все работает, как ожидалось.