RTL8126はUbuntu 22.04では、ドライバを入れないと動かない
最近のPCをゲットしたので、Ubuntu入れてさー使うぞー。って思ったら有線LANポートが機能していない。
チップはなんやねん
$ lspci
...
Ethernet controller: Realtek Semiconductor Co., Ltd. Device 8126 (rev 01)
...
蟹やん。最近のIntelチップはイマイチっぽいけど、最近の蟹はそんな評判悪くないんだけどなー。ま、ドライバ入れるかー。
と、蟹のDownloadsからドライバを引っ張ってくる
5G Ethernet LINUX driver r8126 for kernel up to 6.4
これやな。とおもむろにダウンドードしてtar
コマンドで解凍する。中を見るとREADME
,autorun.sh
...お、なんかいい感じやん。
Trueエンド
と思いつつREADMEをチラ見するとRequirements
にKernel source tree
と書いてあるので、まずは linux-headersをインストールする
$ sudo apt install linux-headers-$(uname -r)
この後にREADMEに倣い
sudo ./autorun.sh
を実行すると使えるようになる。gcc-12がないと言われたらインストールして再度実行すれば良い。
ゲームオーバーエンド
と思いつつREADMEをチラ見するとautorun.sh
をsuかsudoで実行してよーって書いてある。
おぉ、親切じゃんと思いつつ
sudo ./autorun.sh
だけど/lib/modules/[カーネルバージョン]/build
がないと言われる。そりゃないんだからとmkdir
で作ってしまうと
make[2]: *** No rule to make target 'clean'. Stop.
というエラーに悩まされることとなる。そう、buildは本来linux-headersをインストールしたときに生成されるシンボリックリンクだったのです。
Trueエンドに辿り着くにはbuildディレクトリを削除してからlinux-headersをインストールしましょう。
え、linux-headersをインストールしちゃった?じゃあbuildディレクトリを削除してからシンボリックリンク貼ってください。こんな感じで
sudo ln -s /usr/src/linux-headers-$(uname -r) /lib/modules/$(uname -r)/build
だいぶ遠回りしちゃいました。まぁ、よくあることです。とほほ。