RP(4) MidnightBSD Kernel Interfaces Manual RP(4)

NAME

rp — driver for Comtrol RocketPort Intelligent Serial Port Cards

SYNOPSIS

device rp

For ISA cards, you must specify the port address in /boot/device.hints:

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

DESCRIPTION

This driver provides a kernel device driver for the RocketPort and RocketPort RA serial boards. These boards provide 8, 16, or 32 high-speed serial ports while requiring only 68 bytes of I/O space for all 8, 16, or 32 ports, and do not require an interrupt channel. This driver supports up to four RocketPort or RocketPort RA boards in one machine simultaneously. If you are using four 32 port RocketPort boards, you can put as many as 128 intelligent serial ports on your system.

The rp driver supports the following speeds: 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 7200, 14400, 57600, 76800, 115200, and 230400. (You must use termios(4), rather than the old style ioctl interface to use non-traditional speeds.)

An open on the rp driver will block until carrier is present, unless O_NONBLOCK or CLOCAL is set.

HARDWARE CONFIGURATION

The first RocketPort or RocketPort RA card requires a 68-byte contiguous block of I/O addresses, starting at one of the following: 0x100h, 0x140h, 0x180h, 0x200h, 0x240h, 0x280h, 0x300h, 0x340h, 0x380h. The second, third, and fourth RocketPort cards require only a 64-byte contiguous block of I/O addresses, starting at one of the above address ranges. The I/O address range used by any of the RocketPort cards must not conflict with any other cards in the system, including other RocketPort cards. The starting range of the I/O ports used by each card must match with the I/O address specified in /boot/device.hints.

Since the first RocketPort uses 68 I/O addresses, if the first card is set to use an I/O block starting at 0x100, it will occupy the I/O ports between 0x100 and 0x143. This means that the second, third, or fourth RocketPort board may not use the block of addresses starting at 0x140, since the first three I/O addresses of that range are used by the first board. This is an important point to keep in mind.

If you have two ISA cards, one installed at 0x100 and the second installed at 0x180, then you should add the following to /boot/device.hints:

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

The configuration of the RocketPort cards is done via the set of 8 DIP switches, labeled SW1 on the RocketPort card:

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

DIP switches 7 and 8 are unused, and must be left on.

DIP switches 6 and 5 identify the card number of each RocketPort card. The first card installed in the system must have its DIP switches set as card number one; the second card installed in the system must have its DIP switches set as card number two; and so on. As shipped from the factory, DIP switches 6 and 5 are both on by default, indicating that this is the first card installed on the system:

DIP Switches
6 5
===================
On On First Card
On Off Second Card
Off On Third Card
Off Off Fourth Card

DIP switches 4, 3, 2, and 1 indicate the I/O address range used by the first RocketPort card. If there are more than one RocketPort cards installed in a system, the second, third and fourth RocketPort cards must also be set to the I/O address range used by the first RocketPort card; all cards must have these DIP switches set identically for proper operation. As shipped from the factory, DIP switch 4 is on, and switches 3, 2, and 1 are off by default, indicating an I/O address range used by the first card which starts at 0x180 and extends to 0x1C3.

DIP Switches I/O Address Range
4 3 2 1 Used by the First Card
=====================================
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

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

Theodore Ts’o 〈tytso@mit.edu〉

This driver was written under contract for Comtrol Corporation. For dealer, distributor and other information regarding Comtrol RocketPort, contact Comtrol Corporation at (800) 926-6876 or send email to 〈info@comtrol.com〉. To report bugs for this driver, please send email to 〈bug-bsdi-rocketport@comtrol.com〉.

BUGS

If incoming software flow control is enabled on a 486 or Pentium machine, and the flow control is very heavily exercised, on rare occasions a character will get dropped. This problem does not occur on a 386, and it is not currently known whether the bug is in the rp driver or in the BSD/OS tty layer.

MidnightBSD 0.3 November 15, 1995 MidnightBSD 0.3