はじめに
NUC10i5FNHの有線LANアダプタは「Intel® Ethernet Connection I219-V」だが、
このドライバがCentOS8には初期インストールされていないため、手動で「e1000e-3.8.4」ドライバのインストールが必要
前提
- UEFI設定画面から「Secure Boot」を切っておく(切っておかないと外部ドライバをインストールできない)
【参考リンク】
intel NUC 10 シリーズで セキュアブート (Secure Boot) を無効にする
- 「AppStream」と「BaseOS」のリポジトリを、セットアップ時のメディア内のディレクトリへ指定しておく(ネットワークが繋がっていないので、モジュールのインストールが必要となった時、yumやdnfが出来ないため。参考までに当方環境で作成したものをコピペ。)
$ view /etc/yum.repos.d/CentOS-localrepo.repo
[localrepo-BaseOS]
name=CentOS-localrepo-BaseOS
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra
baseurl=file:///var/localrepo/BaseOS/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
[localrepo-AppStream]
name=CentOS-localrepo-AppStream
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra
baseurl=file:///var/localrepo/AppStream/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
「/var/localrepo/」ディレクトリにメディアにあったファイルをコピーしているため、baseurlは「file:///var/localrepo/xxxx」としている。
当リポジトリを使用する際には以下コマンドにてdnfを行う(yumも同様)
# dnf install --disablerepo=\* --enablerepo=localrepo-* make
手順
- まずデバイス自体が認識されていることを確認
$ lspci | grep Ethernet
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (10) I219-V (rev 31)
- e1000eドライバが存在していないことを確認
$ dmesg | grep e1000e
(なおUbuntuの記事でこの時点でe1000eは存在しているがチェックサムエラーになる、というものを見つけた。そちらで困っている人はその記事を参照。
⇒オンボードのEthernetコントローラ(I219-V)がUbuntuで動かない時の対処
-
ネットが繋がる環境で「e1000e-3.8.4.tar.gz」をダウンロード
https://downloadcenter.intel.com/ja/download/15817/
(「Intel® Ethernet Connection I219-V」でググるとドライバは「e1000e-3.5.1.tar.gz」を使用する旨が見つかるが、NUC10i5FNHでは「# make install」時にエラーが発生した。注意。) -
USBやSDカードでCentOS8に持ってくる
-
tar.gzを解凍
$ tar -zxvf e1000e03.5.1.tar.gz
- srcフォルダへ移動
$ cd ./e1000e-3.8.4.tar/e1000e-3.8.4/src
- インストール(makeコマンドが無い場合はyumなりdnfでインストールしておくこと)
$ sudo make install
- 既にインストールされているe1000eの削除(dmesgで確認したため恐らく空振るが念のため)
$ sudo rmmod e1000e
- ドライバの適用
$ sudo modprobe e1000e
- 再起動
(# systemctl restart NetworkManager
でも大丈夫だと思う)
# reboot
インタフェースが認識されていることを確認
(当方環境では「eno1」。この時点では接続されていないためまだipは振られてない)
$ 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: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 1c:69:7a:63:44:a5 brd ff:ff:ff:ff:ff:ff
- 「eno1」が切断されていることを確認
$ nmcli d
- 「eno1」を接続
$ nmcli device connect eno1
- DHCPでIPが振られていることを確認
$ 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: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 1c:69:7a:63:44:a5 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.29/24 brd 192.168.1.255 scope global dynamic noprefixroute eno1
valid_lft 83191sec preferred_lft 83191sec
inet6 240d:1a:10a:e000:901:738f:d343:c10d/64 scope global dynamic noprefixroute
valid_lft 10761sec preferred_lft 10761sec
inet6 fe80::3295:d5ce:975c:f6a/64 scope link noprefixroute
valid_lft forever preferred_lft forever
繋がった!
終わりに
Bluetoothや無線LANアダプタも同様に初期状態では使えない。
必要なかったので放置しているが、先述の「dmesg」コマンドでファームウェアが見つかりませんといったメッセージが見つかるのでそれを解消すれば使えそう。
なお恐らくUbuntu使えば最初から色々用意されているハズ
参考にしたページ
- 【Linux】対処法: 有線LANのドライバe1000eが動作しない。
- [オンボードのEthernetコントローラ(I219-V)がUbuntuで動かない時の対処]
(https://blog.spiralray.net/archives/474) - [yumリポジトリをローカルで作成する]
(https://itbasesta.com/local-repository)