Linux mint の有線Lanが認識しなくなった(スタンドアローンなPCにRealtek RTL8125 2.5GbEのドライバをダウンロードした話)

スポンサーリンク

はじめに

メインで使っていたディスクトップPCがだいぶ遅くなってきたのと、 動画編集したりするのにwindowsが欲しくて、ドライブを分けてLinux mint とwindows11のデュアルブートするマシンを組んだ。 だがしかし、linux mint上でディスプレイの設定をいじるとバグる。 windows11では問題なかったので、ディスプレイ側の問題ではなくて、 linux mint側のグラフィックボードのドライバーが問題だと突き止めた。 そこで標準でインストールされているドライバのnouveau をやめて nvidia のドライバー(グラボはRTX3060)をインストールしのだが、以下のコマンドを実行したのがまずかったみたいだ。

$sudo ubuntu-drivers autoinstall

これを実行後にEthernetの接続が切れてしまった。 ネットにつながらないと、環境構築ができない。 OSインストールし直しちゃおうかと迷ったが、問題に向き合うことにした。 ということで数日間の格闘記録を残しておく。
ちなみに、ubuntu 20.04.02 ltsをインストールしたんだが、Ethernetが繋がらなかった。 きっと、以下の情報でubuntu 20.04.02 ltsの問題も解決できるはず。

この記事でも同様に事象に見舞われたようだ。 qiita.com

目次

環境

簡単に環境は以下のとおり。

https://jp.msi.com/Motherboard/PRO-B660M-A-DDR4
そして、このMSIマザーボードオンボードに搭載されている有線LAN
Realtek RTL8125 2.5GbEが今回の主役。

症状

兎にも角にもネットにつながらない。Ethernetのアイコンもディスクトップのタスクバーから消えてしまった。 PCを新調したばっかりで環境構築のまっただ中。 apt-get install ができないとどうにもならない(泣) ネットを封印されれるとあまりにも無力だよね。

ドライバーの確認

まずはEthernetコントローラの型番を以下のコマンドで調べてみる。PCIスロットの情報をgrepで絞り込み。 デバイスはRTL8125みたいだ。

$lspci | grep Ether
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)

検索してみるとRealtek社製とのこと。カニさんだね。

https://www.realtek.com/ja/products/communications-network-ics/item/rtl8125bg-s-cg

次にカーネルのバージョンの確認を以下のコマンドでしてみる。

$uname -r
5.15.0-48-generic

カーネルのバージョンとEethernetコントローラのデバイスが判明したので、ドライバーの有無を確認してみる。 lsコマンドで見てみると、RTL8125のドライバは見当たらない。やはりドライバーが消えてしまっていることが、 有線できない原因のようだ。ドライバを入れるにもネットが必要だから、なんとも面倒くさい。

$ls /lib/modules/5.15.0-48-generic/kernel/drivers/net/ethernet/realtek/
8139cp.ko  8139too.ko  atp.ko  r8169.ko

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

Ethernetコントローラのドライバがないから、ダウンロードしてこないとダメなのだが、 ダウンロードするにはネットが必要というジレンマ。しょうがないのでmacbook airで でドライバをダウンロードして、USBでデータを移送。そいで、ドライバをインストールする作戦。

以下のリンクからrealtekのRTL8125のドライバをダウンロードする。 https://www.realtek.com/ja/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software ダウンロードしたらファイルを解答して、Linux mintをインストールしたPCの適当なところにコピー。ファイルの中身は以下のスクショの通り。

autorun.shを実行すれば良いらしいので、まずは実行権限を与えてあげよう

$sudo chmod 666 autorun.sh

ファイルに権限を付与したら、実行してみる

$sudo ./autorun.sh

これで上手くいくかと思ったが、そんなに甘くなかったのだった。 こんなエラーが吐き出される

$ ./autorun.sh

Check old driver and unload it.
Build the  module and install
make[2]: *** /lib/modules/5.15.0-48-generic/build: No such file or directory. Stop.
make[1]: *** [Makefile:176: clean] Error 2
make: *** [Makefile:48: clean] Error 2

buildフォルダーがたしかにないので、

$mkdir /lib/modules/5.15.0-48-generic/build

でbuidフォルダーを作成して./autorun.shを実行したが、結果は変わらずエラーしてしまう。なにかがおかしい。

$ ./autorun.sh

Check old driver and unload it.
Build the  module and install
make[2]: *** No rule to make target 'clean'. Stop.
make[1]: *** [Makefile:176: clean] Error 2
make: *** [Makefile:48: clean] Error 2

buid-esseintialのインストール

./autorun.shのソースファイルのを見てみると、cファイルが入っている。 c言語なのでgccコンパイラ)がなかったりとか、そういう問題が原因なのかもしれない。
そこでbuild-esseintialをインストールしてコンパイラとかをインストールしてしまおう。

qiita.com

だがネットに接続できないんでapt-getできない。 なので必要なパッケージリストを出力して、mac book airでパッケージをダウンロードしてしまおう。 以下のコマンドを実行して、テキストファイルにurlを出力する。

sudo apt-get --print-uris install build-essential* | cut -d\' -f2 | grep http:// > ~/Desktop/urls4.txt

テキストファイルの中身はこんな感じ

http://archive.ubuntu.com/ubuntu/pool/main/l/linux-lowlatency/linux-lowlatency-headers-5.15.0-48_5.15.0-48.54_all.deb
http://archive.ubuntu.com/ubuntu/pool/main/l/linux-lowlatency/linux-headers-5.15.0-48-lowlatency_5.15.0-48.54_amd64.deb

mac book air にurlを保存したファイルをコピーして、wgetコマンドでパッケージをダウンロード。

$mkdir ~/Desktop/url4
$wget -P ~/Desktop/urls -i urls4

tatsushid.github.io

qiita.com

wgetしてきたファイルをLinuxPCにコピーして、パッケージをインストールしてしまおう。

$sudo dpkg -i *.deb

インストールできたらば、ドライバのインストールをしてしまおう。
だがエラーの内容は変わらずなのだった。

linux-oem関連のパッケージのインストールで./autorun.sh実行できた!

forums.linuxmint.com

この記事によるとlinux-oem関連のパッケージのインストールで解決できたと言う記述があるので、やってみる。 先程と同様にリストを作成して

sudo apt-get --print-uris install linux-oem-* | cut -d\' -f2 | grep http:// > ~/Desktop/urls5.txt

macbook airwgetする。

$mkdir ~/Desktop/url5
$wget -P ~/Desktop/urls -i urls5

そしてパッケージをインストール。

$dpkg -i *.deb

そしてそして、

$sudo ./autorun.sh

これでインストール成功!! ドライバがインストールがちゃんとインストールされているか、確認してみる。

$ ls /lib/modules/5.17.0-1016-oem/kernel/drivers/net/ethernet/realtek
8139cp.ko  8139too.ko  atp.ko  r8125.ko  r8169.bak

たしかにr8125.koが存在しており、ドライバがダウンロードできている!!

参考文献

Unable to install R8125 Realtek Ethernet Driver - Support - Manjaro Linux Forum
Error installing Drivers for Realtek Ethernet Controller (RTL8125 2.5GbE Controller) - Ask Ubuntu
Install Realtek R8125 Driver on Ubuntu - Katastros
Realtek 8125 NIC をCentOS8で動かす - Qiita
RTL8111/8168/8411 のインストールに苦悩した話 | tarufulog
Ethernet and sound gone after running "ubuntu-drivers autoinstall" : linux4noobs
networking - How to get Realtek RTL8852AE WiFi card to work on my new laptop - Ask Ubuntu
[META] Status of upstreaming/backports · Issue #75 · lwfinger/rtw89 · GitHub
スタンドアローン状態のUbuntuにネットワークドライバをインストールする方法 - Qiita
Unable to install network driver r8125 on debian - Unix & Linux Stack Exchange
Realtek ネットワークドライバをUbuntuにインストール 備忘録 - Qiita