Ubuntu 16.04 で ASUS H110T の Ethernet ポートが認識されない問題の対処方法

ASUS H110T

この記事のまとめ:
  • Ubuntu OS が ASUS H110T マザーボードの Realtek 製 RTL8111/8168/8411 Ethernet Controller を認識しない問題の対処方法をまとめています。
背景

最近世にも珍しい Micro-ITX Thin 規格のマザーボードである ASUS H110T を中古で購入したのですが、Ubuntu 16.04 が2つある Ethernet ポートのうち1つを 認識しない問題がありましたので問題を解決した記録を残しておきます。ちなみに正確には DHCP では反応するものの固定 IP アドレスが割り振れない感じでした。

ハードウェアデバイスの確認

まずは下記のコマンドで Ethernet コントローラーのデバイスを探します。

$ sudo lshw 
204-           *-network DISABLED
205:                description: Ethernet interface
206:                product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
207-                vendor: Realtek Semiconductor Co., Ltd.
208-                physical id: 0
209-                bus info: pci@0000:03:00.0
210-                logical name: enp3s0
211-                version: 15
212-                serial: 40:b0:76:0c:cf:ab
213-                size: 10Mbit/s
214-                capacity: 1Gbit/s
--
266-        *-network
267:             description: Ethernet interface
268:             product: Ethernet Connection (2) I219-V
269-             vendor: Intel Corporation
270-             physical id: 1f.6
271-             bus info: pci@0000:00:1f.6
272-             logical name: enp0s31f6
273-             version: 31
274-             serial: 40:b0:76:0c:cf:aa
275-             size: 1Gbit/s
276-             capacity: 1Gbit/s

2つある Ethernet ポートはそれぞれ異なる IC (Realtek 製 RTL8111/8168/8411 と Intel 製 I219-V)で制御されていることがわかります。

そのうち問題になっているのは Realtek 製 RTL8111/8168/8411 で制御されている Ethernet ポートのようです。

ドライバーのインストール

Realtek RTL8111/8168/8411 用のドライバーは r8168 というもののようでドライバーがインストールされているか確認します。

$ lsmod | grep r8168

ドライバーがインストールされていない場合何も表示されません。

それでは、Realtek 製 RTL8111/8168/8411 のドライバーをインストールします。 Realtek のホームページから RTL8111/8168/8411 用のドライバーをダウンロードしてきます(残念ながら wget でダウンロードできる感じではないです)。

対象となるドライバーは GBE Ethernet LINUX driver r8168 for kernel up to 4.15 (2019.12.12現在)のようです。

マニュアルに従ってインストールします。

$ tar xf r8168-8.047.05.tar.bz2 
$ cd r8168-8.047.05
$ sudo ./autorun.sh 
$ lsmod | grep r8168
r8168                 561152  0

なお、更新版のドライバーとして r8169 というものがあるようなのですが、このドライバーは不具合が多いようなので先に r8169 ドライバーがインストールされ、適用されてしまっている場合はこのドライバーを読み込まないようにするために、/etc/modprobe.d/blacklist.conf に下記を追記します。

blacklist r8169

/etc/network/interfaces にインターフェースの設定を書いて、ifup <iface_name> を実行するか、再起動すれば無事認識されているはずです。

参考

今回は以上です。 最後まで読んでいただき、ありがとうございます。

コメント

このブログの人気の投稿

ネットワーク越しの RTL-SDR で SDR# を使う方法

LinuxでのnVidia GPUのオーバークロック・電力チューニング方法