自社製NUCシリーズのみならず、数多くのPCのオンボードNICとして搭載されているIntel I219 NICと、 Intel NICの Linux ドライバ として普遍的な e1000e で、 カーネル の更新後にNICが使えなくなる事例に遭遇し、最新 ドライバ を適用したり、 カーネル をダウングレードを試みますが。
症状
以前にも分解してみたことのある、第8世代Intel Corei7搭載のLenovo ThinkCentre M90n-1 Nanoに、Ubuntu 20.04.2の入ったUSB外付HDDを繋いでGUI付の汎用サーバ用途で使い始めたそうなのですが、ある日パッケージ更新したら有線LANが使えなくなったとのことで、相談を受けました。
GUIでは有線LANデバイス情報が見えず、状況の把握すら難しいのでターミナルを開いて、まずは起動ログから有線LANに関するエントリを抽出してみます。
1 2 3 4 5 |
$ dmesg | grep e1000e [ 1.146282] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k [ 1.146283] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. [ 1.147286] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode [ 1.845099] e1000e: probe of 0000:00:1f.6 failed with error -2 |
最後のエントリでerror -2とあるのですが、調べてみてもかなり昔から見掛けるエラーな割に、何を意味するのかいまいち判らず。さらにいくつか他のコマンドを試してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
$ lspci | grep -i Ethernet 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (6) I219-LM (rev 30) $ sudo lshw -C network *-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: 0c:dd:24:1b:a5:12 width: 64 bits clock: 33MHz capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless configuration: broadcast=yes driver=iwlwifi driverversion=5.8.0-63-generic firmware=46.6bf1df06.0 9000-pu-b0-jf-b0- ip=192.168.26.59 latency=0 link=yes multicast=yes wireless=IEEE 802.11 resources: irq:16 memory:a1234000-a1237fff *-network:1 UNCLAIMED description: Ethernet controller product: Ethernet Connection (6) I219-LM 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 $ modinfo -F version e1000e 3.2.6-k $ ip a 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 0c:dd:24:1b:a5:12 brd ff:ff:ff:ff:ff:ff altname wlp0s20f3 inet 192.168.26.59/24 brd 192.168.26.255 scope global dynamic noprefixroute wlo1 valid_lft 3477sec preferred_lft 3477sec inet6 fe80::154e:29fa:9d9d:e9b3/64 scope link noprefixroute valid_lft forever preferred_lft forever $ ifconfig -a lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 29523 bytes 2349021 (2.3 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 29523 bytes 2349021 (2.3 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlo1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.26.59 netmask 255.255.255.0 broadcast 192.168.26.255 inet6 fe80::154e:29fa:9d9d:e9b3 prefixlen 64 scopeid 0x20<link> ether 0c:dd:24:1b:a5:12 txqueuelen 1000 (Ethernet) RX packets 2449 bytes 382838 (382.8 KB) RX errors 0 dropped 179 overruns 0 frame 0 TX packets 1150 bytes 130291 (130.2 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 $ nmcli d DEVICE TYPE STATE CONNECTION wlo1 wifi connected ##### p2p-dev-wlo1 wifi-p2p disconnected -- lo loopback unmanaged -- |
ハードウェアとドライバに関する情報をまとめると以下の通り。
- Hardware: Intel I219-LM rev.30
- Driver : e100e v.3.2.6-K (Kernel)
ハードウェアの情報では、有線LANコントローラは UNCLAIMED となってしまっていました。
Interl公式サイト最新ドライバを当てる
Intelのダウンロードセンタにて、Linux向けの最新ギガビットNICドライバをダウンロードしてみます(本稿執筆当時最新ver.3.8.4)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
$ ll e1000e-3.8.4.tar.gz -rw-rw-r-- 1 user user 319113 Jul 21 16:10 e1000e-3.8.4.tar.gz $ tar -zxvf e1000e-3.8.4.tar.gz $ tree e1000e-3.8.4 e1000e-3.8.4 ├── COPYING ├── README ├── SUMS ├── e1000e.7 ├── e1000e.spec ├── pci.updates └── src ├── 80003es2lan.c ├── 80003es2lan.h ├── 82571.c ├── 82571.h ├── Makefile ├── Module.supported ├── common.mk ├── defines.h ├── e1000.h ├── ethtool.c ├── hw.h ├── ich8lan.c ├── ich8lan.h ├── kcompat.c ├── kcompat.h ├── kcompat_ethtool.c ├── kcompat_overflow.h ├── mac.c ├── mac.h ├── manage.c ├── manage.h ├── netdev.c ├── nvm.c ├── nvm.h ├── param.c ├── phy.c ├── phy.h ├── ptp.c └── regs.h |
dmesg でNVM Checksumエラーが挙がっている場合、 /src/nvm.c のNVM Checksumチェックを無効にしてしまう改変をしてからインストールするのですが、今回は該当しないことからそのままインストールします。
まず、ソースのコンパイルに必要なパッケージがインストールされていることを確認。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$ sudo apt install build-essential Reading package lists... Done Building dependency tree Reading state information... Done build-essential is already the newest version (12.8ubuntu1.1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. $ gcc --version gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ make --version GNU Make 4.2.1 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. |
ソースファイルのあるフォルダへ移動して make install するもエラー終了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
$ cd e1000e-3.8.4/src $ sudo make install *** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but *** the signing key cannot be found. Module signing has been *** disabled for this build. make[1]: Entering directory '/usr/src/linux-headers-5.8.0-63-generic' CC [M] /home/ubuntu1/e1000e-3.8.4/src/netdev.o In file included from /home/ubuntu/e1000e-3.8.4/src/e1000.h:14, from /home/ubuntu/e1000e-3.8.4/src/netdev.c:30: /home/ubuntu/e1000e-3.8.4/src/kcompat.h: In function ‘__kc_xdp_umem_get_data’: /home/ubuntu/e1000e-3.8.4/src/kcompat.h:6696:15: error: ‘struct xdp_umem’ has no member named ‘pages’; did you mean ‘pgs’? 6696 | return umem->pages[addr >> PAGE_SHIFT].addr + (addr & (PAGE_SIZE - 1)); | ^~~~~ | pgs /home/ubuntu/e1000e-3.8.4/src/kcompat.h: In function ‘__kc_xdp_umem_get_dma’: /home/ubuntu/e1000e-3.8.4/src/kcompat.h:6704:15: error: ‘struct xdp_umem’ has no member named ‘pages’; did you mean ‘pgs’? 6704 | return umem->pages[addr >> PAGE_SHIFT].dma + (addr & (PAGE_SIZE - 1)); | ^~~~~ | pgs /home/ubuntu/e1000e-3.8.4/src/netdev.c: In function ‘e1000_configure_rx’: /home/ubuntu/e1000e-3.8.4/src/netdev.c:3714:3: error: implicit declaration of function ‘pm_qos_update_request’; did you mean ‘freq_qos_update_request’? [-Werror=implicit-function-declaration] 3714 | pm_qos_update_request(&adapter->pm_qos_req, lat); | ^~~~~~~~~~~~~~~~~~~~~ | freq_qos_update_request /home/ubuntu/e1000e-3.8.4/src/netdev.c: In function ‘e1000e_open’: /home/ubuntu/e1000e-3.8.4/src/netdev.c:5189:2: error: implicit declaration of function ‘pm_qos_add_request’; did you mean ‘freq_qos_add_request’? [-Werror=implicit-function-declaration] 5189 | pm_qos_add_request(&adapter->pm_qos_req, PM_QOS_CPU_DMA_LATENCY, | ^~~~~~~~~~~~~~~~~~ | freq_qos_add_request /home/ubuntu/e1000e-3.8.4/src/netdev.c:5189:43: error: ‘PM_QOS_CPU_DMA_LATENCY’ undeclared (first use in this function) 5189 | pm_qos_add_request(&adapter->pm_qos_req, PM_QOS_CPU_DMA_LATENCY, | ^~~~~~~~~~~~~~~~~~~~~~ /home/ubuntu/e1000e-3.8.4/src/netdev.c:5189:43: note: each undeclared identifier is reported only once for each function it appears in /home/ubuntu/e1000e-3.8.4/src/netdev.c:5243:2: error: implicit declaration of function ‘pm_qos_remove_request’; did you mean ‘freq_qos_remove_request’? [-Werror=implicit-function-declaration] 5243 | pm_qos_remove_request(&adapter->pm_qos_req); | ^~~~~~~~~~~~~~~~~~~~~ | freq_qos_remove_request /home/ubuntu/e1000e-3.8.4/src/netdev.c: In function ‘e1000_io_slot_reset’: /home/ubuntu/e1000e-3.8.4/src/netdev.c:8100:2: error: implicit declaration of function ‘pci_cleanup_aer_uncorrect_error_status’ [-Werror=implicit-function-declaration] 8100 | pci_cleanup_aer_uncorrect_error_status(pdev); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:286: /home/ubuntu/e1000e-3.8.4/src/netdev.o] Error 1 make[1]: *** [Makefile:1785: /home/ubuntu/e1000e-3.8.4/src] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-5.8.0-63-generic' make: *** [Makefile:73: default] Error 2 |
こうした場合に再度トライするには、一度残骸をきれいに掃除する必要があります。
1 2 3 4 5 6 7 |
$ sudo make clean *** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but *** the signing key cannot be found. Module signing has been *** disabled for this build. make[1]: Entering directory '/usr/src/linux-headers-5.4.0-80-generic' CLEAN /home/ubuntu/e1000e-3.8.7/src/Module.symvers make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-80-generic' |
結局何度試してもエラー終了でした。
SourceForge最新ドライバを当てる
もう少し調べを進め、Intelダウンロードセンタよりもバージョン番号の進んだドライバを、SourceForgeのプロジェクトページに見つけました。
上記プロジェクトページを【Files → e1000e historic archive】と進んだこちらに、バージョン毎のソースが格納されています(URIに空白を含むことに注意。本稿執筆当時最新ver.3.8.7)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
$ ll e1000e-3.8.7.tar.gz -rw-rw-r-- 1 user user 320781 Jul 21 16:20 e1000e-3.8.7.tar.gz $ tar -zxvf e1000e-3.8.7.tar.gz $ cd e1000e-3.8.7/src $ sudo make install *** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but *** the signing key cannot be found. Module signing has been *** disabled for this build. make[1]: Entering directory '/usr/src/linux-headers-5.8.0-63-generic' CC [M] /home/ubuntu1/e1000e-3.8.7/src/netdev.o CC [M] /home/ubuntu1/e1000e-3.8.7/src/ethtool.o CC [M] /home/ubuntu1/e1000e-3.8.7/src/ich8lan.o CC [M] /home/ubuntu1/e1000e-3.8.7/src/mac.o CC [M] /home/ubuntu1/e1000e-3.8.7/src/nvm.o CC [M] /home/ubuntu1/e1000e-3.8.7/src/phy.o CC [M] /home/ubuntu1/e1000e-3.8.7/src/manage.o CC [M] /home/ubuntu1/e1000e-3.8.7/src/80003es2lan.o CC [M] /home/ubuntu1/e1000e-3.8.7/src/82571.o CC [M] /home/ubuntu1/e1000e-3.8.7/src/param.o CC [M] /home/ubuntu1/e1000e-3.8.7/src/ptp.o CC [M] /home/ubuntu1/e1000e-3.8.7/src/kcompat.o LD [M] /home/ubuntu1/e1000e-3.8.7/src/e1000e.o MODPOST /home/ubuntu1/e1000e-3.8.7/src/Module.symvers CC [M] /home/ubuntu1/e1000e-3.8.7/src/e1000e.mod.o LD [M] /home/ubuntu1/e1000e-3.8.7/src/e1000e.ko make[1]: Leaving directory '/usr/src/linux-headers-5.8.0-63-generic' Copying manpages... Installing modules... *** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but *** the signing key cannot be found. Module signing has been *** disabled for this build. make[1]: Entering directory '/usr/src/linux-headers-5.8.0-63-generic' INSTALL /home/ubuntu1/e1000e-3.8.7/src/e1000e.ko DEPMOD 5.8.0-63-generic Warning: modules_install: missing 'System.map' file. Skipping depmod. make[1]: Leaving directory '/usr/src/linux-headers-5.8.0-63-generic' Running depmod... |
インストール成功したので、現在のドライバを抜いてこの新しいドライバをロードします。
1 2 3 4 |
$ sudo modprobe -r e1000e $ sudo modprobe e1000e $ modinfo -F version e1000e 3.8.7-NAPI |
ここで有線LANの状態を確認するも状況は全く変わらず。再起動後も新しいドライバを読み込むよう、更新してから再起動してみます(tainting kernelのメッセージが出ても、そのドライバのロードや動作には支障は有りません)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ sudo update-initramfs -u update-initramfs: Generating /boot/initrd.img-5.8.0-63-generic $ sudo reboot -再起動後- $ dmesg | grep e1000e [ 1.178242] e1000e: loading out-of-tree module taints kernel. [ 1.178343] e1000e: module verification failed: signature and/or required key missing - tainting kernel [ 1.178961] e1000e: Intel(R) PRO/1000 Network Driver - 3.8.7-NAPI [ 1.178962] e1000e: Copyright(c) 1999 - 2020 Intel Corporation. [ 1.179172] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode [ 1.888885] e1000e: probe of 0000:00:1f.6 failed with error -2 $ modinfo -F version e1000e 3.8.7-NAPI |
再起動後もドライバは確かに最新版をロードしていますが、相変わらず有線LANはUNCLAIMEDのままです。
ドライバのアンインストール
インストールしたドライバのアンインストールは、インストールに使ったソースが残っていれば、以下の要領で行えます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
$sudo make uninstall rm -f /lib/modules/5.4.0-80-generic/updates/drivers/net/ethernet/intel/e1000e/e1000e.ko; /sbin/depmod -e -F /boot/System.map-5.4.0-80-generic -a 5.4.0-80-generic if [ -e /usr/share/man/man7/e1000e.7.gz ] ; then \ rm -f /usr/share/man/man7/e1000e.7.gz ; \ fi; $ sudo modprobe -r e1000e $ sudo modprobe e1000e $ dmesg | grep e1000e [ 333.428741] e1000e: loading out-of-tree module taints kernel. [ 333.428886] e1000e: module verification failed: signature and/or required key missing - tainting kernel [ 333.429836] e1000e: Intel(R) PRO/1000 Network Driver - 3.8.7-NAPI [ 333.429837] e1000e: Copyright(c) 1999 - 2020 Intel Corporation. [ 333.430092] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode [ 334.139659] e1000e: probe of 0000:00:1f.6 failed with error -2 [ 421.226257] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k [ 421.226258] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. [ 421.226488] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode [ 421.919764] e1000e: probe of 0000:00:1f.6 failed with error -2 |
HWEカーネルを抜いてダウングレードしてみる
SourceForgeのページにも記述されている通り、e1000eドライバは基本的にKernel内包形式でリリースされるようになっています。また、OSインストール時には有線LANは使えていたことから、カーネルをダウングレードしてみたらどうでしょう。
まず現在のカーネルはログインメッセージから、HWE 5.8系であることがわかります。
1 2 3 4 5 6 7 8 9 |
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.8.0-63-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage 0 updates can be applied immediately. Your Hardware Enablement Stack (HWE) is supported until April 2025. |
ここで最近のUbuntuの採用カーネルについて、こちらの記事が参考になりました(公式に該当コンテンツ見当たらず)。
*** 但し、記事中 Ubuntu 20.04.2のSupport Untilは正しくは2025年。
簡単に抜粋すると次のようなバージョン関係になります。
- Ubuntu 20.10- : 5.8
- Ubuntu 20.04.2 : HWE 5.8
- Ubuntu 20.04 : GA 5.4
- Ubuntu 18.04 : GA 4.15
以上はDesktop版での話であり、Ubuntu Serverは常にGA版Kernelがデフォルトで採用されているので、20.04.2でも手動でHWEカーネルを追加しなければGA版5.4系のはずです。
それではあらためて現在のカーネルバージョンを確認した後、GA系の5.4カーネルをインストールします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
$ uname -srvmpio Linux 5.8.0-63-generic #71~20.04.1-Ubuntu SMP Thu Jul 15 17:46:08 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux $ sudo apt install --install-recommends linux-generic Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: linux-headers-5.4.0-80 linux-headers-5.4.0-80-generic linux-headers-generic linux-image-5.4.0-80-generic linux-image-generic linux-modules-5.4.0-80-generic linux-modules-extra-5.4.0-80-generic Suggested packages: fdutils linux-doc | linux-source-5.4.0 linux-tools The following NEW packages will be installed: linux-generic linux-headers-5.4.0-80 linux-headers-5.4.0-80-generic linux-headers-generic linux-image-5.4.0-80-generic linux-image-generic linux-modules-5.4.0-80-generic linux-modules-extra-5.4.0-80-generic 0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded. Need to get 75.6 MB of archives. After this operation, 378 MB of additional disk space will be used. Do you want to continue? [Y/n]y Get:1 http://hk.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-modules-5.4.0-80-generic amd64 5.4.0-80.90 [14.8 MB] Get:2 http://hk.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-image-5.4.0-80-generic amd64 5.4.0-80.90 [8,976 kB] Get:3 http://hk.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-modules-extra-5.4.0-80-generic amd64 5.4.0-80.90 [39.4 MB] Get:4 http://hk.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-image-generic amd64 5.4.0.80.84 [2,568 B] Get:5 http://hk.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-headers-5.4.0-80 all 5.4.0-80.90 [11.0 MB] Get:6 http://hk.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-headers-5.4.0-80-generic amd64 5.4.0-80.90 [1,410 kB] Get:7 http://hk.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-headers-generic amd64 5.4.0.80.84 [2,436 B] Get:8 http://hk.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-generic amd64 5.4.0.80.84 [1,900 B] Fetched 75.6 MB in 15s (4,920 kB/s) [master 0ad0e83] saving uncommitted changes in /etc prior to apt run 11 files changed, 10 insertions(+), 945 deletions(-) rewrite cups/printers.conf (88%) copy cups/{printers.conf => printers.conf.O} (100%) Selecting previously unselected package linux-modules-5.4.0-80-generic. (Reading database ... 469351 files and directories currently installed.) Preparing to unpack .../0-linux-modules-5.4.0-80-generic_5.4.0-80.90_amd64.deb ... Unpacking linux-modules-5.4.0-80-generic (5.4.0-80.90) ... Selecting previously unselected package linux-image-5.4.0-80-generic. Preparing to unpack .../1-linux-image-5.4.0-80-generic_5.4.0-80.90_amd64.deb ... Unpacking linux-image-5.4.0-80-generic (5.4.0-80.90) ... Selecting previously unselected package linux-modules-extra-5.4.0-80-generic. Preparing to unpack .../2-linux-modules-extra-5.4.0-80-generic_5.4.0-80.90_amd64.deb ... Unpacking linux-modules-extra-5.4.0-80-generic (5.4.0-80.90) ... Selecting previously unselected package linux-image-generic. Preparing to unpack .../3-linux-image-generic_5.4.0.80.84_amd64.deb ... Unpacking linux-image-generic (5.4.0.80.84) ... Selecting previously unselected package linux-headers-5.4.0-80. Preparing to unpack .../4-linux-headers-5.4.0-80_5.4.0-80.90_all.deb ... Unpacking linux-headers-5.4.0-80 (5.4.0-80.90) ... Selecting previously unselected package linux-headers-5.4.0-80-generic. Preparing to unpack .../5-linux-headers-5.4.0-80-generic_5.4.0-80.90_amd64.deb ... Unpacking linux-headers-5.4.0-80-generic (5.4.0-80.90) ... Selecting previously unselected package linux-headers-generic. Preparing to unpack .../6-linux-headers-generic_5.4.0.80.84_amd64.deb ... Unpacking linux-headers-generic (5.4.0.80.84) ... Selecting previously unselected package linux-generic. Preparing to unpack .../7-linux-generic_5.4.0.80.84_amd64.deb ... Unpacking linux-generic (5.4.0.80.84) ... Setting up linux-modules-5.4.0-80-generic (5.4.0-80.90) ... Setting up linux-headers-5.4.0-80 (5.4.0-80.90) ... Setting up linux-image-5.4.0-80-generic (5.4.0-80.90) ... I: /boot/vmlinuz.old is now a symlink to vmlinuz-5.8.0-63-generic I: /boot/initrd.img.old is now a symlink to initrd.img-5.8.0-63-generic I: /boot/vmlinuz is now a symlink to vmlinuz-5.4.0-80-generic I: /boot/initrd.img is now a symlink to initrd.img-5.4.0-80-generic Setting up linux-headers-5.4.0-80-generic (5.4.0-80.90) ... Setting up linux-modules-extra-5.4.0-80-generic (5.4.0-80.90) ... Setting up linux-image-generic (5.4.0.80.84) ... Setting up linux-headers-generic (5.4.0.80.84) ... Setting up linux-generic (5.4.0.80.84) ... Processing triggers for linux-image-5.4.0-80-generic (5.4.0-80.90) ... /etc/kernel/postinst.d/initramfs-tools: update-initramfs: Generating /boot/initrd.img-5.4.0-80-generic/etc/kernel/postinst.d/zz-update-grub: Sourcing file `/etc/default/grub' Sourcing file `/etc/default/grub.d/init-select.cfg' Generating grub configuration file ... Found linux image: /boot/vmlinuz-5.8.0-63-generic Found initrd image: /boot/initrd.img-5.8.0-63-generic Found linux image: /boot/vmlinuz-5.8.0-59-generic Found initrd image: /boot/initrd.img-5.8.0-59-generic Found linux image: /boot/vmlinuz-5.4.0-80-generic Found initrd image: /boot/initrd.img-5.4.0-80-generic Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi Adding boot menu entry for UEFI Firmware Settings done [master 6cd1c3c] committing changes in /etc made by "apt install --install-recommends linux-generic" Author: ubuntu1 <ubuntu1@onlineshop.marlleegroup.com> 1 file changed, 15 insertions(+), 6 deletions(-) |
これで再起動すれば、再起動時のGRUBメニューで5.4カーネルを指定して起動出来るのですが、ssh越しで作業しているのでHWE 5.8系カーネルを抜き、確実に5.4カーネルするように仕向けます。作業の途中に何度か、現在実行中のカーネルを削除しようとすることに対して、中止を促すダイアログが現れますが「いいえ」を選択して作業を進めます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
$ sudo apt purge linux-image-generic-hwe-20.04 "^linux-image-$(uname -r|cut -f1 -d "-").*" "^linux-headers-$(uname -r|cut -f1 -d "-").*" -略- The following packages will be REMOVED: linux-generic-hwe-20.04* linux-headers-5.8.0-63-generic* linux-headers-generic-hwe-20.04* linux-image-5.8.0-43-generic* linux-image-5.8.0-55-generic* linux-image-5.8.0-63-generic* linux-image-generic-hwe-20.04* linux-modules-extra-5.8.0-63-generic* The following NEW packages will be installed: linux-image-unsigned-5.8.0-63-generic 0 upgraded, 1 newly installed, 8 to remove and 0 not upgraded. Need to get 9,634 kB of archives. After this operation, 226 MB disk space will be freed. Do you want to continue? [Y/n] y Get:1 http://hk.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-image-unsigned-5.8.0-63-generic amd64 5.8.0-63.71~20.04.1 [9,634 kB] Fetched 9,634 kB in 4s (2,484 kB/s) (Reading database ... 468133 files and directories currently installed.) Removing linux-generic-hwe-20.04 (5.8.0.63.71~20.04.45) ... Removing linux-headers-generic-hwe-20.04 (5.8.0.63.71~20.04.45) ... Removing linux-headers-5.8.0-63-generic (5.8.0-63.71~20.04.1) ... Removing linux-image-generic-hwe-20.04 (5.8.0.63.71~20.04.45) ... Removing linux-modules-extra-5.8.0-63-generic (5.8.0-63.71~20.04.1) ... Removing linux-image-5.8.0-63-generic (5.8.0-63.71~20.04.1) ... W: Removing the running kernel I: /boot/vmlinuz is now a symlink to vmlinuz-5.4.0-80-generic I: /boot/initrd.img is now a symlink to initrd.img-5.4.0-80-generic /etc/kernel/postrm.d/initramfs-tools: update-initramfs: Deleting /boot/initrd.img-5.8.0-63-generic /etc/kernel/postrm.d/zz-update-grub: Sourcing file `/etc/default/grub' Sourcing file `/etc/default/grub.d/init-select.cfg' Generating grub configuration file ... Found linux image: /boot/vmlinuz-5.4.0-80-generic Found initrd image: /boot/initrd.img-5.4.0-80-generic Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi Adding boot menu entry for UEFI Firmware Settings done Selecting previously unselected package linux-image-unsigned-5.8.0-63-generic. (Reading database ... 449973 files and directories currently installed.) Preparing to unpack .../linux-image-unsigned-5.8.0-63-generic_5.8.0-63.71~20.04.1_amd64.deb ... Unpacking linux-image-unsigned-5.8.0-63-generic (5.8.0-63.71~20.04.1) ... Setting up linux-image-unsigned-5.8.0-63-generic (5.8.0-63.71~20.04.1) ... I: /boot/vmlinuz is now a symlink to vmlinuz-5.8.0-63-generic I: /boot/initrd.img is now a symlink to initrd.img-5.8.0-63-generic (Reading database ... 449974 files and directories currently installed.)Purging configuration files for linux-modules-extra-5.8.0-63-generic (5.8.0-63.71~20.04.1) ... Purging configuration files for linux-image-5.8.0-43-generic (5.8.0-43.49~20.04.1) ... Purging configuration files for linux-image-5.8.0-55-generic (5.8.0-55.62~20.04.1) ... Purging configuration files for linux-image-5.8.0-63-generic (5.8.0-63.71~20.04.1) ... I: /boot/vmlinuz is now a symlink to vmlinuz-5.4.0-80-generic I: /boot/initrd.img is now a symlink to initrd.img-5.4.0-80-generic /var/lib/dpkg/info/linux-image-5.8.0-63-generic.postrm ... removing pending trigger rmdir: failed to remove '/lib/modules/5.8.0-63-generic': Directory not empty Processing triggers for linux-image-unsigned-5.8.0-63-generic (5.8.0-63.71~20.04.1) ... |
アンインストール後の後処理を進めます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
$ sudo apt purge "^linux-image-unsigned-$(uname -r|cut -f1 -d "-").*" -略- The following packages will be REMOVED: linux-image-unsigned-5.8.0-63-generic* 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. After this operation, 10.2 MB disk space will be freed. Do you want to continue? [Y/n] y (Reading database ... 449974 files and directories currently installed.) Removing linux-image-unsigned-5.8.0-63-generic (5.8.0-63.71~20.04.1) ... W: Removing the running kernel /etc/kernel/postrm.d/initramfs-tools: update-initramfs: Deleting /boot/initrd.img-5.8.0-63-generic /etc/kernel/postrm.d/zz-update-grub: Sourcing file `/etc/default/grub' Sourcing file `/etc/default/grub.d/init-select.cfg' Generating grub configuration file ... Found linux image: /boot/vmlinuz-5.4.0-80-generic Found initrd image: /boot/initrd.img-5.4.0-80-generic Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi Adding boot menu entry for UEFI Firmware Settings done (Reading database ... 449970 files and directories currently installed.) Purging configuration files for linux-image-unsigned-5.8.0-63-generic (5.8.0-63.71~20.04.1) ... rmdir: failed to remove '/lib/modules/5.8.0-63-generic': Directory not empty $ sudo apt autoremove --purge Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: linux-hwe-5.8-headers-5.8.0-63* 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. After this operation, 73.6 MB disk space will be freed. Do you want to continue? [Y/n] y (Reading database ... 449970 files and directories currently installed.) Removing linux-hwe-5.8-headers-5.8.0-63 (5.8.0-63.71~20.04.1) ... |
再起動後ログインして、確かに5.4系カーネルになっていることを確認しますが、有線LANデバイスはUNCLAIMEDのままでした。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-80-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage 0 updates can be applied immediately. $ dmesg | grep e1000e [ 1.185053] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k [ 1.185053] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. [ 1.185330] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode [ 1.906328] e1000e: probe of 0000:00:1f.6 failed with error -2 $ modinfo -F version e1000e 3.2.6-k $ sudo lshw -C network *-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: 0c:dd:24:1b:a5:12 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-80-generic firmware=46.6bf1df06.0 ip=192.168.26.59 latency=0 link=yes multicast=yes wireless=IEEE 802.11 resources: irq:16 memory:a1234000-a1237fff *-network:1 UNCLAIMED description: Ethernet controller product: Ethernet Connection (6) I219-LM 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 |
尚、本項の作業に於いては、こちらの記事を参考にさせて頂きました(鳴謝!)。
結局
万策尽きました。PCの内蔵ストレージに残っているWindows10から起動したところ、有線LANは問題なく使えたことから、ハードウェアやファームウェアの損傷でもないようです。とは言え、WindowsはLinuxよりもこのデバイスに対し、寛容的に振る舞うようなので、その辺りの差異に属する部分に原因はあるのかも知れませんが、これ以上は掘り下げずにOS再インストールを提言して返却しました。
いずれ自分のマシン更新の際も、おそらく似たようなハードウェアになることから、そのときは
- OSインストール前のBIOS、ファームウェア類の更新(内蔵Windowsにて)
- Intel BootUtilを使ったトラブルシューティング (→参照)
を試してみるつもりです。