新しいPCを買ったら有線LANが繋がらず焦った。ひとまずUSB Wifiを繋いで以下の準備をして無事に繋ぐことができた。
新しいPCはFRONTINERで購入した以下の構成のもの
Windows(R) 10 Home 64bit版 [正規版]
インテル Core i5-10400F プロセッサー (2.90GHz [最大4.30GHz] / 6コア / 12スレッド / 12MBキャッシュ / TDP 65W)
16GB(16GB×1) PC4-25600(DDR4-3200) DDR4 SDRAM
【NVMe SSD】1TB SSD
NVIDIA(R) GeForce RTX(TM) 3060 12GB【HDMI2.1 x1 / DisplayPort1.4a x3】
インテル B560 チップセット搭載マザーボード
600W ATX電源 80PLUS BRONZE (日本製コンデンサ仕様)
ほとんど以下を参考にさせて頂いた。
まず以下をインストール
$ sudo apt install gcc make -y
Ethernetの種類を確認して、ドライバをダウンロードする。
$ lspci | grep Ethernet
00:1f.6 Ethernet controller: Intel Corporation Device 15fa (rev 11)
CONFIG_E1000E: Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support
vendor: 8086 ("Intel Corporation"), device: 15fa ("Ethernet Connection (14) I219-V")
ダウンロードサイトや、ビルドも参考サイト(Ubuntu 18.04 で NIC(有線)が認識しない)を参照する
以下のサイトからドライバをダウンロード。(WiFiを使うか、他のPCを使ってください) https://downloadcenter.intel.com/download/15817/Intel-Network-Adapter-Driver-for-PCIe-Intel-Gigabit-Ethernet-Network-Connections-Under-Linux-
$ tar zxvf e1000e-3.8.4.tar.gz
$ cd e1000e-3.8.4/src/
ここで、大事なことのですが、このままビルドしても、Checksum エラーで引っかかります。ソースコード ./e1000e-3.8.4/src/nvm.c を一部修正しました。before / after で掲載します。
ビルドします。
$ sudo make install
カーネルモジュール追加。うまくいっていれば、ここでNICがリンクするはずです。
$ sudo modprobe -r e1000e
$ sudo modprobe e1000e
以下の通りになれば有線LANが繋がっているみたいだった
$ dmesg | grep e1000
[ 2.277378] e1000e: loading out-of-tree module taints kernel.
[ 2.277467] e1000e: module verification failed: signature and/or required key missing - tainting kernel
[ 2.277979] e1000e: Intel(R) PRO/1000 Network Driver - 3.8.4-NAPI
[ 2.277979] e1000e: Copyright(c) 1999 - 2020 Intel Corporation.
[ 2.278002] e1000e 0000:00:1f.6: enabling device (0000 -> 0002)
[ 2.278241] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 2.566224] e1000e 0000:00:1f.6 0000:00:1f.6 (uninitialized): registered PHC clock
[ 2.652151] e1000e 0000:00:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) a8:a1:59:7a:1d:b3
[ 2.652152] e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection
[ 2.652237] e1000e 0000:00:1f.6 eth0: MAC: 13, PHY: 12, PBA No: FFFFFF-0FF
[ 2.657658] e1000e 0000:00:1f.6 enp0s31f6: renamed from eth0
[ 7.854206] e1000e 0000:00:1f.6 enp0s31f6: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
ここで繋がって気をぬかずに以下を実行しておく
#今のモジュールを次回起動時に使用するように
sudo update-initramfs -u
error対策
modprobeの際に以下のエラーが出た。セキュアブートがenableになっている事が原因っぽい。
$ sudo modprobe -r e1000e
$ sudo modprobe e1000e
modprobe: ERROR: could not insert 'e1000e': Operation not permitted
$ dmesg | grep -i secure
[ 0.000000] secureboot: Secure boot enabled
UEFIからセキュアブートをdisableにしたらOKだった
$ dmesg | grep -i secure
[ 0.000000] secureboot: Secure boot disabled
sudo modprobe e1000e
した場合にe1000e: probe of 0000:00:1f.6 failed with error -5
error
[ 84.561629] e1000e: Intel(R) PRO/1000 Network Driver - 3.8.4-NAPI
[ 84.561629] e1000e: Copyright(c) 1999 - 2020 Intel Corporation.
[ 84.561940] e1000e: probe of 0000:00:1f.6 failed with error -5
未解決 以下記事を見つけてドライババージョンを改めて3.8.7にしたら解決した、、よかった。
オンボードのEthernetコントローラ(I219-V)がUbuntuで動かない時の対処
Intel Ethernet Drivers and Utilities
[ 1177.858085] e1000e: Intel(R) PRO/1000 Network Driver - 3.8.7-NAPI
[ 1177.858086] e1000e: Copyright(c) 1999 - 2020 Intel Corporation.
[ 1177.858330] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 1178.149658] e1000e 0000:00:1f.6 0000:00:1f.6 (uninitialized): registered PHC clock
[ 1178.235991] e1000e 0000:00:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) a8:a1:59:7a:1d:b3
[ 1178.235993] e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection
[ 1178.236141] e1000e 0000:00:1f.6 eth0: MAC: 13, PHY: 12, PBA No: FFFFFF-0FF
[ 1178.237738] e1000e 0000:00:1f.6 enp0s31f6: renamed from eth0
参考
ネットワークデバイスドライバを一からビルドしてインストールした
Ubuntu 18.04 で NIC(有線)が認識しない
CONFIG_E1000E: Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support
セキュアブートの変更方法、無効にする方法
オンボードのEthernetコントローラ(I219-V)がUbuntuで動かない時の対処
Intel Ethernet Drivers and Utilities