FreeBSD 4.x では、バスフレームワークが一新されたため、本来、デバイスドライバ類は全面的な書き換えが必要になります。しかし、(fe に限らず) 必ずしもアクティブにメンテナンスされていないドライバも多いため、4.x 以降では、従来のフレームワークに基づいた ISA デバイス用のドライハを「旧バージョン互換ドライバ」としてサポートするためのメカニズム (isa_compat.c) も含まれています。
FreeBSD 4.1 の fe ドライバは、FreeBSD 3.x のものから大きく変更されず、isa_compat.c のメカニズムを用いて、旧バージョン互換ドライバとして動作するようになっています。このため、RE2000、FMV-180 などの ISA ボードについては、従来と同じように動作します。しかし、PC カード用には互換機能が用意されず、また FreeBSD 4.x 用の PAO も用意されないため、従来 fe が対応していた PC カードは動作しなくなっています。
FreeBSD 5 での状況も当初は 4.1 と大差なかったのですが、高橋さんが fe ドライバの「旧バージョン互換」のインターフェースから newbus のインターフェースへの書き換えを行ったものが、2000 年 9 月中旬の 5-current に反映されました。これ以降の -current では、FreeBSD 2 または 3 の、PAO 相当の fe 対応 PC カードが利用できるようになっています。
また、-current に行かない FreeBSD 4.x ユーザ (私だ :-) のために、-current 版と同等の FreeBSD 4.x 用のキットも作成して下さっています。 4.x ユーザも、これを利用すれば、fe 対応の PC カードを使用することができます。
FreeBSD 4.x では、以下の手順で newbus 版の fe ドライバを組み込めば、fe 系の PC カードを使用することができます。
fe
というディレクトリとその内容を、/usr/src/sys/dev
配下にコピーします。(mv fe /usr/src/sys/dev
とします。)/usr/src/sys
に移り、展開後にできる sys.diff
というファイルを、patch -p1 < ~/sys.diff
のようにしてパッチします。config
して make
してカーネルを作り、make install
します。/etc/defaults/pccard.conf
を編集する必要があります。fe 系の PC カードのエントリはコメントアウトされていますから、行の先頭の '#
' を取って、アンコメントして下さい。(行の先頭に '#
' が 2 つついている行は、もともとコメントだった部分なので、コメントのままにしておきましょう。/etc/rc.conf
を適当に変更する必要もあります。また、適切な ifconfig が実行されるように指定する必要もあります。