まず、Kernel-HOWTO を読んでコンパイル手順についての情報を得ておいてください。 また、Linux/IrDA Project、 および Linux/IrDA メーリングリストアーカイブを調べて最新のパッチを入手してください。
IrDA のカーネルコードは
/usr/src/linux/net/irda (protocol 関連)
/usr/src/linux/drivers/net/irda (デバイスドライバ)
/usr/src/linux/include/net/irda (ヘッダファイル)
の各場所にあります。
カーネル 2.4.x ソースを使っているか確認してください。 カーネルのバージョンがはっきりしないなら uname -r コマンドを使ってください。
Linux/IrDA プロジェクトから最新のカーネルパッチを入手してください。 または Alan Cox 氏のカーネルシリーズを使ってください。これを /usr/src か、カーネルソースの普段の場所に置きます。 このとき、以下の patch-2_2.0-irdaXXX を実際のファイル名に読み替えてください。
cd /usr/src tar xvzf patch-2_2.0-irdaXXX.tar.gz cd linux patch -p1 -l < ../patch-2_2.0-irdaXXX |
最新のドライバでは、カーネルの実験的機能のサポート (CONFIG_EXPERIMENTAL) を有効にする必要があるでしょう [1]。
"General Setup" の項で、sysctl を CONFIG_SYSCTL で有効にします。
CONFIG_PROC_FS で proc ファイルシステムサポートを有効にしましょう。
CONFIG_SERIAL で SIR 機能のシリアルサポートを有効にします。
Linux/IrDA でプリンタを使う際に CONFIG_PRINTER を有効にする必要があるかどうかについては、私はよく知りません。多分不要ではないかと思います。
CONFIG_NET によるネットワークサポートは必須です。
モジュールサポートの CONFIG_MODULES をカーネルに含めるよう確認してください。 lsmodを用いるなどしてテストしておいてください。
CONFIG_KERNELD で kerneld のサポートを含めてください。但し、これについては kmod (CONFIG_KMOD) でも動作します。モジュールではなく全部組み込むようにしても動くようですが、モジュールを使うことを強く強くお勧めします。
irdadump を使うには、おそらく CONFIG_PACKET を有効にする必要があるでしょう。
Linux/IrDA パッチを当てただけの修正ですむなら、多分 make clean を行う必要はなく、多少時間の節約になります。以下のようにすることがお勧めです。
make dep && make all && make modules && make install && make modules_install
これで変なエラーが出るようなら、make clean を行って最初から作成し直してください。
以下は ../linux-2.4.3/Documentation/Configure.help から少々手を加えて引いてきたものです。 現状と新しいドライバについては最新のカーネル文書に当たってください [2]。
IrDA subsystem support (IrDA サブシステムサポート)
IrDA (TM) プロトコルを有効にしたいなら、ここで Y と答えてください。 The Infrared Data Associations (tm) は無線赤外線通信の規格 を策定する団体で、その規格はほとんどのラップトップと PDA でサポートされています。
IrDA (tm) プロトコルを有効とした Linux を使用するには、irmanager と、 それに加えて恐らく irattach のようないくつかのユーザ側のユーティリティ も必要になるでしょう。詳しくは Documentation/networking/irda.txt をご覧ください。InfraRed-HOWTO も参照したい場合は、 TuxMobil から入手できます。
この機能はモジュールとしても利用できます。モジュール名は irda.o です。モジュールとしてコンパイルしたいなら、ここで M と答え、 Documentation/modules.txt をお読みください。
IrDA Cache last LSAP (IrDA で最終 LSAP をキャッシュする)
IrLMP で最後に使った LSAP をキャッシュしておきたいなら、 ここで Y と答えてください。これは、ほとんどのフレーム が同じ接続で送信/受信されるようになるので、意味があります。 このオプションを有効にすると一フレーム当り一回の ハッシュ検索の実行を節約できます。
よくわからなければ Y と答えてください。
IrDA Fast RR's (IrDA 高速 RR)
第一ステーションとして稼働させるとき、IrLAP に高速 RR (受信準備) フレームを送るようにさせたいならここで Y と答えてください。 このオプションを有効にすると、フレームの受信後送信キューが空なら ただちに IrLAP が RR フレームを送信するようになります。 こうすることで第二ステーションは、大量のデータを受信するとき、 次回の送信を許可する前に、最大の turn around time まで待つ必要がなくなり、 速度が大きく向上します。 第二ステーションの送信キューも空なら、第一ステーションは、タイムアウトが 通常値に達するまで RR フレームを送信するために長時間待つ 処理をやめます。このオプションを有効にすると、IR ダイオードの電力消費が増え、その結果バッテリの寿命が縮まります。
よくわからなければ N と答えてください。
IrDA デバッグ
IrDA サブシステムが syslog にデバッグ情報を書き込むようにしたいなら、 ここで Y と答えてください。デバッグ・レベルは /proc/sys/net/irda/debug で変更できます。
よくわからなければ (バグをみつけるのが容易になるので) Y と答えてください。
IrLAP 圧縮サポート
圧縮は IrDA (tm) プロトコルの仕様の一部では*ありません* が、でもすばらしくうまく動いています。 Linux が初めて IrLAP 層での圧縮のサポートを試みました。したがって Linux <-> Linux 間で通信する場合に限り、圧縮による利益を受ける ことができます。
ここで Y とした場合は、以下の圧縮プロトコルのところでも Y または M とする必要があります。
IrLAP Deflate 圧縮プロトコル (試験的)
Deflate 圧縮プロトコルを有効にしたければ、ここで Y と答え てください。 deflate 圧縮 (GZIP) は PPP プロトコルで使われ ている方法と全く同じものです。
モジュールとしてコンパイルしたければ、ここでは M と答え、 Documentation/modules.txt を読んでください。モジュールの 名前は irda_deflate.o になります。
IrLAN プロトコル
現在、Linux/IrDA コアチームは IrLAN プロトコルサポートのメンテナンスをもう行っていません。
IrLAN プロトコルを有効にしたいなら、ここで Y と答えてください。 モジュール (irlan.o) としてコンパイルしたいなら、ここで M と答え、Documentation/modules.txt をお読みください。 IrLAN は Ethernet をエミュレートし、赤外線を用いた無線 LAN を提供できるようになります。
IrLAN プロトコルは HP 製 NetbeamIR や ESI 製 JetEye NET の 赤外線アクセスポイントと通信できます。LrLAN を使用した他の Linux マシンと接続してお手軽なネットワーキングもできます。
IrCOMM プロトコル
IrCOMM プロトコルを有効にしたいなら、ここで Y と答えてください。 モジュールとしてコンパイルしたいなら、ここで M と答え、 Documentation/modules.txt をお読みください (ircomm.o と ircomm-tty.o がモジュールです)。IrCOMM はシリアルポート ・エミュレーションを実装しており、TTY を認識する既存の 全アプリケーションを赤外線リンク経由で使用可能になります。従って PPP、minicom などの TTY を用いるアプリケーションを利用できるようになります。 このオプションを有効にするとircomm と ircomm_tty と呼ばれるふたつのモジュールが生成されます。
IrTTY IrDA デバイス・ドライバ
IrTTY ライン・ディシプリンを有効にしたいなら、ここで Y と答えてください。モジュール (irtty.o) としてコンパイルしたいなら、 ここで M と答え、Documentation/modules.txt をお読みください。 IrTTY により Linux のシリアル・ドライバーを 16550 互換な IrDA の全ポートで使用できるようになります。ほとんどの IrDA チップは 16550 互換なので、このオプションには恐らく Y と答えることになるでしょう。しかしながら IrTTY を用いた場合には このドライバでは接続速度が 115200 bps (IrDA SIR モード) に制限されます。
よくわからなければ Y と答えてください。
IrPORT IrDA デバイスドライバ
IrPORT IrDA のデバイスドライバを有効にするには、ここで Y と答えてください。モジュール (irport.o) としてコンパイルしたいなら M と答え、Documentation/modules.txt を読んでください。 IrPORT は IrTTY の代わりに使用することができますが、 場合によっては IrPORT の方が都合がいいこともあります。一例を あげると、あなたのコンピュータの IrDA ポートにエコー・キャンセルの機能がない場合で、この種のポートでは IrPORT を使うとうまく動きます。というのは、このドライバは半二重 モードでのみ動作するからです。IrPORT では irattach を使わなくても、"insmod irport io=0x3e8 irq=11" のように FIR ドライバと同じ方法で組み込むことができます。
よくわからなければ、Y と答えてください。
Winbond W83977AF IrDA デバイス・ドライバ
Winbond W83977AF super-io チップセット用に IrDA を有効にしたいなら、ここで Y と答えてください。Corel NetWinder の IrDA チップセット用にはこのドライバを使うべきです。ドライバが サポートしている速度は SIR、MIR、FIR (4Mbps) です。
モジュールとしてコンパイルしたいなら、ここで M と答え、 Documentation/modules.txt をお読みください。モジュール名は w83977af_ir.o になります。
NS PC87108 IrDA デバイス・ドライバ
NS 社 PC87108 と PC87338 IrDA チップセットのサポートを有効にしたいなら、 ここで Y と答えてください。このドライバは SIR、MIR、FIR (4Mbps) をサポートしています。
モジュールとしてコンパイルしたいなら、ここで M と答え、 Documentation/modules.txt をお読みください。モジュール名は nsc-ircc.o になります。
Toshiba Type-O IR ポートのデバイスドライバ
Toshiba Type-O IR チップセットを有効にするには、ここで Y と答えてください。このチップセットは、Toshiba Libretto 100CT や多くのラップトップ・コンピュータで使用されています。 モジュールとしてコンパイルしたいなら M と答え、 Documentation/modules.txt を読んでください。モジュール名は toshoboe.o になります。
SMC IrCC (試験的)
SMC 社の赤外線通信コントローラのサポートを有効にしたいならここで Y と答えてください。これは富士通 Lifebook 635t と Sony VAIO PCG-505TX で使われています。モジュールとしてコンパイルしたいなら M と答え、 Documentation/modules.txt を読んでください。モジュール名は smc-ircc.o になります。
ALi M5123 FIR コントローラ向けドライバ (試験的)
ALi 社の M5123 赤外線通信コントローラのサポートを有効にしたいならここで Y と答えてください。この ALi M5123 FIR コントローラは ALi の M1543C、 M1535、M1535D、M1535+、M1535D の各サウスブリッジの内蔵コントローラでもあります。このドライバは SIR、 MIR、FIR (4Mbps) をサポートしています。
モジュールとしてコンパイルしたいなら M と答え、 Documentation/modules.txt を読んでください。モジュール名は ali-ircc.o になります。
シリアルドングルサポート
あなたのコンピュータのシリアルポートに接続する赤外線デバイスを使っている場合 Y と答えてください。これらのデバイスを総称してドングルと呼びます。 次に、使っているドングルの機種にあわせて以下で Y または M と答えてドライバを選択してください。
この質問に対する答えは、直接にはカーネルには影響しません。 N と答えることによって以下のシリアルドングルについての質問がすべて スキップされるだけです。
ESI JetEye PC ドングル
Extended Systems 社の JetEye PC dongle のサポートを有効にしたいなら、 ここで Y と答えてください。モジュールとしてコンパイルしたいなら、ここで M と答え、Documentation/modules.txt をお読みください。 ESI dongle は通常の 9 ピン・シリアル・ポート・コネクターに接続され、現在 IrTTY で使われるだけです。ESI ドングルを有効にするには、"irattach -d esi" として irattach をスタートさせる必要があります。
ACTiSYS 社 IR-220L 及び IR220L+ ドングル
ACTiSYS IR-220L, IR220L+ ドングルのサポートを有効にしたいなら、ここで Y と答えてください。モジュールとしてコンパイルしたいなら、ここで M と答え、Documentation/modules.txt をお読みください。 ACTiSYS dongle は通常の 9 ピン・シリアル・ポート・ コネクターに接続され、現在 IrTTY で使われるだけです。 ACTiSYS ドングルを有効にするには、"irattach -d actisys" または "irattach -d actisys+" として irattach をスタート する必要があります。
Tekram IrMate 210B ドングル
Tekram IrMate 210B ドングルのサポートを有効にしたいなら、ここで Y と答えてください。モジュールとしてコンパイルしたいなら、ここで M と答え、Documentation/modules.txt をお読みください。 Tekram ドングルは通常の 9 ピン・シリアル・ポート・コネクター に接続され、現在 IrTTY で使われるだけです。Tekram ドングル を有効にするには、"irattach -d tekram" として irattach を スタートする必要があります。
Greenwich 社の GIrBIL ドングル
Greenwich 社の GIrBIL ドングルのサポートを有効にするには、ここで Y と答えてください。モジュールとしてコンパイルしたいなら M と答え、Documentation/modules.txt を読んでください。 Greenwich ドングルは通常の 9 ピン シリアル・ポート・コネクタに接続し、 現時点では IrTTY のみで使用できます。 /etc/irda/drivers スクリプトに "irattach -d girbil" と記述することで、Greenwich ドングルを利用可能にするこ とができます。
Parallax Litelink ドングル
Parallax Litelink ドングルのサポートを有効にするには、ここで Y と答えてください。モジュールとしてコンパイルしたいなら M と答え、Documentation/modules.txt を読んでください。 Parallax ドングルは通常の 9 ピン シリアル・ポート・コネクタに接続し、 現時点では IrTTY のみで使用できます。Parallax ドングルを使うためには、 "irattach -d litelink" として irattach をスタートさせる 必要があります。
旧 Belkin ドングル
Adaptec 社の Airport 1000 と 2000 ドングルのサポートを有効にしたいなら Y と答えてください。モジュールとしてコンパイルしたいなら M と答え、Documentation/modules.txt を読んでください。 このモジュールは old_belkin.o という名前になります。 多少の情報がドライバ drivers/net/irda/old_belkin.c の頭の部分のコメントに書かれています [3]。
注記: donauboe は toshoboe の新版で、FIR サポートが改良され、Donauoboe チップ (lib-irda 参照) との互換性が向上しています。
USB ドングルパッチについては Linux/IrDA メーリングリストアーカイブを調べてください。
[1] | 訳注: 2.4.17 あたりではほぼ統合が済んでいるそうです。 |
[2] | 訳注: 混乱を避けるため、2001/12/13 付けのカーネルの Configure.help 日本語訳の訳文を元に用いました。 ただし、他と口調をあわせるためかなり手を入れています。 |
[3] | 訳注: Berkin ドングルには新旧有り、旧のみサポートと以前のカーネル Configure.help にはある。外見で見分けはつかず、ばらしてみる必要ある由。 |