PCCARD.CONF(5)

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

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

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

/etc/pccard.conf ファイルは、デフォルトのリソースプール設定と pccard 識別子データベースを持つ /etc/defaults/pccard.conf からインクルードされます。 ユーザ固有の設定を /etc/pccard.conf で指定して、これらのデフォルトを上書きしたり追加エントリを追加可能です。

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

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

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

pccardd(8) は、syslog を使用して、カードの挿抜をアナウンスします。 logstr コマンドで設定された文字列を使用するか、 これが設定されていない場合には、製造者とカードバージョンの文字列を使用します。

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

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

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

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

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

デバッグレベルパラメータの文法は次の通りです:

    debuglevel level

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

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

    card manufacturer version [add_info1 [add_info2 ]]
    config index driver interrupt [flags]
    ether offset
    reset time
    iosize size
    memsize size
    insert command
    remove command
    logstr string

第 1 行は必須です。あとの文はオプションであり、 どのような順序で現れても構いません。 config 行は複数存在することもあります。 card のパラメータには、製造者名、カードのバージョン、 そして追加情報 add_info1 と add_info2 があり、 カードの CIS メモリから得た値との一致をみるのに使われます。 "/.*/" のように '/' で文字列を括れば、 これらのパラメータは、拡張正規表現 regex(3) で記述可能です。 各式は、先頭において文字 '^' で評価されます。

config パラメータは、 カードの CIS で得られる範囲からそのカードの設定インデックスを選択し、 この設定で関連づけられたドライバを選択し、 そして (もしあれば) 割り当てられるべき割り込みレベルを選択します。 オプションとしてフラグの集合を割り当てることもできます。 index では、``auto'' または ``default'' か、 カードの CIS から取得可能な取得可能な範囲を指定します。 ``auto'' により、CIS から取得される情報と使用中の I/O リソースの状態から、 自動的にリソースを割り当て可能です。

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

オプションの reset キーワードは、カード挿入時のリセット期間を time ミリ秒であると指定します。 デフォルトは 100 ミリ秒です。

iosize と memsize のキーワードは、 I/O ポートや共有メモリブロック等のリソースが CIS タプルに指定されていない カード用に使用します。

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

logstr コマンドで、カード挿抜時にログされる文字列を、ユーザが指定可能です。 logstr が指定されていない場合、 CIS 中の製造者とカードバージョンの文字列を使用して、出力文字列を生成します。

  ワイルドカードエントリ
次の、カード識別子の 2 個のワイルドカードエントリは、 汎用カードに使用可能です:

    generic serial
    generic fixed_disk

キーワード serial は ``Functional ID: Serial port/modem'' にマッチし、 fixed_disk は ``Fixed disk card' にマッチします。 構文は card identifiers と同じですが、最初の行で ``card'' の代りに ``generic'' が使用されます。 これらは、 pccard.conf の最後に置かれ、他の card エントリにマッチしなかったカードが次にこれらにマッチできるようにします。 歴史的な事情で、 エイリアス ``function'' を ``generic'' の代りに使用可能です。

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

    #
    # サンプル設定ファイル
    #
    # パラメータのプール
    #
    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/defaults/pccard.conf
    pccardd(8) の設定ファイル。
/etc/pccard.conf
    ユーザの設定ファイル。

関連項目
pccardd(8)