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
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 > |