森本です 2007 4月 4 水曜日、不動技研工業 野口 さんは書きました:
1. NICランプの異常な点滅 2つあるランプの両方が緑ですが、2・3回点滅後、消灯。 これを繰り返します。
dmesg コマンドの出力ではどのようなログになっているでしょうか? リンクアップやリンクダウンを繰り返したり、ネゴシエーションの 情報がその度ごとに追記されていってないでしょうか?
2. 直結でもダメ ハブとの相性を疑って、サーバに直結。 結果は1.と同じ。
3. ハブを変える さすがにギガのハブは持っていないので、100Mのハブで 試してみました。これは問題なくOK。
4. ケーブル交換 DELL PCで使っていたケーブルと交換してみる。 1.と同じ。
といった状況です。
この段階でオートネゴシエーションの問題だろうと判断できます。 こういうのは大概ケーブル不良なんですが、4でそれは否定され ているようですね。過去に似たような現象に遭遇したことがあり ますので参考までに報告します。 このオートネゴシエーションを行うにあたり、相手と自分とで、 クロックのPLLを実行します。あまりに周波数にずれがあったり、 ノイズが多い環境では、これが失敗するようで、その時どちらの クロックをマスターとして扱うかという指定ができます。 e1000 ドライバ付属の README.txt のうち次の記述を参考にして、 ドライバの再コンパイルをしてみてください。 =================================================================== 82541/82547 can't link or are slow to link with some link partners ----------------------------------------------------------------- There is a known compatibility issue with 82541/82547 and some low-end switches where the link will not be established, or will be slow to establish. In particular, these switches are known to be incompatible with 82541/82547: Planex FXG-08TE I-O Data ETG-SH8 To workaround this issue, the driver can be compiled with an override of the PHY's master/slave setting. Forcing master or forcing slave mode will improve time-to-link. # make CFLAGS_EXTRA=-DE1000_MASTER_SLAVE=<n> Where <n> is: 0 = Hardware default 1 = Master mode 2 = Slave mode 3 = Auto master/slave =================================================================== マスターモードにすると、自分のクロックを使います。スレーブに すると、相手側に追従するようになります。 また、一部のインテル NIC (や、オンボードインターフェース)は、 クロックの周波数のQ値が低めのものがあったようで、熱ノイズにより それが悪化するものがでてくる事象に遭遇したことがあります。その 場合はコントローラチップにヒートシンクを付けることで安定する ことが判明していました。こんな事は「インテルだけ」などという訳 がないと思います。上記の設定パラメータは多くのコントローラの ドライバにて設定可能だということからも、結構ありがちな問題なの かもしれません。安価なスイッチの方にも、良いクロック源が使用 されていないなどの問題もあるんでしょうね。
この後、今井さんからのメールにあったオプションを試してみました。 まずは、 modprobe -r e1000 にて、モジュールアンロードして、 modprobe e1000 AutoNeg=0x20 Speed=1000 Duplex=2
これできちんと接続され、妙な点滅状態や pingした時のパケットロスなどは無くなりました。
これでオートネゴシエーションするパラメータがすべて決め打ちに なったために問題が起こらなくなったのだと思われます。決め打ち にせず、ネゴシエーションを使うのであれば、上記の対策をしてみる 価値があるはずです。
そこで、今度はこのオプションをブート時に読み込んでもらおうと、 /etc/sysconfig/hardware/hwcfg-bus-xxxx に書き込んでネットワークを再起動してみたのですが、 これはダメで、ping時も4割ほどパケットが失われるような状態です。 (NICランプも緑点滅数回、消灯の繰り返し)
最初にも書きましたが、dmesg コマンドで、この時なにが起きている のかは確認ができるはずです。また、設定したパラメータについても ログが残るはずです。確認してみてください。 --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org