RP(4) | FreeBSD Kernel Interfaces Manual | RP(4) |
名称
rp — Comtrol 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_NONBLOCK か CLOCAL が設定されない場合、キャリヤが存在するまでブロックされます。
ハードウェア設定
最初の 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]
作者
<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 |