デバイスディレクトリにデバイスを作成する方法については /dev ディレクトリにおけるデバイスの作成方法 をご覧ください。
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*
一部のインストーラは 2 つの追加デバイスを作ります。すなわち
モデム用の /dev/modem
とマウス用の /dev/mouse
です。
どちらも /dev
ディレクトリにある適切なデバイスへのシンボリッ
クリンクです。このリンク先のデバイスはインストール時に選択されています
(ただしバスマウスの場合はこの限りではなく、/dev/mouse
はバス
マウスのデバイスへのリンクとなります)。
/dev/mouse
と /dev/modem
の利点については、過去に
何度も議論がありました。これらのリンクの使用はお勧めできません。特に、
モデムをダイアルイン用に使おうと考えている場合には、
/dev/modem
を用いるとロックファイルが正しく動作しないことがあ
り、問題が起きるかもしれません。しかし、リン
クを張り直したり削除した場合には、一部のアプリケーションは再設定が必要
になるかもしれません。
ボードの アドレスと IRQ については、setserial
プログラムに付属し
ている rc.serial
や /etc/rc.boot/0setserial
を見てくださ
い。マルチポートボードについては I/O アドレスやデバイス名を含む細かい
話がたくさんあります。
デバイスが存在しなければ、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
このスクリプトはデバイスの作成処理と正しいパーミッションの設定を行いま
す。