fe ドライバに関するよくある質問と回答

私の LAN カードは fe ドライバで使えますか

Q 私の LAN カードには MB86960 (あるいは MB86964、MB86965、MB86967、78Q8360、78Q8370、78Q8373、78Q8377、78Q8378 のいずれか) と書かれたLSI が搭載されていますが、fe ドライバで使えますか?


A これだけではわかりません。

86960 系のチップは、ボード設計者の自由度が高い上に、8390 系における NE2000 のような「標準」ボードも存在しません。 このため、汎用のプルーブルーチンを作成することが困難で、サポートするボードの種類 (メーカー、機種) をいちいち意識しています。

ボードのメーカー名と型番を確認した上で、「対応するボードの一覧」を見てください。 この表でStatus が「Dev」または「Test」となっている場合には、そのボードに対するサポートが開発中であることを示しています。 ぜひ試してみて、結果を (動作した場合も、しなかった場合も) 教えてください。 また、fe ドライバが対応する LSI を搭載しているのに、対応するボードの一覧に掲載されていない場合にも、ぜひ筆者に教えてください。 このとき、開発・テストに協力いただける場合には、その旨を合わせてご連絡いただけると、サポート対象に加えることができるかも知れません。


Q 富士通の FMV-181 (あるいは FMV-181A、FMV-182、FMV-182A、FMV-183、FMV-184 のいずれか) という Ethernet カードを持っていますが、fe ドライバで使えますか?


A 使えます。 最近の FreeBSD では、GENERIC カーネルでも動作するはずです。

なお、FMV-183/184 では PnP に関して注意が必要です。


Q 富士通の FMV-186 (あるいは FMV-186A、FMV-188 のいずれか) という Ethernet カードを持っていますが、fe ドライバで使えますか?


A fxp ドライバで使用できます。 fe ドライバでは使用できません。

FMV-186/186A/188 は、NIC として i82557 を搭載した Ethernet ボードで、Intel EtherExpress Pro/100B と互換があります。


Q 富士通の FMV-J181 (あるいは FMV-J182、FMV-J182A のいずれか) という PC card を持っていますが、fe ドライバで使えますか?


A 使えます。 ただし、原則として PAO が必要です。


Q 富士通の FMV-J184 という PC card を持っていますが、fe ドライバで使えますか?


A 使えません。

FMV-J184 は CardBus 対応の 100baseTX カードです。 詳細は不明ですが、fe ドライバが対応しないことはわかっています。


Q コンテックの C-NET(98)P シリーズを持っていますが、fe ドライバで使えますか?


A 使えません。

C-NET(98)P シリーズと C-NET(98)P2 シリーズは、名前は似ていますが、ハードウェアはまったく異なります。 FreeBSD(98) では、C-NET(98)P は fe ではなく、ed ドライバが対応します。


Q コンテックの C-NET(98)P2 シリーズを持っていますが、fe ドライバで使えますか?


A 使えます。 FreeBSD(98) の GENERIC カーネルで認識されるはずです。 (ただし、full-duplex モードはうまく動作しないかも知れません。)


Q ロジテックの LAN-98T シリーズを持っていますが、fe ドライバで使えますか?


A 使えません。

LAN-98T シリーズと LAN-98TP シリーズは、名前は似ていますが、ハードウェアは全く異なるそうです。 FreeBSD(98) では、LAN98T は、fe ではなくed ドライバが対応するようです。


Q ロジテックの LAN-98TP シリーズを持っていますが、fe ドライバで使えますか?


A 使えると思います。

しかし、筆者は、残念ながら実際に動作したという報告を受けていません。 もしも、あなたがこのカードをお持ちでしたら、ぜひ、試して、いずれにせよ結果を教えてください。


Q 私が持っている FMV パソコンには、オンボードのイーサネットのインターフェースが付いています。 これは、fe ドライバで動作しますか?


A あなたの持っている機種が、10Mbps (10baseT) 専用であり、カタログ等で「FMV-183 相当」とされているものであれば、動作します。

あなたの持っている機種が、10Mbps (10baseT) と 100Mbps (100baseTX) の両用であれば、動作しません。 これは、FMV-186A 相当品 (または FMV-188 相当品の場合もある) で、fxp ドライバで動作するはずです。


うまく動作しません

Q fe ドライバを使って FreeBSD をネットワークインストール (FTP または NFS) しようとしています。 しかし、インストーラ (sysinstall) が、Adding default route to XXX.XXX.XXX.XXX. というメッセージを出したところで止まってしまいます。


A これは、fe ドライバの既知の (しかし原因不明の) バグだと思われます。 インストーラが止まってしまったように見えますが、実際は動作しています。 およそ 1 分から 4 分くらい待っていると、何事もなかったように先に進み、ネットワークからのインストールを行なうことができます。

なお、これとよく似た現象が、ネットワークに関する設定が間違っているときにも起きることがあります。 具体的には、自身の IP アドレス、デフォルトルータの IP アドレス、サブネットマスクのいずれかが間違っているときにも、Adding default route のところで止まったように見えることがあります。 念のため、設定の再確認もすることをお勧めします。


Q RE1000 シリーズまたはRE2000 シリーズを使っていますが、ブート時に transmission timeoutwrong irq setting? というメッセージが出て、ネットワークが使えないことがあります。 どうすればいいでしょうか。


A いつでもこのメッセージが出て、RE1000 または RE2000 を使用できないのであれば、それは本当に IRQ の設定が間違っていると思われます。 ボードの設定とカーネルの設定が一致しているかどうか、他のボードが同じ IRQ に設定されていないかを確認してください。

このメッセージが出るときと出ないときがあり、メッセージが出ないときにはネットワークを正常に使うことができるのであれば、残念ながら、あなたのシステムは、既知の (しかし原因不明の) fe ドライバのバグにぶつかっていると思われます。 当面の対処として、ネットワークを使用する前に、ifconfig fe0 down ; ifconfig fe0 up という操作を行なってください。 これでドライバは動作します。 (/etc/rc.network に書いてしまうと簡単です。)


Q FMV-184 を使っていますが、10base5 (AUI) インターフェースが使えません。 必ず 10base2 (BNC) が選択されてしまいます。


A これは以前の fe ドライバの問題です。 FreeBSD 3.1 RELEASE 以降では、ifconfig fe0 media AUIを実行することで、10base5 (AUI) インターフェースを利用することができます。

なお、FreeBSD 2.2 では、P9808 版を利用することもできます。


Q 私の FMV-183 または FMV-184 が認識されません。


A 定番ですが、まず、I/O ポートアドレスの設定はボードの設定とカーネルの設定で一致しているか、I/O ポートアドレスや IRQ が他のボードと重なっていないか、を確認してみてください。

他に、FMV-183 と 184 に固有な事項として、PnP の設定があります。 現在の fe ドライバは、PnP モードに設定された FMV-183 または 184 をうまく発見できない場合があります。 ボードが PnP モードに設定されていれば、非 PnP モードに変更してみてください。 変更は、ボードに添付される FJN0ISET.EXE という DOS 上で動作するユーティリティによって行なえます。

なお、LAK-AX031 と同様の手法によって、FMV-183/184 を PnP モードにしたままで使うこともできるかも知れません。 どなたか試した方がいましたら、結果がどうだったか教えてください。


Q 私の LAK-AX031 が認識されません。


A LAK-AX031 を使うには FreeBSD 3.1 RELEASE 以降が必要です。 それ以前のバージョンの場合には、3.1 に変更するか、または、P9808 版を使ってください。

FreeBSD 3.1 以降で認識されないのであれば、定番ですが、まず、I/O ポートアドレスの設定はボードの設定とカーネルの設定で一致しているか、I/O ポートアドレスや IRQ が他のボードと重なっていないか、を確認してみてください。

また、LAK-AX031 は PnP 対応ボードなので、PnP の問題にひっかかっているのかも知れません。 以下を試してみてください。

  1. BIOS が ISA PnP ボードのイネブル機能を持っている場合には、BIOS によるイネブル動作を有効にしてみてください。 BIOS セットアップに「PnP 対応 OS を使う → YES/NO」という感じの設定があれば、「NO」(つまり、PnP 対応 OS を使わない) にしてみてください。 (筆者のところでは、この設定で LAK-AX031 が動作しています。)
  2. FreeBSD には、ISA PnP ボードをイネブルする pnp というデバイスもあります。 BIOS に機能がない場合には、pnp デバイスを組み込んだカーネルを作成し、manual configuration method を利用することもできるかもしれません。 詳しくは pnp(4) をご覧下さい。 (筆者は、こちらの方法は試したことがなく、うまく行くかどうかわかりません。)

Q 私の PC card が認識されません。


A 以下を確認してみてください。

その PC card は、fe 対応ですか?
fe が対応するボードの一覧」を確認してみてください。
PAO はインストールされていますか?
最近の FreeBSD では、標準カーネルにも PC card のための機能が入っており、PAO なしでも使えるカードが増えています。 しかし、fe ドライバの PC card サポート部分は、PAO を前提に開発されています。 PAO を含まない FreeBSD で、fe ドライバが PC card に対応できるかどうかわかりません。 PC card を使用するならば、PAO をインストールすることを強く勧めます。

ネットワーク管理/SNMP に関する質問

Q netstat -i で表示される ierroerr、または col の値 (または対応する MIB の値) が小さすぎるような気がします。


A 小さすぎるかも知れません。

現在の fe ドライバは、統計情報の収集にあまり熱心ではありません。 特に、ネッワークの負荷が高いときには、正常なフレームの送受信の処理を優先するため、NIC が検出したエラー状態や衝突状態を、デバイスドライバが読み取るのが間に合わないことがあります。 エラーや衝突が起きやすいのは負荷が高いときなので、エラーや衝突の回数が少なく計数されるのももっともです。

今後、dot 3 MIB のサポートを強化するのにあわせて、統計情報を正確にしていきたいと考えています。


Q 10baseT 対応カードを fe ドライバで使っていますが、FreeBSD を起動すると、そのマシンを接続しているハブ (またはスイッチ) が、Link-up イベントを ネットワーク管理ソフトに 2 回報告します。


A この現象は、MB86965A などの 10baseT トランシーバを内蔵したチップを搭載したボードで発生する、正常な動作です。 (feature とも言う。)

Link-up が 2 回報告されるメカニズムは以下の通りです。

10baseT トランシーバは、Link Integrity Test と呼ばれる機能を用いて、接続相手 (のトランシーバ部分) が正常に動作しているかどうかを互いにチェックしあっています。 (イーサネットボードはハブを、ハブはイーサネットボードを、それぞれチェックしています。) MB86965A などでは、Link Test はトランシーバの機能として独立しており、特に CPU が介入しなくとも自動的に実行されます。

パソコンの電源を投入すると、トランシーバにも電力が供給され、自動的に Link Test が機能します。 ハブは、これを検出して、Link Up と判定します。 これが、2 回報告されるうちの、最初のものです。

一方 fe ドライバでは、(FreeBSD としての) インターフェースの UP と DOWN の状態に応じて、内蔵 10baseT トランシーバの起動と停止を行ないます。 このため ifconfig コマンドによる UP/DOWN の操作が、ハブによって Link Up/Link Down として検出されます。 FreeBSD カーネルがブートの初期にネットワークドライバをアタッチすると、そのインターフェースは DOWN の状態になります。 その後、ブートの最終段階で /etc/rc によってインターフェースが UP の状態に変更されます。 このときハブは 2 回目の Link-up を検出します。


Q RE2009 (または AT1700FT) を使っています。 このボードは 10baseT と 10baseFL をサポートしますが、ifconfig では 10baseT と 10base5 をサポートするように表示されます。


A 現在の FreeBSD の if_media インターフェースでは、10baseFL に対するメディア種別が定義されていないため、10base5 で代用しています。


その他の質問

Q fe という名前はどういう意味ですか?


A 一応、Fujitsu Ethernet の略のつもりです。 le (Lance Ethernet) とか de (Digital Ethernet) とかに対抗してみました。


Q fe という名前は、どのように決まったのですか?


A fe ドライバは、開発初期には別の名前で呼ばれていました。 FreeBSD のカーネルソースツリーに組み込むにあたって「新しいデバイスの名前はどうやって決めればいいのか」と質問したところ、core チームから「名前のつけ方の決まりはないので作者が好きに決めればよい」と言われました。 そこで作者の好きに決めました。


Q fe ドライバで FreeBSD をネットブートできますか?


A できません。

ネットワークからのブートに使う netboot というプログラムは、ネットブート専用のイーサネットドライバを内蔵しています。 現在のところ、MB86960 系チップ用に、netboot 用のドライバを書いた人はいません。

もしもあなたが、MB86960 系チップのための netboot を書こうと考えていて技術的な問題で困っているのなら、筆者まで連絡して下さい。 何かお手伝いできるかも知れません。