スポンサーリンク

WB(4) FreeBSD/i386 カーネルインタフェースマニュアル WB(4)

名称

wb − Winbond W89C840F ファーストイーサネットデバイスドライバ

書式

device wb0

解説

wb ドライバは、Winbond W89C840F ファーストイーサネットコントローラを利用 した、PCI イーサネットアダプタ、及び組み込み型コントローラをサポートして います。このドライバには、Trendware TE100-PCIE など、他の様々な安価なボー ドを含んでいます。 840F と 940F を混同しないでください。 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%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 が時間内にコントローラをフルパワーモードに戻すことができない場 合、 PCI に関する設定を正常に行うことができません。ドライバはこのような状 態を検知したとき、アダプタを D0 (フルパワー) 状態に戻すことを試みます。し かし、ドライバを完全に操作可能な状態まで、復帰させることができないことが あります。もしブート時にこのようなメッセージが表示され、ドライバがネット ワークインタフェースとしてデバイスにアタッチできなかった場合には、デバイ スを正しく設定するためにもう一回ウォームブートを行う必要があります。

このような状況は、他のオペレーティングシステムからウォームブートを行った 場合にのみ発生します。 FreeBSD をブートする前にマシンの電源を落しておけ ば、カードは正しく認識されるはずです。

関連項目

arp(4), netintro(4), ifconfig(8)

歴史

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

作者

wb ドライバは Bill Paul ⟨wpaul@ctr.columbia.edu⟩ が作成しました。

バグ

接続先がモードを切り換える際、Winbond チップは奇妙な振舞いを起しているよ うに思われます。例として、両方を 10Mbps 半二重の状態にセットしたとしま す。それから片方を 100Mbps 全二重に設定すると、 Winbond チップのレシーバ は RX 記述子の至るところにゴミを書き始めます。 wb ドライバは、コントロー ラチップと付属の PHY を強制的にリセットすることによってこの問題に対処しま す。荒治療ではありますが、このような状態から正しく回復するための唯一の方 法に思えます。

FreeBSD November 4, 1998 FreeBSD

スポンサーリンク