PCCARD.CONF(5)

名称
pccard.conf - pccardd(8) 設定ファイル

解説
pccard.conf ファイルは、PC-CARD スロット管理デーモン pccardd(8) 用の設定ファイルです。カードを識別し、 PC-CARD カードにドライバ (ドライバ用リソースも含む) を 対応させることが出来る情報を提供します。

設定ファイル内には四つの基本的な要素があります。 オプションとして他のセクションに先立って リソースプール があり、その後 1 つ以上の カード識別子 と デバイス実体 が続きます。 最後の 2 つはどんな順序で現れてもよく、 都合に応じてあちこちへ散在しても構いません。

それぞれの PC-CARD カードは、製造者やカードのバージョンを規定する 設定タプルを含んでいます。これらは、設定ファイル中でカードの仕様を 特定するのに使われ、それによって、そのカードとインタフェースをとれる ドライバを見つけます。 カードとドライバの間には、多対 1 の対応関係があります。すなわち、 単一のドライバが複数の型のカードにインタフェースをとることがあります。 この助けとして、ドライバの指定とは別に、カードの初期化や (ネットワークカードの場合なら) イーサネットアドレスの取り出し用に パラメータを指定することもできます。

ドライバは一度カードに割り当てられると、そのカードに割り当てられた ままになります。しかし、同じ型のドライバの複数の実体が設定される こともあるため、もし、同じの型のドライバが対応づけられているカードが 2 枚挿し込まれたら、同じ名前で別のドライバ実体が設定される可能性があります。

insert と remove コマンドは、実行可能なシェルコマンド行を指定することができます。 実行されるコマンドは、そのキーワードの後の行の残りです。 行は、バックスラッシュを使って継続することができます。 簡単なマクロ置換によって、現在のカーネルのデバイス名 ($device) とネットワークカードのイーサネットアドレス ($ether) をコマンド行へ入れることが可能です。 pccardd(8) は、コマンド行を実行するために system(3) サブルーチンを使います。

数値は 8 進数、16 進数、10 進数のいずれかの表現をとります。 もし 10 進数に k か K が付いていれば、その値は 1024 を掛けたものになります。 名前にスペースを含める必要があるならば、 ダブルクォートで括っておくとよいでしょう。 ハッシュ文字 (#) は、その行の残りをコメントにします。

  リソースプール
この (オプションである) セクションは、ISA バスのメモリアドレス空間や I/O ポート、割込み要求番号 (IRQ) といったシステムリソースのプールを指定します。 このリソースプールは、それぞれのドライバの記述中で指定された要求に応じて、 動的にアドレス空間や割り込み番号を割り当てるのに使われます。

リソースに関する構文は以下の通りです。

    io start - end ...
    memory address size ...
    irq irq-number ...

各文では、初期化時にドライバへ割り当てるのに使える、 I/O やメモリや IRQ のブロックを定義します。

上の文はどれも複数行にすることができ、 これで各々のリソースをかたまりに分けて定義することができます。

  カード識別子
カード識別子の構文は以下の通りです。

    card manufacturer version
    config index driver interrupt [flags]
    ether offset
    insert command
    remove command

第 1 行は必須です。あとの文はオプションであり、 どのような順序で現れても構いません。 config 行は複数存在することもあります。 card のパラメータには、製造者名とカードのバージョンがあり、 カードの CIS メモリから得た値との一致をみるのに使われます。 config パラメータは、 カードの CIS で得られる範囲からそのカードの設定インデックスを選択し、 この設定で関連づけられたドライバを選択し、 そして (もしあれば) 割り当てられるべき割り込みレベルを選択します。 オプションとしてフラグの集合を割り当てることもできます。

オプションの ether キーワードは、カードの属性メモリ内に ネットワークカードの物理イーサネットアドレスが保持されているときに使われます。 この文のパラメータは、イーサネットアドレスの属性メモリ内での オフセットを指しています。この値は、 $ether マクロを使うことで、 insert/remove コマンド内でも使用できます。

insert 及び remove セクションでは、カードが挿入されたり取り外されたりしたときに 実行されるべきシェルコマンドを書くことができます。複数の insert や remove コマンドも書くことができ、その場合列挙された順に実行されます。

使用例
典型的な設定ファイルは以下のような体裁でしょう。

    #
    # サンプル設定ファイル
    #
    # パラメータのプール
    #
    io 0x280 - 0x2F0 0x300 - 0x360
    irq 5 6 8 9 10 15
    memory 0xd4000 96k
    memory 0xc4000 32k
    #
    # カードデータベース
    #
    card "RPTI LTD." "EP400"  # NE2000 clone
           ether 0x110
           config 0x21 "ed0" 5
           insert ifconfig $device physical $ether
           insert ifconfig $device bean
           remove ifconfig $device down
    card "XYZZY" "FAX/1.0" tty
           config 0x30 "sio1" 11
           insert echo start getty
           remove echo stop getty

関連ファイル
/etc/pccard.conf
    pccardd(8) の設定ファイル。

関連項目
pccardd(8)