| 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: | |
| board1 : I/O port for the first ISA board | |
| board2 : I/O port for the second ISA board | |
| board3 : I/O port for the third ISA board | |
| board4 : I/O port for the fourth ISA board | |
| There is a set of utilities and scripts provided with the external driver | |
| ( downloadable from http://www.comtrol.com ) 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 the /etc/modprobe.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. | |
| USA | |
| Phone: (612) 494-4100 | |
| FAX: (612) 494-4199 | |
| email: support@comtrol.com | |
| Comtrol Europe | |
| Phone: +44 (0) 1 869 323-220 | |
| FAX: +44 (0) 1 869 323-211 | |
| email: support@comtrol.co.uk | |
| Web: http://www.comtrol.com | |
| FTP: ftp.comtrol.com | |
| =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- | |