2

Doing a bit of system setup in Ubuntu Server 20.04, CLI-only, on a Lenovo ThinkCentre m90n NUC. Ubuntu no longer recognizes that the system has an ethernet interface at all and I'm not sure where to begin troubleshooting or fixing this.

What I was doing before the problem:

After purging Docker (sudo apt purge) from the system, the ethernet interface eno2 suddenly couldn't pull an IP from the router after a reboot. Thought maybe the router decided it just didn't like the system (I've been on routers that do that), so I kept working.

My next issue was troubleshooting the system restarting automatically after issuing a poweroff or shutdown -P now command. Found a fix here that involved adding acpi=noirq to the GRUB_CMDLINE_LINUX_DEFAULT config line in /etc/default/grub. Upon updating grub and rebooting again to test the fix, ip address no longer lists an ethernet interface at all.

I reverted the grub config and rebooted, but ip address still does not list eno2 so I do not suspect the grub config is what killed it. I believe purging docker must have removed something else.

I'm not sure where to begin fixing this.

Outputs:

Output of 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

Output of 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

Contents of etc/network/interfaces (this file was blank before I added this; still no fix):

calyodelphi@dragonweyr:~$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eno2 iface eno2 inet dhcp

EDIT 1
Output of 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
Some extra output as encouraged in the comments.

First is /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

Output of 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

And after some side-searching (a friend elsewhere suggested a missing kernel module and I did some googling), I cobbled together this lspci -v search to get info specifically about the ethernet controller. The first block grabbed is the wifi controller which works perfectly fine.

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
Output of 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

As an aside...

For some reason ip address still lists an interface for docker even though I'd purged it from the system, and processes for containerd and dockerd still show up when I use htop so I'm not entirely certain it's been fully purged from the system.

  • /var/log/apt/term.log is mostly only output from the sudo apt upgrade I ran prior to purging docker. The only warning I got when purging was that /etc/docker was not an empty directory and so wasn't removed. – Calyo Delphi Jul 02 '21 at 23:59
  • Does sudo lshw -C network show the I219-V? If so, is it marked as “unclaimed”? – matigo Jul 02 '21 at 23:59
  • @matigo It does show the interface! And it is marked as "unclaimed"! I just edited my question to show the output of the command. :) – Calyo Delphi Jul 03 '21 at 00:18
  • Please edit your question to show the result of: cat /etc/netplan/*.yaml and also: sudo modprobe e1000e && sudo dmesg | grep e100 Welcome to Ask Ubuntu. – chili555 Jul 03 '21 at 00:55
  • @chili555 Done, done, and a little extra output from lspci -v for completeness sake after I went on a search to see if I was just missing the kernel module for it. – Calyo Delphi Jul 03 '21 at 01:15
  • "can't find IRQ for PCI INT A; please try using pci=biosirq" Please try adding this boot parameter: https://wiki.ubuntu.com/Kernel/KernelBootParameters – chili555 Jul 03 '21 at 01:32
  • Didn't seem to work unfortunately @chili555 :( – Calyo Delphi Jul 03 '21 at 02:03
  • Please try resetting the BIOS/EFI to defaults. If it still isn't working, look for clues here: sudo dmesg | grep -i irq – chili555 Jul 03 '21 at 13:53
  • @chili555 Still no dice. As an experiment I removed the acpi=noirq option from the grub config and left only pci=biosirq and while the system doesn't automatically power back on from a use of poweroff the ethernet interface is still missing. I edited to include the output of dmesg | grep -i irq for extra reference though. – Calyo Delphi Jul 03 '21 at 14:10
  • https://www.whtop.com/blog/e1000e-probe-failed-with-error-2/ Possibly helpful. Is Wake-on-Lan enabled in BIOS/EFI? Try disabling it. – chili555 Jul 03 '21 at 15:08
  • Also: https://ubuntuforums.org/archive/index.php/t-2404122.html – chili555 Jul 03 '21 at 15:11
  • @chili555 acpi=off in the first of those last two links you suggested did the trick!! :D Please, I encourage you to take that and format it as a proper answer and I will gladly give you the check and the reputation for it. Thank you! – Calyo Delphi Jul 04 '21 at 00:41

1 Answers1

2
[    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

A recent search finds this: https://www.whtop.com/blog/e1000e-probe-failed-with-error-2/ I suggest that you try a boot parameter acpi=off following this guide: https://wiki.ubuntu.com/Kernel/KernelBootParameters

You have confirmed above that this resolves the issue.

I'm glad it's now working as expected.

chili555
  • 60,188
  • As an addendum, acpi=off did fix the original issue, but then introduced the issue that the system could no longer automatically power off on a reboot or poweroff. But I found pci=noacpi in this answer and it's done the trick! Thanks again! :) https://askubuntu.com/a/406419/1356732 – Calyo Delphi Jul 04 '21 at 02:02