VR(4) FreeBSD/i386 カーネルインタフェースマニュアル VR(4)
名称
vr − VIA Technologies VT3043 と VT86C100A イーサネットデバイスドライバ |
書式
device vr0 |
解説 |
vr ドライバは、VIA Technologies 社の VT3043 Rhine I と VT86C100A Rhine II のファーストイーサネットチップを搭載した PCI イーサネットカードのサポート を提供します。このサポート範囲には、D-Link DFE530-TX やその他諸々の安価な ファーストイーサネットカードが含まれます。 VIA Rhine チップはバスマスタ DMAを使用し、DEC 21x4x "tulip" チップに似た デザインのソフトウェアインタフェースを持っています。大きな違いは、 Rhine チップの受信フィルタの方がはるかに単純だということです。tulip のように、 送信 DMA エンジン経由で特殊な設定フレームをダウンロードしたりせず に、Rhine はレジスタ経由でプログラミングします。また、送信 DMA バッファ、 受信 DMA バッファとも、longword で境界調整する必要があることも違いま す。Rhine チップは、外部にある物理層デバイスとは MII バスを通して接続され るように設計されています。また、10Mbps と 100Mbps の両方のスピードが、全 二重、半二重のどちらのモードでもサポートされています。 vr ドライバは次のようなメディアタイプをサポートします。 |
autoselect
メディアタイプやオプションの自動選択を使用可能にし ます。ユーザは、 /etc/rc.conf ファイルにメディアオ プションを書き加えることで、自動選択されたモードを 手動で強制的に変更できます。 10baseT/UTP 100baseTX vr ドライバは、次のメディアオプションをサポートしています。 full-duplex half-duplex アダプタがサポートしているときのみ、100baseTX メディアタイプは使用可能で す。このデバイスを設定するためにもっと多くの情報が必要な場合は ifconfig(8) を参照してください。 診断 |
vr%d: couldn’t map memory 致命的な初期化エラーが起こりました。 vr%d: couldn’t map interrupt 致命的な初期化エラーが起こりました。 vr%d: watchdog timeout デバイスがネットワークに応答しなくなったか、ネッ トワークの接続 (ケーブル) に問題があります。 vr%d: no memory for rx list ドライバがレシーバリング用の mbuf の確保に失 敗しました。 vr%d: no memory for tx list パッドバッファを確保、または mbuf チェインを クラスタにまとめるときに、トランスミッタリング用の mbuf の確保に失敗しま した。 vr%d: chip is in D3 power state -- setting to D0 パワーマネージメントを サポートするアダプタにのみ、このメッセージが出ます。オペレーティングシス テムの中にはシャットダウン時にコントローラをローパワーモードにするものが あり、チップになにか新しく設定する前にこの状態から脱出しなければならない のですが、PCI BIOS の中にはこの脱出に失敗してしまうものもあります。コント ローラはこの D3 状態になると設定状態が揮発してしまうので、もし BIOS が規 定の時間内にもとの状態に戻せなかったら、その後の設定は正常に実行できませ ん。ドライバはこの状態の検出し、アダプタを D0 (フルパワー) 状態に戻そうと しますが、これでは、ドライバが完全に動作する状態に戻すためには不十分かも しれません。ブート時にこのメッセージが表示され、ドライバがこのデバイスを ネットワークインタフェースとして接続できない場合は、さらに 1 回ウォーム ブートさせて、デバイスを適切に設定させる必要があります。 他のオペレーティングシステムからウォームブートするときのみに、この状態は 起こります。 FreeBSD のブートに先だってシステムをシャットダウンする場合、 カードを正常に設定しておく必要があります。 |
関連項目
VIA Technologies VT86C100A データシート, http://www.via.com.tw.
歴史
vr デバイスドライバは FreeBSD 3.0 に初めて登場しました。 |
作者
vr ドライバは Bill Paul 〈wpaul@ctr.columbia.edu〉 が書きました。 |
バグ
vr ドライバは、送信前には常に、送信 mbuf チェーンを longword 境界に整列し たバッファへコピーすることにより、Rhine チップの暴走を避けます。バッファ 境界が正しくない場合、チップは与えられたバッファアドレスを丸めてしまい、 間違った境界アドレスから DMAを開始してしまいます。バッファのコピーはシス テム性能を低下させますが、不可避です。 (Pentium II のような) 速いマシンで は、性能への影響はずっと少ないでしょう。 FreeBSD November 22, 1998 FreeBSD |