18c2ecf20Sopenharmony_ci================================================
28c2ecf20Sopenharmony_ciComtrol(tm) RocketPort(R)/RocketModem(TM) Series
38c2ecf20Sopenharmony_ci================================================
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ciDevice Driver for the Linux Operating System
68c2ecf20Sopenharmony_ci============================================
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ciProduct overview
98c2ecf20Sopenharmony_ci----------------
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciThis driver provides a loadable kernel driver for the Comtrol RocketPort
128c2ecf20Sopenharmony_ciand RocketModem PCI boards. These boards provide, 2, 4, 8, 16, or 32
138c2ecf20Sopenharmony_cihigh-speed serial ports or modems.  This driver supports up to a combination
148c2ecf20Sopenharmony_ciof four RocketPort or RocketModems boards in one machine simultaneously.
158c2ecf20Sopenharmony_ciThis file assumes that you are using the RocketPort driver which is
168c2ecf20Sopenharmony_ciintegrated into the kernel sources.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciThe driver can also be installed as an external module using the usual
198c2ecf20Sopenharmony_ci"make;make install" routine.  This external module driver, obtainable
208c2ecf20Sopenharmony_cifrom the Comtrol website listed below, is useful for updating the driver
218c2ecf20Sopenharmony_cior installing it into kernels which do not have the driver configured
228c2ecf20Sopenharmony_ciinto them.  Installations instructions for the external module
238c2ecf20Sopenharmony_ciare in the included README and HW_INSTALL files.
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciRocketPort ISA and RocketModem II PCI boards currently are only supported by
268c2ecf20Sopenharmony_cithis driver in module form.
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciThe RocketPort ISA board requires I/O ports to be configured by the DIP
298c2ecf20Sopenharmony_ciswitches on the board.  See the section "ISA Rocketport Boards" below for
308c2ecf20Sopenharmony_ciinformation on how to set the DIP switches.
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ciYou pass the I/O port to the driver using the following module parameters:
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ciboard1:
358c2ecf20Sopenharmony_ci	I/O port for the first ISA board
368c2ecf20Sopenharmony_ciboard2:
378c2ecf20Sopenharmony_ci	I/O port for the second ISA board
388c2ecf20Sopenharmony_ciboard3:
398c2ecf20Sopenharmony_ci	I/O port for the third ISA board
408c2ecf20Sopenharmony_ciboard4:
418c2ecf20Sopenharmony_ci	I/O port for the fourth ISA board
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ciThere is a set of utilities and scripts provided with the external driver
448c2ecf20Sopenharmony_ci(downloadable from http://www.comtrol.com) that ease the configuration and
458c2ecf20Sopenharmony_cisetup of the ISA cards.
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ciThe RocketModem II PCI boards require firmware to be loaded into the card
488c2ecf20Sopenharmony_cibefore it will function.  The driver has only been tested as a module for this
498c2ecf20Sopenharmony_ciboard.
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ciInstallation Procedures
528c2ecf20Sopenharmony_ci-----------------------
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ciRocketPort/RocketModem PCI cards require no driver configuration, they are
558c2ecf20Sopenharmony_ciautomatically detected and configured.
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ciThe RocketPort driver can be installed as a module (recommended) or built
588c2ecf20Sopenharmony_ciinto the kernel. This is selected, as for other drivers, through the `make config`
598c2ecf20Sopenharmony_cicommand from the root of the Linux source tree during the kernel build process.
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ciThe RocketPort/RocketModem serial ports installed by this driver are assigned
628c2ecf20Sopenharmony_cidevice major number 46, and will be named /dev/ttyRx, where x is the port number
638c2ecf20Sopenharmony_cistarting at zero (ex. /dev/ttyR0, /devttyR1, ...).  If you have multiple cards
648c2ecf20Sopenharmony_ciinstalled in the system, the mapping of port names to serial ports is displayed
658c2ecf20Sopenharmony_ciin the system log at /var/log/messages.
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ciIf installed as a module, the module must be loaded.  This can be done
688c2ecf20Sopenharmony_cimanually by entering "modprobe rocket".  To have the module loaded automatically
698c2ecf20Sopenharmony_ciupon system boot, edit a `/etc/modprobe.d/*.conf` file and add the line
708c2ecf20Sopenharmony_ci"alias char-major-46 rocket".
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ciIn order to use the ports, their device names (nodes) must be created with mknod.
738c2ecf20Sopenharmony_ciThis is only required once, the system will retain the names once created.  To
748c2ecf20Sopenharmony_cicreate the RocketPort/RocketModem device names, use the command
758c2ecf20Sopenharmony_ci"mknod /dev/ttyRx c 46 x" where x is the port number starting at zero.
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ciFor example::
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci	> mknod /dev/ttyR0 c 46 0
808c2ecf20Sopenharmony_ci	> mknod /dev/ttyR1 c 46 1
818c2ecf20Sopenharmony_ci	> mknod /dev/ttyR2 c 46 2
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ciThe Linux script MAKEDEV will create the first 16 ttyRx device names (nodes)
848c2ecf20Sopenharmony_cifor you::
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci	>/dev/MAKEDEV ttyR
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ciISA Rocketport Boards
898c2ecf20Sopenharmony_ci---------------------
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ciYou must assign and configure the I/O addresses used by the ISA Rocketport
928c2ecf20Sopenharmony_cicard before installing and using it.  This is done by setting a set of DIP
938c2ecf20Sopenharmony_ciswitches on the Rocketport board.
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ciSetting the I/O address
978c2ecf20Sopenharmony_ci-----------------------
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ciBefore installing RocketPort(R) or RocketPort RA boards, you must find
1008c2ecf20Sopenharmony_cia range of I/O addresses for it to use. The first RocketPort card
1018c2ecf20Sopenharmony_cirequires a 68-byte contiguous block of I/O addresses, starting at one
1028c2ecf20Sopenharmony_ciof the following: 0x100h, 0x140h, 0x180h, 0x200h, 0x240h, 0x280h,
1038c2ecf20Sopenharmony_ci0x300h, 0x340h, 0x380h.  This I/O address must be reflected in the DIP
1048c2ecf20Sopenharmony_ciswitches of *all* of the Rocketport cards.
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ciThe second, third, and fourth RocketPort cards require a 64-byte
1078c2ecf20Sopenharmony_cicontiguous block of I/O addresses, starting at one of the following
1088c2ecf20Sopenharmony_ciI/O addresses: 0x100h, 0x140h, 0x180h, 0x1C0h, 0x200h, 0x240h, 0x280h,
1098c2ecf20Sopenharmony_ci0x2C0h, 0x300h, 0x340h, 0x380h, 0x3C0h.  The I/O address used by the
1108c2ecf20Sopenharmony_cisecond, third, and fourth Rocketport cards (if present) are set via
1118c2ecf20Sopenharmony_cisoftware control.  The DIP switch settings for the I/O address must be
1128c2ecf20Sopenharmony_ciset to the value of the first Rocketport cards.
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ciIn order to distinguish each of the card from the others, each card
1158c2ecf20Sopenharmony_cimust have a unique board ID set on the dip switches.  The first
1168c2ecf20Sopenharmony_ciRocketport board must be set with the DIP switches corresponding to
1178c2ecf20Sopenharmony_cithe first board, the second board must be set with the DIP switches
1188c2ecf20Sopenharmony_cicorresponding to the second board, etc.  IMPORTANT: The board ID is
1198c2ecf20Sopenharmony_cithe only place where the DIP switch settings should differ between the
1208c2ecf20Sopenharmony_civarious Rocketport boards in a system.
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ciThe I/O address range used by any of the RocketPort cards must not
1238c2ecf20Sopenharmony_ciconflict with any other cards in the system, including other
1248c2ecf20Sopenharmony_ciRocketPort cards.  Below, you will find a list of commonly used I/O
1258c2ecf20Sopenharmony_ciaddress ranges which may be in use by other devices in your system.
1268c2ecf20Sopenharmony_ciOn a Linux system, "cat /proc/ioports" will also be helpful in
1278c2ecf20Sopenharmony_ciidentifying what I/O addresses are being used by devices on your
1288c2ecf20Sopenharmony_cisystem.
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_ciRemember, the FIRST RocketPort uses 68 I/O addresses.  So, if you set it
1318c2ecf20Sopenharmony_cifor 0x100, it will occupy 0x100 to 0x143.  This would mean that you
1328c2ecf20Sopenharmony_ciCAN NOT set the second, third or fourth board for address 0x140 since
1338c2ecf20Sopenharmony_cithe first 4 bytes of that range are used by the first board.  You would
1348c2ecf20Sopenharmony_cineed to set the second, third, or fourth board to one of the next available
1358c2ecf20Sopenharmony_ciblocks such as 0x180.
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ciRocketPort and RocketPort RA SW1 Settings::
1388c2ecf20Sopenharmony_ci
1398c2ecf20Sopenharmony_ci            +-------------------------------+
1408c2ecf20Sopenharmony_ci            | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
1418c2ecf20Sopenharmony_ci            +-------+-------+---------------+
1428c2ecf20Sopenharmony_ci            | Unused| Card  | I/O Port Block|
1438c2ecf20Sopenharmony_ci            +-------------------------------+
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_ci  DIP Switches                             DIP Switches
1468c2ecf20Sopenharmony_ci  7    8                                   6    5
1478c2ecf20Sopenharmony_ci  ===================                      ===================
1488c2ecf20Sopenharmony_ci  On   On   UNUSED, MUST BE ON.            On   On   First Card    <==== Default
1498c2ecf20Sopenharmony_ci                                           On   Off  Second Card
1508c2ecf20Sopenharmony_ci                                           Off  On   Third Card
1518c2ecf20Sopenharmony_ci                                           Off  Off  Fourth Card
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ci  DIP Switches         I/O Address Range
1548c2ecf20Sopenharmony_ci  4    3    2    1     Used by the First Card
1558c2ecf20Sopenharmony_ci  =====================================
1568c2ecf20Sopenharmony_ci  On   Off  On   Off   100-143
1578c2ecf20Sopenharmony_ci  On   Off  Off  On    140-183
1588c2ecf20Sopenharmony_ci  On   Off  Off  Off   180-1C3       <==== Default
1598c2ecf20Sopenharmony_ci  Off  On   On   Off   200-243
1608c2ecf20Sopenharmony_ci  Off  On   Off  On    240-283
1618c2ecf20Sopenharmony_ci  Off  On   Off  Off   280-2C3
1628c2ecf20Sopenharmony_ci  Off  Off  On   Off   300-343
1638c2ecf20Sopenharmony_ci  Off  Off  Off  On    340-383
1648c2ecf20Sopenharmony_ci  Off  Off  Off  Off   380-3C3
1658c2ecf20Sopenharmony_ci
1668c2ecf20Sopenharmony_ciReporting Bugs
1678c2ecf20Sopenharmony_ci--------------
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ciFor technical support, please provide the following
1708c2ecf20Sopenharmony_ciinformation: Driver version, kernel release, distribution of
1718c2ecf20Sopenharmony_cikernel, and type of board you are using. Error messages and log
1728c2ecf20Sopenharmony_ciprintouts port configuration details are especially helpful.
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ciUSA:
1758c2ecf20Sopenharmony_ci    :Phone: (612) 494-4100
1768c2ecf20Sopenharmony_ci    :FAX: (612) 494-4199
1778c2ecf20Sopenharmony_ci    :email: support@comtrol.com
1788c2ecf20Sopenharmony_ci
1798c2ecf20Sopenharmony_ciComtrol Europe:
1808c2ecf20Sopenharmony_ci    :Phone: +44 (0) 1 869 323-220
1818c2ecf20Sopenharmony_ci    :FAX: +44 (0) 1 869 323-211
1828c2ecf20Sopenharmony_ci    :email: support@comtrol.co.uk
1838c2ecf20Sopenharmony_ci
1848c2ecf20Sopenharmony_ciWeb:	http://www.comtrol.com
1858c2ecf20Sopenharmony_ciFTP:	ftp.comtrol.com
186