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

名称

vrVIA Technologies Rhine I/II/III イーサネットデバイスドライバ

書式

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

device miibus
device vr

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

if_vr_load="YES"

解説

vr ドライバは、VIA Technologies VT3043 Rhine I, VT86C100A Rhine II と VT6105/VT6105M Rhine III ファーストイーサネットコントローラチップに基づく PCI イーサネットアダプタと組み込みコントローラのサポートを行ないます。

VIA Rhine チップは、バスマスタ DMA を使用して、DEC 21x4x “tulip”チップに類似するように設計された記述子レイアウトとなっています。しかしながらレジスタレイアウトは異なっており、 Rhine チップの受信フィルタはより簡単で、 DMA エンジンの送信を介して特別なセットアップフレームをダウンロードすることによってよりはむしろレジスタを介してプログラムされています。送信と受信の DMA バッファは、ロングワードで整列しなければなりません。 Rhine チップは、MII バスによって外部の物理的レイヤのデバイスにインタフェース (接続) されることになっています。それらは、全二重か半二重のいずれかで 10Mbps と 100Mbps 速度の両方をサポートします。

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

autoselect
メディアタイプとオプションの自動選択を有効にします。ユーザは、 /etc/rc.conf ファイルにメディアオプションを加えることによって、手動で自動選択モードを無効にできます。
10baseT/UTP
10Mbps オペレーションを設定します。また、 mediaopt オプションは、 全二重半二重 モードのどちらかを選択するために使用することができます。
100baseTX
100Mbps (ファーストイーサネット) オペレーションを設定します。また、 mediaopt オプションは、 全二重半二重 モードのどちらかを選択するために使用することができます。

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

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

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

ハードウェア

vr ドライバは、次を含んで VIA Technologies Rhine I、Rhine II および Rhine III ベースファーストイーサネットアダプタをサポートします:

  • AOpen/Acer ALN-320
  • D-Link DFE520-TX
  • D-Link DFE530-TX
  • Hawking Technologies PN102TX
  • Soekris Engineering net5501

SYSCTL 変数

次の変数は、 sysctl(8) 変数として利用可能です:
dev.vr.%d.stats
ドライバに保持されている多くの役に立つ MAC カウンタを表示します。

診断

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 状態で PCI 設定のすべてを失うので、BIOS が時間内にそれをフルパワーモードに戻せない場合、正しくそれを設定することができません。ドライバは、この状態を検出して、D0 (フルパワー) 状態にアダプタを戻しますが、これは、ドライバを完全な操作状態に復帰するためには十分ではありません。利用者がブート時にこのメッセージを見つけ、ドライバがネットワークインタフェースとしてデバイスのアタッチに失敗した場合、利用者は、デバイスを適切に設定させるためにウォームブートを実行しなければなりません。

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

関連項目

altq(4), arp(4), miibus(4), netintro(4), ng_ether(4), polling(4), ifconfig(8) The VIA Technologies VT86C100A data sheet, http://www.via.com.tw.

歴史

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

作者

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

バグ

vr ドライバは、Rhine チップを制御する手段として送信の前にロングワードで整列されたバッファへ送信 mbuf チェーンを常にコピーします。バッファが正しく整列されない場合、チップは、供給されたバッファアドレスを丸めて、間違った位置から DMA を始めます。このバッファコピーは、遅いシステムで送信の性能を低下させますが、回避できません。より速いマシン (例えば、Pentium II) では、性能の影響は、それほど顕著ではありません。
February 25, 2012 FreeBSD