[SCore-users-jp] NICの問題?,full-duplexで動作しない,scstestで失敗する
akira nakagawa
nakira @ cogni.cs.kumamoto-u.ac.jp
2003年 1月 16日 (木) 10:31:20 JST
中川@熊本大学 と申します。
初めてこのMLに投稿します。
今回の質問はNICに関するものです。
問題は /opt/score/deploy/scstest が失敗するというものです。
ここから,問題を特定するまでの過程です。
最後の方に質問させていただきたいことが書いてあります。
先ず,マシンの構成ですが,
/opt/score/etc/scorehosts.db に以下の様な記述があります。
parallel-a021.cogni.kumamoto-u.ac.jp SEG20
parallel-a022.cogni.kumamoto-u.ac.jp SEG20
parallel-a023.cogni.kumamoto-u.ac.jp SEG20
parallel-a038.cogni.kumamoto-u.ac.jp SEG30
SEG20のマシンにはプラネックスコミュニケーションズ社の
GN-1000TEという Gigabit イーサネットアダプタを搭載しています。
SEG30には同社のFNW-9803-Tという100Base-TX対応のNICを用いて
います。
(ドライバはtulipで,カーネル2.4.18-2SCORE付属のもの)
SEG20のマシンは NETGEARのGS508TというGigabitのスイッチングハブに接続,
SEG30のマシンは BayStackの350T-HDという100Baseのスイッチングハブに接続し,
互いのハブをカスケード接続しています。
SEG20のマシンは問題なく動作しており,scstestもきちんと動作します。
問題があるのは新たに導入中のSEG30のマシンのNICです。
scout -g seg20+seg30 とし,scstestを行うと,以下の様な症状が出ます。
()内は私のコメントです。
[root @ parallel-a021 deploy]# ./scstest -network ethernet
SCSTEST: BURST on ethernet(chan=0,ctx=0,len=16)
50 K packets.
100 K packets.(いつも100 K で止まるわけではない。不定)
parallel-a021( 0) burst: pmGetSendBuffer: Connection timed out(110)
parallel-a022( 1) burst: pmGetSendBuffer: Connection timed out(110)
parallel-a023( 2) burst: pmGetSendBuffer: Connection timed out(110)
(4,5秒位してから)
parallel-a038( 3) burst: pmGetSendBuffer: Connection timed out(110)
なにが問題を引き起こしているのか切り分けるために以下の様な
テストをしてみました。
ドライバの設定は /etc/modules.conf で以下の様にしました。
alias eth0 tulip
#options tulip options=3 ## 100Base-TX (half)
#options tulip options=5 ## 100Base-TX (full)
(optionsを全てコメントでauto-negothiation)
HUBの設定と,NICの設定を組み合わせてうまくいく組み合わせを探しました。
a038は問題のNICを搭載したマシンです。
BayStack(HUB)の AutoNegothiationをONにし,a038の設定を変化させる。
auto-negothiation -> 駄目
100Base-TX half -> 駄目
100Base-TX full -> 駄目
HUBの AutoNegothiationをOFFにし,HUBの設定とNICの設定を同じにする
100Base-TX full -> 駄目
100Base-TX half -> 成功
また,HUBに問題がある可能性があるので,HUBを変えて同様のテストを
行いました。
HUBはNETGEARのGS508Tを用いました。これはポートの設定を変えられないようなので,
NICの設定のみを変化させました。
結果,全ての組み合わせで失敗しました。
結局ここまで調べた結果,どうやらNICに問題があるだろうという結論に達し
ました。(ドライバのtulipは多分無実?)
で,特に気になることですが,NICの動作をhalf,full,どちらにしても
diagツールが以下の様なメッセージを吐くことと,
(diffとって違いが無いことを確認しました。)
[root @ parallel-a038 root]# ./tulip-diag
tulip-diag.c:v2.06 1/8/2001 Donald Becker (becker @ scyld.com)
http://www.scyld.com/diag/index.html
Index #1: Found a ADMtek AL985 Centaur-P adapter at 0xe000.
Comet duplex is reported in the MII status registers.
Transmit started, Receive started, half-duplex. ←full-duplexにならない
The Rx process state is 'Waiting for packets'.
The Tx process state is 'Idle'.
The transmit unit is set to store-and-forward.
Comet MAC address registers 51cc9000 ffff112d
Comet multicast filter 0000000040000000.
Use '-a' or '-aa' to show device registers,
'-e' to show EEPROM contents, -ee for parsed contents,
or '-m' or '-mm' to show MII management registers.
( diagツールは http://www.scyld.com/network/tulip.html から
Ver 0.9.14 用のものを持ってきました。 )
NICをhalf-duplexに設定してもHUBがfull-duplexで接続されていると
誤認識していることです。
BayStackでポートを100Base full-duplex固定 , NIC を 100Base full-duplex固定
に指定したとき,dmesgには以下のように強制的に full-duplexにすると
表示されるのですが,
( tulip0: Transceiver selection forced to 100baseTx-FDX. )
diagツールではやはり,half-duplexといわれます。
結局,原因はlinux上でNICがhalf-duplexで動作している様なのに
HUB側から見るとfull-duplexに見えてしまうというところだろうと
思います。
出来ればfull-duplexできちんと動作させたいので,
どの様にすればきちんとfull-duplexで動作させることが
出来るのかをどうぞご教授お願いします。
それでは,よろしくお願いします。
--
=========================================================
熊本大学 大学院 自然科学研究科 数理科学情報システム専攻 1年
情報認知研究室所属
中川 彰
メールアドレス
大学 : nakira @ cogni.cs.kumamoto-u.ac.jp
========================================================
SCore-users-jp メーリングリストの案内