スポンサーリンク

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

名称

fe − 富士通 MB86960A/MB86965A をベースとしたイーサネットアダプタ

書式

device fe0 at isa? port 0x300 net irq ?

解説

fe は、富士通 MB86960A, MB86965A またはその他の互換チップをベースとした イーサネットアダプタのためのネットワークデバイスドライバです。

このドライバは、アダプタのハードウェアが対応していれば、 I/O ポートアドレ スと IRQ の設定を自動的に行ないます。

このドライバはプログラム I/O データ転送技術を使用しており、まずまずのパ フォーマンスが得られます。アダプタがたとえ持っていたとしても、共有メモリ は使用しません。

このドライバは現在のところ、ISA 用の富士通 FMV-180 シリーズ、 ISA 用の ア ライドテレシス AT1700 シリーズと RE2000 シリーズ、富士通 MBH10302 PC カー ドに対応しています。

パラメータ

カーネル設定ファイルにおいて、2 つのパラメータ portirq には、アダプタ のハードウェア設定を反映した値を指定する必要があります。もう 1 つオプショ ンとして flags パラメータがあり、付加的な設定を行なうことができます。その 他の device 文におけるパラメータは書式に書かれているとおりに書く必要があ ります。

port パラメータは、アダプタのベース I/O ポートアドレスを指定します。この 値はアダプタのハードウェア設定と合致している必要があります。 port は、 ‘‘?’’ にして、指定せずに残しておくこともできます。その場合、ドライバは I/O アドレスに関するハードウェア設定の検出を自動的に試みます。この機能は アダプタハードウェアによっては動かないかもしれません。

irq パラメータは、アダプタが使用する IRQ 番号を指定します。この値はアダプ タのハードウェア設定と合致している必要があります。 irq は、 ‘‘?’’ にし て、指定せずに残しておくこともできます。その場合、ドライバは IRQ に関する ハードウェア設定の検出を自動的に試みます。この機能はアダプタハードウェア によっては動かないかもしれません。

flags は、様々なデバイス設定の組み合わせからなる数値です。現在のバージョ ンでは以下の flags が定義されています。 2 つ以上の設定をデバイスに設定す るには、それぞれの flag 値を数値で加算してください。以下で指定されていな い flag ビットは予約されており、0 にしなければなりません。実際には、それ ぞれのビットは単に無視されるか、テスト用やドライバの文書化されていない機 能を制御するために使われます。文書化されていない機能については、プログラ ムのソースを参照してください。

       0x007F

これらの flag ビットは、 flags の 0x0080 ビットが設定されている 時に、MB86960A/MB86965A チップの DLCR6 レジスタを初期化するため に使用されます。 DLCR6 上書き機能に関する詳細は以下を参照してく ださい。将来のバージョンにおけるドライバの互換性を保持するため に、 0x0080 ビットがセットされていない場合以外、 0x007F flag ビットは 0 にしておいてください。

0x0080
この flag は、MB86960A/MB86965A チップの DLCR6 レジスタに対する デフォルト設定を flag 値の 低位 7 bit を用いて上書きします。こ の flag は問題解決用のものであり、アダプタハードウェアに関する 知識がある人のみが使用してください。 DLCR6 設定に関する詳細な情 報は、富士通のマニュアルを参照してください。

オプション

fe ドライバはカーネル設定ファイルにおいて、 ‘‘option’’ 文で指定できるいく つかの私的なオプションを持っています。以下に私的オプションをリストしま す。ドライバはこれ以外にも文書化されていないオプションを受け付けます。そ れらの名前には全て FE_ という固定された接頭辞が付けられています。文書化さ れていないオプションについては、プログラムのソースを参照してください。

       FE_DEBUG=level

このオプションは、デバイスと (または) ドライバのデバッギングレベルを 制御する数値を受けとります。 FE_DEBUG ここにリストされていない値にオ プションを設定すると、文書化されていない動作を引き起こすかもしれませ ん。このオプションに関するデフォルトの設定値は 1 です。

FE_DEBUG=0 を設定すると、正当性の確認を含めた多くのデバッグ用 コードが、ドライバのオブジェクトコードから除かれます。この設定は 最も速くて小さなオブジェクトコードを生成します。この設定であって も、いくつかの非常時メッセージは記録されます。

FE_DEBUG=1 を設定すると、最低限のデバッグ用コードが含まれ、最小 量のメッセージが記録されます。この設定では致命的なエラーメッセー ジのみが記録されます。

FE_DEBUG=2 を設定すると、標準的なデバッグ用コードが含まれ、中間 量のメッセージが記録されます。この設定では滅多にないイベントや怪 しげな状態でのメッセージが記録されます。

FE_DEBUG=3 を設定すると、全てのデバッグ用コードが含まれ、最大量 のメッセージが記録されます。この設定では通常動作の報告やレジスタ 値のダンプなどの冗長なメッセージが記録されます。

ハードウェアモデルに特有の機能

fe ドライバには、アダプタのハードウェアモデルに特有の機能や制限がいくつか あります。以下はそのような性質の概略です。

富士通 FMV-180 シリーズアダプタ

これらのアダプタでは、IRQ と I/O ポートアドレスの両方が自動的に検出可能で す。

FMV-180 シリーズでは fe の自動 I/O ポートアドレス検出機能はたいていの場合 具合良く動きます。もしシステムに 2 つ以上の FMV-180 があったとしても、 ちゃんと動きます。しかし、それ以外のアダプタとの組み合わせは、ドライバを 混乱させるかもしれません。ハードウェア検出で何か困難を感じた時は、 port ? を使わないことをお勧めします。

FMV-180 シリーズでは fe の自動 IRQ 検出機能は確実に動きます。 FMV-180 に は常に irq ? を使うことをお勧めします。 IRQ のハードウェア設定は、カーネ ル設定ファイルにおいて IRQ 値が指定されていたとしても、アダプタの EEPROM 設定から読み込まれます。ドライバはカーネル設定ファイルで指定された IRQ が EEPROM に保存された値と違っていた場合、警告メッセージを生成し、設定ファイ ルで指定された値を使用します (この振舞は前回のリリースより変更になってい ます)。

アライドテレシス AT1700 シリーズと RE2000 シリーズアダプタ

アライドテレシス AT1700 シリーズと RE2000 シリーズでは、自動 I/O ポートア ドレス検出機能は動きますが、 FMV-180 シリーズよりは確実度が落ちます。アラ イドテレシスのアダプタでこの機能を使用するのはお勧めできません。

自動 IRQ 検出も制限つきですが可能です。 fe ドライバは設定ファイルで ‘‘irq ?’’ が設定されていた場合、ボードの EEPROM 設定より IRQ 設定を得ようとしま す。不幸なことに、AT1700 シリーズと RE2000 シリーズには 2 種類のモデルが あるように思えます; あるタイプは IRQ を 3/4/5/9 から選択可能で、もう片方 は 10/11/12/15 から選択可能です。これらのモデルの識別方法は、良く知られて いません。このため、アライドテレシスのアダプタでの自動 IRQ 検出は確実でな いようです。何かトラブルが起きた時は、正確な IRQ 番号を指定してください。

AT17000 シリーズと RE2000 シリーズの違いや、これらのシリーズ内でのマイナ モデルの見分けはしていません。

富士通 MBH10302 PC カード

fe ドライバは富士通 MBH10302 と互換 PC カードをサポートしています。動作に は PC カード (PCMCIA) サポートパッケージが必要です。

関連項目

netstat(1), crd(4), ed(4), netintro(4), ifconfig(8), pccardd(8)

バグ

以下は、既知の大きなバグです:

fe ドライバによって保たれているコリジョン数の統計は正確ではありません; netstat(1) のオプションは実際のコリジョン数より若干少ない値を示します。

思ったよりも多くの mbuf クラスタが消費されます。パケット受信ルーチン が、mbuf クラスタの割り当てポリシに、わざと違反しているからです。不必要に 割り当てられたクラスタは短い生存期間で解放されるため、長い目で見ればカー ネルメモリ消費量には影響しません。

XNS と IPX へのサポートがドライバには含まれていますが、一度もテストはされ ておらず、たくさんのバグがあるはずです。

作者、著作権、免責条項

fe ドライバは David Greenman が書いた ed ドライバを模範として、 M. Sekiguchi ⟨seki@sysrap.cs.fujitsu.co.jp⟩ が独自に作成して寄贈しました。 fe における PC カードサポートは Hidetoshi Kimura ⟨h-kimura@tokyo.se.fujitsu.co.jp⟩ が書きました。このマニュアルページは M. Sekiguchi が書きました。

All Rights Reserved, Copyright (C) Fujitsu Limited 1995

This document and the associated software may be used, modified, copied, distributed, and sold, in both source and binary form provided that the above copyright, these terms and the following disclaimer are retained. The name of the author and/or the contributor may not be used to endorse or promote products derived from this document and the associated software without specific prior written permission.

THIS DOCUMENT AND THE ASSOCIATED SOFTWARE IS PROVIDED BY THE AUTHOR AND THE CONTRIBUTOR ‘‘AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR THE CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENT AND THE ASSOCIATED SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

歴史

fe ドライバは FreeBSD 2.0.5 から登場しました。

FreeBSD 10.0 March 3, 1996 FreeBSD 10.0

スポンサーリンク