Mailinglist Archive: opensuse-ja (48 mails)

< Previous Next >
Re: [opensuse-ja] e1000ドライバにオプションを指定すると 繋がらない
  • From: Morimoto Kenji <odin@xxxxxxxxxxxxxxxxxxxxxx>
  • Date: Wed, 4 Apr 2007 23:57:22 +0900
  • Message-id: <200704042357.22461.odin@xxxxxxxxxxxxxxxxxxxxxx>
森本です


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@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-ja+help@xxxxxxxxxxxx

< Previous Next >