【トラブル】shuttle x27dにインストールしたCentOS上で、ネットワークの調子が悪い

スポンサーリンク

症状

・mt-daapdで音楽を聞いていると途中で途切れる
・Teratermを使ってSSHでログイン後、キーボードで入力してもteraTermに反映されない。または10秒後に反映されてものすごくもっさり
どちらも致命的な問題ではないけど、きわめてストレスが溜まる問題なので原因を調べてみました。

情報収集

上のteratermの反応がもっさりするのはさくらVPSでメモリを使いすぎている時にもあったので、一応メモリの状態。

# free
             total       used       free     shared    buffers     cached
Mem:       2049396     459160    1590236          0      18572     262232
-/+ buffers/cache:     178356    1871040
Swap:      4095992          0    4095992

異常なし。

起動メッセージのeth0(ネットワークカード)の様子

# dmesg|grep eth0
r8169: eth0: link up
r8169: eth0: link down
r8169: eth0: link up
r8169: eth0: link down
r8169: eth0: link up
r8169: eth0: link down
r8169: eth0: link up
r8169: eth0: link down
r8169: eth0: link up
r8169: eth0: link down
r8169: eth0: link up

link upとdownを繰り返していて、妙にあやしい。

LANのチップセットを調べると

# lspci
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigab
it Ethernet controller (rev 02)

しかし、パケットのdropは発生していない

# /sbin/ifconfig -a |grep dropped
          RX packets:1943 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3779 errors:0 dropped:0 overruns:0 carrier:0
          RX packets:57 errors:0 dropped:0 overruns:0 frame:0
          TX packets:57 errors:0 dropped:0 overruns:0 carrier:0
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

ネットを検索して調べると、このチップセットのLANは、CentOSが入れるドライバを間違える問題があるようです

・ドライバをRealtekからダウンロード。なぜか数回に一度しかダウンロードできず、firefoxなどのブラウザからしかダウンロードできないのでWindowsでダウンロード後/usr/src/localにコピー。

・/usr/local/srcに展開し、実行

# cd /usr/src/local
# tar xvjf r8168-8.028.00.tar.bz2
# cd r8168-8.028.00
# ./autorun.sh

Check old driver and unload it.
rmmod r8169
Build the module and install
(中略)
Backup r8169.ko
rename r8169.ko to r8169.bak
DEPMOD 2.6.18-274.18.1.el5
load module r8168
Completed.

終わったらダウンロードしたドライバを削除

# rm /usr/src/local/r8168-8.028.00.tar.bz2

リブート後、dmesgを見ると

# dmesg |grep eth0
eth0: Identified chip type is 'RTL8168C/8111C'.
r8168: eth0: link down
ADDRCONF(NETDEV_UP): eth0: link is not ready
r8168: eth0: link up
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
r8168: eth0: link up

となっているので、CentOS側から使うドライバ(モジュール)がr8169からr8168に変更されたようです。

しばらくこれで様子を見て見ます。

でもこの問題、最初は全然起きなかった気が。3日前はmt-daapdで音楽30分聞いても全く途切れなかったし。昨日シャットダウンしたせいかな?

—-
参考リンク
AT5NM10-I(Atom D510)にCentOS 5.5を導入してネットワークではまった – Pineport TMZ の日記
RTL8111D 用ドライバをインストールするには (1) – metastable blog
b.nf – Tag Archive – RTL8111/8168B