はじめに
メインで使っていたディスクトップ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
目次
- はじめに
- 目次
- 環境
- 症状
- ドライバーの確認
- ドライバーのインストール
- buid-esseintialのインストール
- linux-oem関連のパッケージのインストールで./autorun.sh実行できた!
- 参考文献
環境
簡単に環境は以下のとおり。
- Distribution : Linux mint 21 Vanessa
- マザーボード:PRO B660M-A DDR4
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)
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をインストールしてコンパイラとかをインストールしてしまおう。
だがネットに接続できないんで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
wgetしてきたファイルをLinuxPCにコピーして、パッケージをインストールしてしまおう。
$sudo dpkg -i *.deb
インストールできたらば、ドライバのインストールをしてしまおう。
だがエラーの内容は変わらずなのだった。
linux-oem関連のパッケージのインストールで./autorun.sh実行できた!
この記事によるとlinux-oem関連のパッケージのインストールで解決できたと言う記述があるので、やってみる。 先程と同様にリストを作成して
sudo apt-get --print-uris install linux-oem-* | cut -d\' -f2 | grep http:// > ~/Desktop/urls5.txt
macbook airでwgetする。
$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