A これだけではわかりません。
86960 系のチップは、ボード設計者の自由度が高い上に、8390 系における NE2000 のような「標準」ボードも存在しません。 このため、汎用のプルーブルーチンを作成することが困難で、サポートするボードの種類 (メーカー、機種) をいちいち意識しています。
ボードのメーカー名と型番を確認した上で、「対応するボードの一覧」を見てください。 この表でStatus が「Dev」または「Test」となっている場合には、そのボードに対するサポートが開発中であることを示しています。 ぜひ試してみて、結果を (動作した場合も、しなかった場合も) 教えてください。 また、fe ドライバが対応する LSI を搭載しているのに、対応するボードの一覧に掲載されていない場合にも、ぜひ筆者に教えてください。 このとき、開発・テストに協力いただける場合には、その旨を合わせてご連絡いただけると、サポート対象に加えることができるかも知れません。
A 使えます。 最近の FreeBSD では、GENERIC カーネルでも動作するはずです。
なお、FMV-183/184 では PnP に関して注意が必要です。
A fxp ドライバで使用できます。 fe ドライバでは使用できません。
FMV-186/186A/188 は、NIC として i82557 を搭載した Ethernet ボードで、Intel EtherExpress Pro/100B と互換があります。
A 使えます。 ただし、原則として PAO が必要です。
A 使えません。
FMV-J184 は CardBus 対応の 100baseTX カードです。 詳細は不明ですが、fe ドライバが対応しないことはわかっています。
A 使えません。
C-NET(98)P シリーズと C-NET(98)P2 シリーズは、名前は似ていますが、ハードウェアはまったく異なります。 FreeBSD(98) では、C-NET(98)P は fe ではなく、ed ドライバが対応します。
A 使えます。 FreeBSD(98) の GENERIC カーネルで認識されるはずです。 (ただし、full-duplex モードはうまく動作しないかも知れません。)
A 使えません。
LAN-98T シリーズと LAN-98TP シリーズは、名前は似ていますが、ハードウェアは全く異なるそうです。 FreeBSD(98) では、LAN98T は、fe ではなくed ドライバが対応するようです。
A 使えると思います。
しかし、筆者は、残念ながら実際に動作したという報告を受けていません。 もしも、あなたがこのカードをお持ちでしたら、ぜひ、試して、いずれにせよ結果を教えてください。
A あなたの持っている機種が、10Mbps (10baseT) 専用であり、カタログ等で「FMV-183 相当」とされているものであれば、動作します。
あなたの持っている機種が、10Mbps (10baseT) と 100Mbps (100baseTX) の両用であれば、動作しません。 これは、FMV-186A 相当品 (または FMV-188 相当品の場合もある) で、fxp ドライバで動作するはずです。
Adding default route to XXX.XXX.XXX.XXX.というメッセージを出したところで止まってしまいます。
A これは、fe ドライバの既知の (しかし原因不明の) バグだと思われます。 インストーラが止まってしまったように見えますが、実際は動作しています。 およそ 1 分から 4 分くらい待っていると、何事もなかったように先に進み、ネットワークからのインストールを行なうことができます。
なお、これとよく似た現象が、ネットワークに関する設定が間違っているときにも起きることがあります。 具体的には、自身の IP アドレス、デフォルトルータの IP アドレス、サブネットマスクのいずれかが間違っているときにも、Adding default route のところで止まったように見えることがあります。 念のため、設定の再確認もすることをお勧めします。
A いつでもこのメッセージが出て、RE1000 または RE2000 を使用できないのであれば、それは本当に IRQ の設定が間違っていると思われます。 ボードの設定とカーネルの設定が一致しているかどうか、他のボードが同じ IRQ に設定されていないかを確認してください。
このメッセージが出るときと出ないときがあり、メッセージが出ないときにはネットワークを正常に使うことができるのであれば、残念ながら、あなたのシステムは、既知の (しかし原因不明の) fe ドライバのバグにぶつかっていると思われます。
当面の対処として、ネットワークを使用する前に、ifconfig fe0 down ; ifconfig fe0 up
という操作を行なってください。
これでドライバは動作します。
(/etc/rc.network
に書いてしまうと簡単です。)
A
これは以前の fe ドライバの問題です。
FreeBSD 3.1 RELEASE 以降では、ifconfig fe0 media AUI
を実行することで、10base5 (AUI) インターフェースを利用することができます。
なお、FreeBSD 2.2 では、P9808 版を利用することもできます。
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 モードにしたままで使うこともできるかも知れません。 どなたか試した方がいましたら、結果がどうだったか教えてください。
A LAK-AX031 を使うには FreeBSD 3.1 RELEASE 以降が必要です。 それ以前のバージョンの場合には、3.1 に変更するか、または、P9808 版を使ってください。
FreeBSD 3.1 以降で認識されないのであれば、定番ですが、まず、I/O ポートアドレスの設定はボードの設定とカーネルの設定で一致しているか、I/O ポートアドレスや IRQ が他のボードと重なっていないか、を確認してみてください。
また、LAK-AX031 は PnP 対応ボードなので、PnP の問題にひっかかっているのかも知れません。 以下を試してみてください。
A 以下を確認してみてください。
netstat -i
で表示される ierr
、oerr
、または col
の値 (または対応する MIB の値) が小さすぎるような気がします。A 小さすぎるかも知れません。
現在の fe ドライバは、統計情報の収集にあまり熱心ではありません。 特に、ネッワークの負荷が高いときには、正常なフレームの送受信の処理を優先するため、NIC が検出したエラー状態や衝突状態を、デバイスドライバが読み取るのが間に合わないことがあります。 エラーや衝突が起きやすいのは負荷が高いときなので、エラーや衝突の回数が少なく計数されるのももっともです。
今後、dot 3 MIB のサポートを強化するのにあわせて、統計情報を正確にしていきたいと考えています。
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 を検出します。
ifconfig
では 10baseT と 10base5 をサポートするように表示されます。A 現在の FreeBSD の if_media インターフェースでは、10baseFL に対するメディア種別が定義されていないため、10base5 で代用しています。
A 一応、Fujitsu Ethernet の略のつもりです。 le (Lance Ethernet) とか de (Digital Ethernet) とかに対抗してみました。
A fe ドライバは、開発初期には別の名前で呼ばれていました。 FreeBSD のカーネルソースツリーに組み込むにあたって「新しいデバイスの名前はどうやって決めればいいのか」と質問したところ、core チームから「名前のつけ方の決まりはないので作者が好きに決めればよい」と言われました。 そこで作者の好きに決めました。
A できません。
ネットワークからのブートに使う netboot
というプログラムは、ネットブート専用のイーサネットドライバを内蔵しています。
現在のところ、MB86960 系チップ用に、netboot
用のドライバを書いた人はいません。
もしもあなたが、MB86960 系チップのための netboot
を書こうと考えていて技術的な問題で困っているのなら、筆者まで連絡して下さい。
何かお手伝いできるかも知れません。