次のページ 前のページ 目次へ

7. シリアルポートデバイス: /dev/ttyS2 等

デバイスディレクトリにデバイスを作成する方法については /dev ディレクトリにおけるデバイスの作成方法 をご覧ください。

7.1 シリアルポートデバイスの名前と番号

Linux のデバイスはメジャー番号とマイナー番号を持っています。シリア ルポートはそれぞれ、/dev ディレクトリで 2 つの名前を持つ可能性がありま す。すなわち ttyS と cua です。これらのドライバは少し異なった動作をし ます。cua デバイスは使わないことが勧められており、将来は使われなくなり ます。Modem-HOWTO の「cua デバイス」の章をご覧ください。

DOS/Windows は COM という名前を使いますが、setserial プログラムで は tty00, tty01 といった名前を使います。これらを dev/tty0, dev/tty1 等 と混同しないでください。dev/tty0 等はコンソールデバイス(PC のモニタ)の 名前であり、シリアルポートではありません。 以下の表はアドレスの「標準的な」対応を示します(読者の皆さんの場合は異なる かもしれません)。

                                                           I/O
 DOS            メジャー マイナー        メジャー マイナー アドレス
COM1  /dev/ttyS0   4,      64;  /dev/cua0   5,      64      3F8
COM2  /dev/ttyS1   4,      65;  /dev/cua1   5,      65      2F8
COM3  /dev/ttyS2   4,      66;  /dev/cua2   5,      66      3E8
COM4  /dev/ttyS3   4,      67;  /dev/cua3   5,      67      2E8
全てのディストリビューションに ttyS デバイスが付いているはず(多くの ディストリビューションには古い cua デバイスもあるはず)である点に注意し てください。これは以下のコマンドを実行すれば確かめられます(古い cua デバイスがなくても心配する必要はありません):

linux% ls -l /dev/cua*
linux% ls -l /dev/ttyS*

7.2 ttySN から /dev/modem にリンクを張るべきかどうか

一部のインストーラは 2 つの追加デバイスを作ります。すなわち モデム用の /dev/modem とマウス用の /dev/mouse です。 どちらも /dev ディレクトリにある適切なデバイスへのシンボリッ クリンクです。このリンク先のデバイスはインストール時に選択されています (ただしバスマウスの場合はこの限りではなく、/dev/mouse はバス マウスのデバイスへのリンクとなります)。

/dev/mouse/dev/modem の利点については、過去に 何度も議論がありました。これらのリンクの使用はお勧めできません。特に、 モデムをダイアルイン用に使おうと考えている場合には、 /dev/modem を用いるとロックファイルが正しく動作しないことがあ り、問題が起きるかもしれません。しかし、リン クを張り直したり削除した場合には、一部のアプリケーションは再設定が必要 になるかもしれません。

7.3 マルチポートボードに関する注意

ボードの アドレスと IRQ については、setserial プログラムに付属し ている rc.serial/etc/rc.boot/0setserial を見てくださ い。マルチポートボードについては I/O アドレスやデバイス名を含む細かい 話がたくさんあります。

7.4 /dev ディレクトリにおけるデバイスの作成方法

デバイスが存在しなければ、mknod コマンドを使ってこれを作成しなけ ればならないでしょう。例えば ttyS0 に対するデバイスを作成する必要 があるとします:

linux# mknod -m 666 /dev/cua0 c 5 64 (cua デバイスは既に過去のものです)
linux# mknod -m 666 /dev/ttyS0 c 4 64
MAKEDEV スクリプトを使うこともできます。このスクリプトは /dev ディレクトリにあります。 マニュアルページを見てください。 このスクリプトを使うと、デバイスを簡単に作成できます。 例えば ttyS0 に対応するデバイスを作る必要がある場合には、 以下のコマンドを実行します:
linux# cd /dev
linux# ./MAKEDEV ttyS0
このスクリプトはデバイスの作成処理と正しいパーミッションの設定を行いま す。


次のページ 前のページ 目次へ