EN JA
RP(4)
RP(4) FreeBSD Kernel Interfaces Manual RP(4)

名称

rpComtrol RocketPort インテリジェントシリアルポートカードのためのドライバ

書式

device rp

ISA カードに対して、利用者は /boot/device.hints にポートアドレスを指定しなければなりません:
hint.rp.0.at="isa"
hint.rp.0.port="0x100"

解説

このドライバは RocketPort と RocketPort RA シリアルボードのためのカーネルデバイスドライバを提供します。これらのボードは、すべての 8、16、32 のポートのための 68 バイトの I/O (入出力) 空間だけを必要として、割り込みチャネルを必要としない状態で、 8、16、32 の高速シリアルポートを提供します。このドライバは、1 台のマシンで同時に最大 4 つの RocketPort か RocketPort RA ボードをサポートします。 4 つの 32 ポート RocketPort 板を使用している場合、利用者は最大 128 のインテリジェントシリアルポートをシステムに置くことができます。

rp ドライバは次の速度をサポートします: 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 7200, 14400, 57600, 76800, 115200, 230400。 (従来と異なる速度を使用するためには古いスタイルの ioctl インタフェースよりむしろ termios(4) を使用しなければなりません。)

rp ドライバのオープンは O_NONBLOCKCLOCAL が設定されない場合、キャリヤが存在するまでブロックされます。

ハードウェア設定

最初の RocketPort か RocketPort RA カードは次の 1 つで始まって、 I/O アドレスの 68 バイトの連続したブロックを必要とします: 0x100h, 0x140h, 0x180h, 0x200h, 0x240h, 0x280h, 0x300h, 0x340h, 0x380h。 2 番目、3 番目と 4 番目の RocketPort カードは上記のアドレス範囲の 1 つで始まって、 I/O アドレスの 64 バイトの連続したブロックだけを必要とします。 RocketPort カードのいずれかよっても使用される I/O アドレスの範囲は、他の RocketPort カードを含んでシステム中の他のいかなるカードとも衝突してはいけません、各カードによって使用される始めの I/O ポートの範囲は /boot/device.hints で指定された I/O アドレスに一致しなければなりません。

最初の RocketPort が 68 のI/O アドレスを使用するので、最初のカードが 0x100 で始まる I/O ブロックを使用するように設定されると、それは 0x100 から 0x143 までの I/O ポートを占有します。範囲の最初の 3 つの I/O アドレスの最初のボードによって使用されるので、これは、2 番目、3 番目、または 4 番目の RocketPort ボードが、0x140 で始まるアドレスのブロックを使用しないことを意味します。これは覚えておく重要なポイントです。

2 つの ISA カードがあり、1 つ目は 0x100 でインストールされ、 2 つ目は 0x180 でインストールされているなら、利用者は /boot/device.hints に次を追加するべきです:

hint.rp.0.at="isa"
hint.rp.0.port="0x100"
hint.rp.1.at="isa"
hint.rp.1.port="0x180"

RocketPort カードの設定は RocketPort カード上の SW1 とラベルがついた 8 個の DIP (ディップ) スイッチの組み合わせによって行なわれます。

+-------------------------------+ 
| 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 
+-------+-------+---------------+ 
| Unused| Card  | I/O Port Block| 
+-------------------------------+

DIP スイッチ 7 と 8 は未使用であり、オンのままにしなければなりません。

DIP スイッチ 6 と 5 はそれぞれの RocketPort カードのカード番号を識別します。システムにインストールされた最初のカードは、カード番号 1 として DIP スイッチを設定しなければなりません。システムにインストールされた 2 番目のカードは、カード番号 2 として DIP スイッチを設定しなければなりません。以下同様です。工場出荷時は、DIP スイッチ 6 と 5 はデフォルトでオンです。これはシステムにインストールされた最初のカードであることを示しています。

DIP スイッチ 
6    5 
======================== 
On   On   最初のカード 
On   Off  2 番目のカード 
Off  On   3 番目のカード 
Off  Off  4 番目のカード

DIP スイッチ 4、3、2、と 1 は最初の RocketPort カードによって使用される I/O アドレスの範囲を示します。システムにインストールされた 2 枚以上の RocketPort カードがあれば、 2 番目、3 番目、と 4 番目の RocketPort カードは、最初の RocketPort カードによって使用される I/O アドレスの範囲に設定しなければなりません。すべてのカードは、これらの DIP スイッチを適切な操作と同様に設定しなければなりません。工場出荷時は、DIP スイッチ 4 はオンです、スイッチ 3、2、と 1 はデフォルトでオフです。これは 0x180 で始まって 0x1C3 に達する最初のカードによって使用される I/O アドレスの範囲を表します。

DIP スイッチ         I/O アドレス範囲 
4    3    2    1     最初のカードで使われる 
===================================== 
On   Off  On   Off   100-143 
On   Off  Off  On    140-183 
On   Off  Off  Off   180-1C3 
Off  On   On   Off   200-243 
Off  On   Off  On    240-283 
Off  On   Off  Off   280-2C3 
Off  Off  On   Off   300-343 
Off  Off  Off  On    340-383 
Off  Off  Off  Off   380-3C3

関連ファイル

/dev/ttyR[0-4][0-9a-f]

作者

Theodore Ts'o <tytso@mit.edu>

このドライバは、Comtrol Corporation の契約に基づいて書かれました。 Comtrol RocketPort に関するディーラ、ディストリビュータ、および他の情報については、 (800) 926-6876 の Comtrol Comtrol に連絡するか、または<info@comtrol.com>にメールを送ってください。このドライバのバグを報告するには、<bug-bsdi-rocketport@comtrol.com>にメールを送ってください。

バグ

着信ソフトウェアフロー制御が 486 か Pentium マシンで利用可能にされる場合、フロー制御が非常に大量に実行させられると、まれに文字は落されます。この問題は 386 では起こりません、そして、 rp ドライバか BSD/OS tty レイヤの中にバグがあるかとうかは現在知られていません。
November 15, 1995 FreeBSD