テクノロイド

コンピュータやゲーム他、色々日々思ったことをつづっていきます。

今更Realtekのイーサドライバr8169にハマる

2016-09-13 20:47:38 | Ubuntu Linux
ずっと前にUbuntu12.04からUbuntu14.04にアップグレードしたマシンでUbuntu14.04をインストーラからインストールしなおそうとルータの近くで作業しようと思ったら、有線LANが使えない。
アップグレードのしたせいでドライバがおかしいのかと、とりあえずインストーラでインストールしてみてもダメだった。
dmesg eth|grepで見るとr8168/r8111と出るんでググってみたら、かなり昔から問題を抱えているドライバのようだ。
単純に対応してないわけではなくて、どうも回線速度のネゴシエーションに失敗しているらしい。ルータのHUBは1000G対応なんだが(いや、どうやら100かもしれない)、ケーブルが100Gまでだったりするせい?
とりあえずネゴなしで100Base-Tで接続させるために次のコマンドを実行。
# ethtool -s eth0 speed 100 duplex full autoneg offethtool -s eth0 speed 100 duplex full autoneg off
繋がった。(mii-toolというのもあるようだ)
とりあえずアップデートとかできるようになったけど、リブートしたら消えちゃうらしくてどうすればいいんだろうか。ドライバをビルドするのメンドイし。
まあ元の場所では使えてたんだからワカチコ(細かいことは気にするな)でいいか?

追記)
通信はできるのだが何故かめちゃくちゃ遅いので結局r8168のドライバを入れることにした
sudo apt-get install dkms
wget http://ftp.de.debian.org/debian/pool/non-free/r/r8168/r8168-dkms_8.042.00-2_all.deb
sudo dpkg -i r8168*.deb
echo "blacklist r8169" | sudo tee -a /etc/modprobe.d/blacklist-r8169.conf
sudo modprobe -rfv r8169
sudo modprobe -v r8168
sudo service network-manager restart

追記2)
Ubuntu16.04でも対処する必要があった。ただし、ethtool -s eth0 speed 100 duplex full autoneg offでLAN接続させた後に、apt-get install r8168-dkmsだけで良かった。Ubuntu14.04でapt-get updateで不整合エラーが出るんでこれと同じようにした方が良かったのかも。

最新の画像もっと見る

コメントを投稿