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

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 のモニタ)の 名前であり、シリアルポートではありません。DOS での名前(COM1 等)と I/O アドレスの「標準的な」対応を以下に示します(読者の皆さんの場合は異なる かもしれません)。

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

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

7.2 Link ttySN to /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
linux# mknod -m 666 /dev/ttyS0 c 4 64
MAKEDEV スクリプトを使うこともできます。このスクリプトは /dev ディレクトリにあります。このスクリプトを使うと、デバイス を簡単に作成することができます。オンラインマニュアルを見てください。例 えば ttyS0 に対するデバイスを作成する必要がある場合には、以下 のコマンドを実行します:
linux# cd /dev
linux# ./MAKEDEV ttyS0
このスクリプトはデバイスの作成処理と正しいパーミッションの設定を行いま す。


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