マルチポートシリアルカードは PC の ISA バスまたは PCI バスのスロッ トに設置します。「…カード」と呼ぶ代わりに、「…アダプタ」や「…ボード」 と呼ばれることもあります。このようなカードを使うと、シリアルポートをた くさん使うことができます。こういったカードはたくさんの端末やモデムを シリアルポートに接続するために使われますが、モデムと組み合わせて使う方 法は今では時代遅れです。現在のモデム通信では、多くのモデムチップは 1 枚のカードの上に載っており、1 つの回路で複数の回線を(デジタル形式で)繋 いでいる電話回線に接続します。こういったモデムは「デジタルモデム」と呼 ばれ、電話回線インタフェースは「…コンセントレータ」と呼ばれます。 このようなシステムはスタンドアロンの独自規格のサーバであったり、特殊な カード(今では「マルチポート」とは言いません)を使って PC 上に構築されま す。Digi 社はこういったカードを 「リモートアクセスサーバ用のコンセントレータアダプタ」と呼んでいます。 マルチポートモデムカードに関する簡単な説明が Modem-HOWTO に書かれてい ますが、コンセントレータは扱われていません。
さて、マルチポートシリアルカードの説明に戻りましょう。これらのカードに はたくさんの外部コネクタ(DB-25 や RJ-45(電話のジャックのような形状))が 付いており、たくさんのデバイス(モデムや端末など)を接続できます。そして、 こういった物理デバイスのそれぞれは単独のシリアルポートに接続されるでしょ う。カードの外に出ている部分の大きさには限りがあるので、全てのシリアル ポートコネクタを接続するだけの場所がないこともしばしばあります。この 問題を解決するために、カードから(外に)ケーブルが出ており(octopus ケーブル)、その端にコネクタが付いていることがあります。 マルチポートカードとケーブルで繋がっている小さい箱にコネクタが付いてい ることもあります。
ダムシリアルポートも通常のシリアルポートとあまり変わりません。ダムシリ アルポートも割り込み駆動であり、このポートにサービスする動作のほとんど 全てはコンピュータの CPU が行います。これには普通、1 つの割り込みを全 てのポートで共有するためのシステムが付いています。したがって、こういっ たシリアルポートは通常は特殊なドライバを必要とします。ドライバはカーネ ルに入れるか、ソースコードの修正によって有効にしなければなりません。
賢いボードは通常の UART を使えますが、UART からの割り込みのほとん どをボード内で内部的に処理します。これにより、CPU はこういった割り込み の全てを扱うという負荷を逃れることができます。このボードはバイトデータ を大きな内部 FIFO に蓄え、一度に 1K バイトくらいのデータをメインメモリ 上のシリアルバッファに転送します。メインメモリへのデータ転送を行う際に は、(ダムシリアルカードのように 8 ビットのバイトだけを転送するのではな く)32 ビットのバス幅を全て使うことができます。必ずしも全ての「賢い」 ボードが同じように効率的なわけではありません。現在の多くのボードはプラ グ&プレイ対応です。
賢いボードを動かすためには、専用のドライバを使わなければなりません。 このドライバはカーネルのソースコードに組み込まれていたり、モジュールと して提供されることもあります。こういった場合でも、ドライバを有効にする には何かしなければなりません。その作業には、カーネルのコンパイル時に 選ぶこと(または、予めコンパイルされているカーネルがそうなっているかど うかを確かめること)が含まれます。"make config" コマンドか "make menuconf" コマンドを使うと、このオプションがどのように設定され ているかを確かめることができます。場合によっては、特殊なドライバを ロードしたり、特定のパラメータを(LILO の append コマンドを使って) カーネルに渡すこともあります。ボードのメーカーは、このような情報を自社 のウェブサイトに載せているはずです。残念ながら、古いボードの情報がない ことも時々ありますが、その情報はインターネット上の他の場所で見つけられ るかもしれません(議論用のニュースグループを含みます)。
マルチポートボードが使うシリアルポートは、お使いのボードの種類によって
異なります。一部のポートは rc.serial
や 0setserial
に詳しく列挙されているかもしれません。これらのファイルは
setserial パッケージまたは serial パッケージに入っているかもしれません。
筆者としては、読者の皆さ
んがマルチポートボードを使おうとしているのなら、最新バージョンの
setserial
を入手することを強くお勧めします。また多分、これらのデ
バイスを作成する必要があるでしょう。作成には mknod
コマンドか
MAKEDEV
スクリプトを入手してください。シリアルポート用のデバイス
(/dev ディレクトリにある)は、「64 + ポート番号」の足し算で作れます。
したがって、ttyS17
用のデバイスを作成したければ、以下のコマン
ドを実行します:
linux# mknod -m 666 /dev/cua17 c 5 81
linux# mknod -m 666 /dev/ttyS17 c 4 81
「64 + 17 = 81」に注意してください。MAKEDEV
スクリプトを使う場合
には以下のコマンドを実行します:
linux# cd /dev
linux# ./MAKEDEV ttyS17
本 HOWTO に書かれているマルチポート製品の一覧以外にも、 Gary's Encyclopedia - Serial Cards という WWW ページがあります。これは完全 ではありませんが、他へのリンクもいくつかあります。
PC 標準のシリアルボード(COM1 - COM4)は外付けのシリアルデバイス(モデ ム、シリアルマウス等)に接続することができます。現在は PC にシリアルボー ドが付いていることはないので(この目的のチップがマザーボード上に載って いるのです)、小売店でボードとして見つけることは難しいでしょう。ISA バ ス用の内部モデムには、組み込みのシリアルポートが付いています。
注意: アドレスが衝突するため、COM4 と IBM8514 ビデオボード(およびその 互換ボード)を同時に使うことはできないかもしれません。 特定のビデオボードでの I/O アドレスの衝突を避ける方法 をご覧ください。
以下のボードも「シリアルアダプタ」と呼ばれます。
* => Debian では setserial を実行するファイルが、詳細な設定を表示します。
# => このボードについては後述の注を見ること
一般的には、Linux は 8250, 16450, 16550, 16550A, 16650 などの UART を 使っている全てのボードに対応しています。もっと詳しいリストについては、 "setserial" の最新のオンラインマニュアルを参照してください。
注:
AST Fourport: rc.serial
で skip_test
を指定する必要があるか
もしれません。
BB-1004 と BB-1008 は DCD, RI ラインをサポートしておらず、そのためダイ アルイン用のモデムには使えません。他の目的では問題なく動作します。
Digi PC/8 の割り込み状態レジスタの位置は 0x140 です。
SIIG IO1812 のマニュアルに書かれている COM5 から COM8 のリストは誤って います。正しくは COM5=0x250, COM6=0x258, COM7=0x260, COM8=0x268 のはず です。
Linux 互換のドライバが使えることを確かめ、ドライバ付属の情報を読んで ください。これらのカードは、標準のデバイスでなく特殊なデバイス(/dev ディ レクトリにある)を使います。この情報はハードウェアごとに異なります。こ の文書に載せるべき新しい情報があれば、ぜひ筆者にメールを送ってください。
info@comtrol.com
または
http://www.comtrol.com
ftp://tsx-11.mit.edu/pub/linux/packages/comtrol
http://www.cyclades.com/products.html
ftp://ftp.cyclades.com/pub/cyclades
。また、バージョン
1.1.75 以降の Linux カーネルに含まれています。
pccom8@signum.se
ftp://ftp.signum.se/pub/pccom8
http://www.dgii.com
ドライバのステータス: Digi 社がサポートしています
ftp://ftp.dgii.com/drivers/linux
でも入手できますし、バー
ジョン 2.0 以降のカーネルにはドライバが含まれています。
si@wimpol.demon.co.uk
sales@equinox.com
または
http://www.equinox.com
ftp://ftp.equinox.com/library/sst
spot@gtek.com
または
http://www.gtek.com
ftp://ftp.gtek.com/pub
arobinso@nyx.net
または
http://www.nyx.net/~arobinso
http://www.nyx.net/~arobinso
から入手できますし、
バージョン 2.1.15 以降の Linux カーネルにも含まれています。setserial
はバージョン 2.15 以降で対応しています。
info@maxpeed.com
または
http://www.maxpeed.com
ftp://maxpeed.com/pub/ss
info@moxa.com.tw
または
http://www.moxa.com.tw
ftp://ftp.moxa.com.tw/drivers/c218-320/linux
sales@sdlcomm.com
または
http://www.sdlcomm.com
ftp://ftp.sdlcomm.com/pub/drivers
sales@stallion.com
または
http://www.stallion.com
ftp://ftp.stallion.com/drivers/ata5/Linux
から入手できま
す。また、バージョン 1.3.27 以降の Linux カーネルに含まれています。
Comtrol 社, Cyclades 社, Digi 社, Stallion 社の製品のレビューが
Linux Journal 誌の 1995 年 6 月号に掲載されています。この記事は
http://www.ssc.com/lj/issue14
で読むことができます。