EN JA
WB(4)
WB(4) FreeBSD Kernel Interfaces Manual WB(4)

名称

wbWinbond W89C840F ファーストイーサネットデバイスドライバ

書式

このドライバをカーネルにコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:

device miibus
device wb

もう一つの方法として、ブート時にモジュールとしてドライバをロードするためには、次の行を loader.conf(5) に置きます:

if_wb_load="YES"

解説

wb ドライバは、Winbond W89C840F ファーストイーサネットコントローラチップに基づく PCI イーサネットアダプタと組み込みコントローラのサポートを行ないます。 840F は、940F と混同するべきではありません。それは、NE2000 クローンであり、10Mbps の速度のみをサポートしています。

Winbond コントローラは、バスマスタ DMA を使用して、 DEC の 'tulip' そっくり製品になるように設計されます。それは、いくつかの点で標準の DEC の設計とは、異なっています: コントロールとステータスレジスタが 8 の代わりに 4 バイト間隔になっている、 DMA エンジンを送信することによって受信フィルタが特別なセットアップフレームをダウンロードすることではなくレジスタを通してプログラムされています。外部 PHY を使用して、Winbond チップは、全二重か半二重のいずれかで 10Mbps と 100Mbps の両方の速度をサポートしています。

wb ドライバは、次のメディアタイプをサポートします:

autoselect
メディアタイプとオプションの自動選択を有効にします。 Winbond コントローラに取り付けられた PHY チップが NWAY 自動ネゴシエーションをサポートする場合にだけ、これは、サポートされます。ユーザは、 /etc/rc.conf ファイルにメディアオプションを加えることによって、手動で自動選択モードを無効にできます。
10baseT/UTP
10Mbps オペレーションを設定します。 mediaopt オプションも 全二重 または 半二重 モードのいずれかを選択するために使用できます。
100baseTX
100Mbps (ファーストイーサネット) オペレーションを設定します。 mediaopt オプションも 全二重 または 半二重 モードのいずれかを選択するために使用できます。

wb ドライバは、次のメディアオプションをサポートします:

full-duplex
全二重オペレーションを強制的に設定します。
half-duplex
半二重オペレーションを強制的に設定します。

アダプタによってサポートされる場合、100baseTX メディアタイプだけが利用可能であることに注意してください。このデバイスの設定についてのより詳しい情報については、 ifconfig(8) を参照してください。

ハードウェア

wb ドライバは、次を含む Winbond W89C840F に基づくファーストイーサネットアダプタと組み込みコントローラのサポートします:

  • Trendware TE100-PCIE

診断

wb%d: couldn't map memory
致命的な初期化エラーが生じました。
wb%d: couldn't map interrupt
致命的な初期化エラーが生じました。
wb%d: watchdog timeout
デバイスがネットワークに応答を止めたか、またはネットワーク接続 (ケーブル) に関する問題があります。
wb%d: no memory for rx list
ドライバは、受信リングのための mbuf の割り付けに失敗しました。
wb%d: no memory for tx list
パッドバッファを割り付けるか、クラスタへ mbuf チェーンを折りたたむ場合、ドライバは、送信リングのための mbuf の割り付けに失敗しました。
wb%d: chip is in D3 power state -- setting to D0
このメッセージは、パワーマネージメントをサポートするアダプタだけにあてはまります。いくつかのオペレーティングシステムは、シャットダウンするとき、コントローラを低消費電力モードにし、いくつかの PCI BIOS は、それを設定する前に、この状態でチップを明らかにすることに失敗します。コントローラは、D3 状態で PCI 設定のすべてを失うので、BIOS が時間内にそれをフルパワーモードに戻せない場合、正しくそれを設定することができません。ドライバは、この状態を検出して、D0 (フルパワー) 状態にアダプタを戻しますが、これは、ドライバを完全な操作状態に復帰するためには十分ではありません。利用者がブート時にこのメッセージを見つけ、ドライバがネットワークインタフェースとしてデバイスのアタッチに失敗した場合、利用者は、デバイスを適切に設定させるためにウォームブートを実行しなければなりません。

この状態は、別のオペレーティングシステムからウォームブートするときのみ生じることに注意してください。 FreeBSD をブートする前に利用者のシステムをパワーダウンする場合、カードは、正しく設定されるはずです。

歴史

wb デバイスドライバは、 FreeBSD 3.0 ではじめて登場しました。

作者

wb ドライバは、 Bill Paul <wpaul@ctr.columbia.edu>によって書かれました。

バグ

Winbond チップは、リンクパートナがモードを切り換えるとき、時として、奇妙に振る舞います。例えば両側が 10Mbps 半二重に設定され、もう一方の端が 100Mbps 全二重に変更される場合、 Winbond の受信器は、RX 記述子全体にわたって突然ごみを書き始めます。 wb ドライバは、コントローラチップと取り付けられた PHY の両方のリセットを強制することによって操作します。これは、抜本的ですが、この状態から適切に回復する唯一の方法であるように思えます。
July 16, 2005 FreeBSD