Realtek 8111Gのドライバー問題を解決する
こんにちは。
年末年始にかけて我が家の録画サーバーがめっちゃ不調に陥ってしまい、ほとほと困り果てていました。
2016年くらいから稼働しているのでそろそろ寿命かなーと思ったら、Realtekのドライバー問題でしたというお話です。
原因の調査
サーバーの症状としては、起動から2日ほど経つと勝手に再起動してしまい、しかも起動に失敗する無限ループに入るという感じ。
強制シャットダウンし、20秒ほど待つと起動に成功する。
journalctl
を見ても目立ったエラーはなし。なんとなくメモリが怪しいと思ってMemtest86を回してみましたが、こちらもエラーは検知されず。
録画サーバーをDHCPサーバーとして使い始めた頃から症状が出始めたな〜と思い当たり、ネットワーク周りを調査したところ、ビンゴでした。
LANケーブルを抜き差しすると、再起動ループに入ることがわかりました。
原因
我が家の録画サーバーはmini-ITXなのにPCIeスロットが2本ある変態マザー「BIOSTAR H81MHV3」を使っています。
このマザーのLANコントローラーはRealtek r8111Gなのですが、どうやらこのコントローラーのドライバーに問題があるようです。
本来ならr8111/8168/8411のドライバーがあたるべきところを、誤検知されてr8169のドライバーがあたってしまう模様。けっこう有名な話みたいです。
実際に録画サーバー上で lsmod
したところ、r8169のカーネルモジュールが読み込まれていました。
対処法
r8168-dkms
をインストールして、きちんとr8111/8168/8411用のドライバーがあたるようにします。
sudo apt install r8168-dkms
r8169のカーネルモジュールが読み込まれないように、blacklistへ。
sudo echo "blacklist r8169" > /etc/modprobe.d/r8169_blacklist.conf
archlinuxのコミュニティではinitramfsを作り直していたので、作り直します。
sudo update-initramfs -u
これでOKのはず。
まとめ
まだ様子見の状態ですが、解決してほしい…
今までは運良くRealtekのドライバー問題に遭遇してこなかったので、「蟹」の洗礼を受けた気持ちです。