Comtrol(tm) RocketPort(R)/RocketModem(TM) Series

Device Driver for the Linux Operating System

Product overview

This driver provides a loadable kernel driver for the Comtrol RocketPort and RocketModem PCI boards. These boards provide, 2, 4, 8, 16, or 32 high-speed serial ports or modems. This driver supports up to a combination of four RocketPort or RocketModems boards in one machine simultaneously. This file assumes that you are using the RocketPort driver which is integrated into the kernel sources.

The driver can also be installed as an external module using the usual “make;make install” routine. This external module driver, obtainable from the Comtrol website listed below, is useful for updating the driver or installing it into kernels which do not have the driver configured into them. Installations instructions for the external module are in the included README and HW_INSTALL files.

RocketPort ISA and RocketModem II PCI boards currently are only supported by this driver in module form.

The RocketPort ISA board requires I/O ports to be configured by the DIP switches on the board. See the section “ISA Rocketport Boards” below for information on how to set the DIP switches.

You pass the I/O port to the driver using the following module parameters:

I/O port for the first ISA board
I/O port for the second ISA board
I/O port for the third ISA board
I/O port for the fourth ISA board

There is a set of utilities and scripts provided with the external driver (downloadable from that ease the configuration and setup of the ISA cards.

The RocketModem II PCI boards require firmware to be loaded into the card before it will function. The driver has only been tested as a module for this board.

Installation Procedures

RocketPort/RocketModem PCI cards require no driver configuration, they are automatically detected and configured.

The RocketPort driver can be installed as a module (recommended) or built into the kernel. This is selected, as for other drivers, through the make config command from the root of the Linux source tree during the kernel build process.

The RocketPort/RocketModem serial ports installed by this driver are assigned device major number 46, and will be named /dev/ttyRx, where x is the port number starting at zero (ex. /dev/ttyR0, /devttyR1, …). If you have multiple cards installed in the system, the mapping of port names to serial ports is displayed in the system log at /var/log/messages.

If installed as a module, the module must be loaded. This can be done manually by entering “modprobe rocket”. To have the module loaded automatically upon system boot, edit a /etc/modprobe.d/*.conf file and add the line “alias char-major-46 rocket”.

In order to use the ports, their device names (nodes) must be created with mknod. This is only required once, the system will retain the names once created. To create the RocketPort/RocketModem device names, use the command “mknod /dev/ttyRx c 46 x” where x is the port number starting at zero.

For example:

> mknod /dev/ttyR0 c 46 0
> mknod /dev/ttyR1 c 46 1
> mknod /dev/ttyR2 c 46 2

The Linux script MAKEDEV will create the first 16 ttyRx device names (nodes) for you:

>/dev/MAKEDEV ttyR

ISA Rocketport Boards

You must assign and configure the I/O addresses used by the ISA Rocketport card before installing and using it. This is done by setting a set of DIP switches on the Rocketport board.

Setting the I/O address

Before installing RocketPort(R) or RocketPort RA boards, you must find a range of I/O addresses for it to use. The first RocketPort 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. This I/O address must be reflected in the DIP switches of all of the Rocketport cards.

The second, third, and fourth RocketPort cards require a 64-byte contiguous block of I/O addresses, starting at one of the following I/O addresses: 0x100h, 0x140h, 0x180h, 0x1C0h, 0x200h, 0x240h, 0x280h, 0x2C0h, 0x300h, 0x340h, 0x380h, 0x3C0h. The I/O address used by the second, third, and fourth Rocketport cards (if present) are set via software control. The DIP switch settings for the I/O address must be set to the value of the first Rocketport cards.

In order to distinguish each of the card from the others, each card must have a unique board ID set on the dip switches. The first Rocketport board must be set with the DIP switches corresponding to the first board, the second board must be set with the DIP switches corresponding to the second board, etc. IMPORTANT: The board ID is the only place where the DIP switch settings should differ between the various Rocketport boards in a system.

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. Below, you will find a list of commonly used I/O address ranges which may be in use by other devices in your system. On a Linux system, “cat /proc/ioports” will also be helpful in identifying what I/O addresses are being used by devices on your system.

Remember, the FIRST RocketPort uses 68 I/O addresses. So, if you set it for 0x100, it will occupy 0x100 to 0x143. This would mean that you CAN NOT set the second, third or fourth board for address 0x140 since the first 4 bytes of that range are used by the first board. You would need to set the second, third, or fourth board to one of the next available blocks such as 0x180.

RocketPort and RocketPort RA SW1 Settings:

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

DIP Switches                             DIP Switches
7    8                                   6    5
===================                      ===================
On   On   UNUSED, MUST BE ON.            On   On   First Card    <==== Default
                                         On   Off  Second Card
                                         Off  On   Third Card
                                         Off  Off  Fourth Card

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       <==== Default
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

Reporting Bugs

For technical support, please provide the following information: Driver version, kernel release, distribution of kernel, and type of board you are using. Error messages and log printouts port configuration details are especially helpful.

  1. 494-4100
  1. 494-4199

Comtrol Europe:
Phone:+44 (0) 1 869 323-220
FAX:+44 (0) 1 869 323-211

Web: FTP: