R8169からR8168へのNICドライバの入れ替え on ubuntu
RealtekのNICドライバーR8169で色々と問題があるみたいでうちでもR8169からR8168のドライバに入れ替えました。意外と大変だという記事も多いのですが結構簡単に入れ替えられます。Ubuntu(2.6.32-24-generic)で動作させています。
からLINUX driver for kernel 2.6を落とし
# bzip2 -dc r8168-8.019.00.tar.bz2 | tar xvf - # cd r8168-8.019.00 # ./autorun.sh Check old driver and unload it. rmmod r8168 Build the module and install r8168-8.019.00/src/r8168_n.c: In function ‘rtl_get_eeprom’: r8168-8.019.00/src/r8168_n.c:1790: warning: ‘ret’ may be used uninitialized in this function [: 48: r8168: unexpected operator Backup r8169.ko rename r8169.ko to r8169.bak0 Depending module. Please wait. load module r8168 Completed. # cp /boot/initrd.img-`uname -r` /boot/initrd.img-`uname -r`.bak # mkinitramfs -o /boot/initrd.img-`uname -r` /lib/modules/`uname -r` # reboot
dpkg: バージョン '/lib/modules/(unameの出力)' は不正な構文です: バージョン番号に無効な文字があります
というメッセージが出るという報告を受けました。
その場合は/lib/modules/」を削除して実行すると通るみたいですが、私は試していませんー。参考までにー!
ドライバdownloadしてautorun.shを走らせてドライバを更新してinitrd.imgをつくり直して再起動という流れです。
blacklist.confとか色々といじったりしている方法もあるみたいですが上記のやり方でR8169からR8168ドライバへの入れ替えができます。
ドライバが正しくインストールされているかはlspciとかlsmodとか方法はありますがethtoolが一番わかり易いです。
#ethtool -i eth0 driver: r8168 version: 8.019.00-NAPI firmware-version: bus-info: 0000:02:00.0
でドライバの確認ができます。ethtool eth0でさらに多くの情報の確認ができます。
ネットワークの速度を測りたい場合は2台のコンピュータでnetperfとnetserverを使います。
サーバ(debian/ubuntu) IPは192.168.0.1
# apt-get install netperf # netserver Starting netserver at port 12865
# apt-get install netperf # netperf -H 192.168.0.1 TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.1 (192.168.0.1) port 0 AF_INET : demo Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 262140 16384 16384 10.01 939.56
eth0が939.56M/sec出ていてギガビット回線であることが分かります。