低レベルドライバには、SIR、ドングルと FIR の三つのカテゴリがあります。 正しいドライバが選択されているなら、以降の各節で記載されているメッセージが出力されます。
Serial driver version 4.25 with no serial options enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A #first serial port /dev/ttyS0 ttyS01 at 0x3000 (irq = 10) is a 16550A #e.g. infrared port ttyS02 at 0x0300 (irq = 3) is a 16550A #e.g. PCMCIA modem port |
kerneld や kmod を使っていない場合、modprobe irda を使って irda モジュールを読み込んでください。
/var/log/messages にはこの時点で "Serial connection established" のメッセージが出力されているはずです。
Jan 2 12:57:26 japh kernel: ttyS00 at 0x03f8 (irq = 4) is a 16550A Jan 2 12:57:26 japh kernel: ttyS02 at 0x03e8 (irq = 4) is a 16550A Jan 2 12:57:26 japh kernel: Linux Support for the IrDA (tm) protocols (Dag Bra ttli) Jan 2 12:59:09 japh syslog: executing: 'echo 1 > /proc/sys/net/irda/discovery' Jan 2 12:59:09 japh syslog: Setting discovery to 1 exited with status 1 Jan 2 12:59:09 japh syslog: + 0.1 Fri Jul 25 11:45:26 1997 Dag Brattli Jan 2 12:59:09 japh syslog: + 0.1 Fri Jul 25 11:45:26 1997 Dag Brattli Jan 2 12:59:09 japh syslog: Serial connection established. Jan 2 12:59:09 japh kernel: IrDA irda_device irda0 registered. Jan 2 13:01:22 japh syslog: executing: './drivers start ' Jan 2 13:01:22 japh syslog: Serial connection established. Jan 2 13:01:42 japh syslogd: Printing partial message Jan 2 13:01:42 japh 0.1 Fri Jul 25 11:45:26 1997 Dag Brattli Jan 2 13:02:49 japh kernel: IrDA Discovered: japh Jan 2 13:02:49 japh kernel: Services: Computer |
Dag Brattli さんによると (原注: 私が多少修正していますが)
modprobe tekram # or esi or actisys irattach -d tekram # or -d esi or -d actisys |
modprobe tekram modprobe esi irattach /dev/ttyS0 -d esi & irattach /dev/ttyS1 -d tekram & |
irattach /dev/ttyS0 -d actisys # for the 220L dongle irattach /dev/ttyS0 -d actisys+ # for the 220L+ dongle |
James さんからハードウェア設定に関する説明を受け取りました。 「二種類のハードウェアがあります。5pin の一列のヘッダを使ったものと、18pin 二列ヘッダの端を使った 6pin 二列のヘッダで IrDA に接続するものです。 基本的にはどの IrDA 互換なトランシーバも動作します (製造中止になった古い IRM3001 を一山持っています) が、5V と 0V 間にコンデンサ (1uF 位のタンタルを使ってください [1]) を接続して、その他の信号 (RX->RX、TX->TX、5V->5V および 0V-0V) を接続してください。 ハンダ付けをしたくないということなら、ケースの穴にあう 5pin の コネクタつきの IR モジュールを売っているメーカはたくさんあります」
115,200bps (SIR) までは、多くの (多分すべての) 赤外線コントローラは、シリアルポートとして (カーネルからは) 動作し、RZI (Return to zero になるよう反転する) 変調を用いています。 すべての赤外線コントローラが 4Mbps(FIR) をサポートしているわけではありませんが、4Mbps までは 4PPM (4 パルス符号化) 変調方式を用いています。 現在二種類の FIR チップがサポートされています。ナショナルセミコンダクター社の NS PC87108 チップ (IBM Thinkpad 560X で使用) と、Winbond 社の W83977AF (IR) FIR チップ (Corel の Netwinder PC で使用) です。 対応するモジュールを読み込むことで FIR サービスをスタートすることができます。 Linux/IrDA はモジュール読み込みの時点でハードウェアを調べます。 他にもドライバの開発が行われています。
というわけで、どの速度で使いたいのかはっきりさせる必要があります。 SIR を使った場合、大体 10 kByte/s 程度の速度が得られます。FIR (4Mbps) なら、運が良ければ 300 Kbyte/s 以上まで出せます。
[1] | 訳注: 2002 年現在ではむしろ 1uF 程度の積層セラミックのほうが、大きさ、入手、安全性のどれをとっても断然お勧めです。 |