Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | Comtrol(tm) RocketPort(R)/RocketModem(TM) Series |
| 2 | Device Driver for the Linux Operating System |
| 3 | |
| 4 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- |
| 5 | |
| 6 | PRODUCT OVERVIEW |
| 7 | ---------------- |
| 8 | |
| 9 | This driver provides a loadable kernel driver for the Comtrol RocketPort |
| 10 | and RocketModem PCI boards. These boards provide, 2, 4, 8, 16, or 32 |
| 11 | high-speed serial ports or modems. This driver supports up to a combination |
| 12 | of four RocketPort or RocketModems boards in one machine simultaneously. |
| 13 | This file assumes that you are using the RocketPort driver which is |
| 14 | integrated into the kernel sources. |
| 15 | |
| 16 | The driver can also be installed as an external module using the usual |
| 17 | "make;make install" routine. This external module driver, obtainable |
| 18 | from the Comtrol website listed below, is useful for updating the driver |
| 19 | or installing it into kernels which do not have the driver configured |
| 20 | into them. Installations instructions for the external module |
| 21 | are in the included README and HW_INSTALL files. |
| 22 | |
| 23 | RocketPort ISA and RocketModem II PCI boards currently are only supported by |
| 24 | this driver in module form. |
| 25 | |
| 26 | The RocketPort ISA board requires I/O ports to be configured by the DIP |
| 27 | switches on the board. See the section "ISA Rocketport Boards" below for |
| 28 | information on how to set the DIP switches. |
| 29 | |
| 30 | You pass the I/O port to the driver using the following module parameters: |
| 31 | |
| 32 | board1 : I/O port for the first ISA board |
| 33 | board2 : I/O port for the second ISA board |
| 34 | board3 : I/O port for the third ISA board |
| 35 | board4 : I/O port for the fourth ISA board |
| 36 | |
| 37 | There is a set of utilities and scripts provided with the external driver |
| 38 | ( downloadable from http://www.comtrol.com ) that ease the configuration and |
| 39 | setup of the ISA cards. |
| 40 | |
| 41 | The RocketModem II PCI boards require firmware to be loaded into the card |
| 42 | before it will function. The driver has only been tested as a module for this |
| 43 | board. |
| 44 | |
| 45 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- |
| 46 | |
| 47 | INSTALLATION PROCEDURES |
| 48 | ----------------------- |
| 49 | |
| 50 | RocketPort/RocketModem PCI cards require no driver configuration, they are |
| 51 | automatically detected and configured. |
| 52 | |
| 53 | The RocketPort driver can be installed as a module (recommended) or built |
| 54 | into the kernel. This is selected, as for other drivers, through the `make config` |
| 55 | command from the root of the Linux source tree during the kernel build process. |
| 56 | |
| 57 | The RocketPort/RocketModem serial ports installed by this driver are assigned |
| 58 | device major number 46, and will be named /dev/ttyRx, where x is the port number |
| 59 | starting at zero (ex. /dev/ttyR0, /devttyR1, ...). If you have multiple cards |
| 60 | installed in the system, the mapping of port names to serial ports is displayed |
| 61 | in the system log at /var/log/messages. |
| 62 | |
| 63 | If installed as a module, the module must be loaded. This can be done |
| 64 | manually by entering "modprobe rocket". To have the module loaded automatically |
Lucas De Marchi | 970e248 | 2012-03-30 13:37:16 -0700 | [diff] [blame] | 65 | upon system boot, edit a /etc/modprobe.d/*.conf file and add the line |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 66 | "alias char-major-46 rocket". |
| 67 | |
| 68 | In order to use the ports, their device names (nodes) must be created with mknod. |
| 69 | This is only required once, the system will retain the names once created. To |
| 70 | create the RocketPort/RocketModem device names, use the command |
| 71 | "mknod /dev/ttyRx c 46 x" where x is the port number starting at zero. For example: |
| 72 | |
| 73 | >mknod /dev/ttyR0 c 46 0 |
| 74 | >mknod /dev/ttyR1 c 46 1 |
| 75 | >mknod /dev/ttyR2 c 46 2 |
| 76 | |
| 77 | The Linux script MAKEDEV will create the first 16 ttyRx device names (nodes) |
| 78 | for you: |
| 79 | |
| 80 | >/dev/MAKEDEV ttyR |
| 81 | |
| 82 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- |
| 83 | |
| 84 | ISA Rocketport Boards |
| 85 | --------------------- |
| 86 | |
| 87 | You must assign and configure the I/O addresses used by the ISA Rocketport |
| 88 | card before installing and using it. This is done by setting a set of DIP |
| 89 | switches on the Rocketport board. |
| 90 | |
| 91 | |
| 92 | SETTING THE I/O ADDRESS |
| 93 | ----------------------- |
| 94 | |
| 95 | Before installing RocketPort(R) or RocketPort RA boards, you must find |
| 96 | a range of I/O addresses for it to use. The first RocketPort card |
| 97 | requires a 68-byte contiguous block of I/O addresses, starting at one |
| 98 | of the following: 0x100h, 0x140h, 0x180h, 0x200h, 0x240h, 0x280h, |
| 99 | 0x300h, 0x340h, 0x380h. This I/O address must be reflected in the DIP |
Matt LaPlante | 53cb472 | 2006-10-03 22:55:17 +0200 | [diff] [blame] | 100 | switches of *all* of the Rocketport cards. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 101 | |
| 102 | The second, third, and fourth RocketPort cards require a 64-byte |
| 103 | contiguous block of I/O addresses, starting at one of the following |
| 104 | I/O addresses: 0x100h, 0x140h, 0x180h, 0x1C0h, 0x200h, 0x240h, 0x280h, |
| 105 | 0x2C0h, 0x300h, 0x340h, 0x380h, 0x3C0h. The I/O address used by the |
| 106 | second, third, and fourth Rocketport cards (if present) are set via |
| 107 | software control. The DIP switch settings for the I/O address must be |
| 108 | set to the value of the first Rocketport cards. |
| 109 | |
Matt LaPlante | fff9289 | 2006-10-03 22:47:42 +0200 | [diff] [blame] | 110 | In order to distinguish each of the card from the others, each card |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 111 | must have a unique board ID set on the dip switches. The first |
| 112 | Rocketport board must be set with the DIP switches corresponding to |
| 113 | the first board, the second board must be set with the DIP switches |
| 114 | corresponding to the second board, etc. IMPORTANT: The board ID is |
| 115 | the only place where the DIP switch settings should differ between the |
| 116 | various Rocketport boards in a system. |
| 117 | |
| 118 | The I/O address range used by any of the RocketPort cards must not |
| 119 | conflict with any other cards in the system, including other |
| 120 | RocketPort cards. Below, you will find a list of commonly used I/O |
| 121 | address ranges which may be in use by other devices in your system. |
| 122 | On a Linux system, "cat /proc/ioports" will also be helpful in |
Matt LaPlante | fff9289 | 2006-10-03 22:47:42 +0200 | [diff] [blame] | 123 | identifying what I/O addresses are being used by devices on your |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 124 | system. |
| 125 | |
| 126 | Remember, the FIRST RocketPort uses 68 I/O addresses. So, if you set it |
| 127 | for 0x100, it will occupy 0x100 to 0x143. This would mean that you |
| 128 | CAN NOT set the second, third or fourth board for address 0x140 since |
| 129 | the first 4 bytes of that range are used by the first board. You would |
| 130 | need to set the second, third, or fourth board to one of the next available |
| 131 | blocks such as 0x180. |
| 132 | |
| 133 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- |
| 134 | |
| 135 | RocketPort and RocketPort RA SW1 Settings: |
| 136 | |
| 137 | +-------------------------------+ |
| 138 | | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | |
| 139 | +-------+-------+---------------+ |
| 140 | | Unused| Card | I/O Port Block| |
| 141 | +-------------------------------+ |
| 142 | |
| 143 | DIP Switches DIP Switches |
| 144 | 7 8 6 5 |
| 145 | =================== =================== |
| 146 | On On UNUSED, MUST BE ON. On On First Card <==== Default |
| 147 | On Off Second Card |
| 148 | Off On Third Card |
| 149 | Off Off Fourth Card |
| 150 | |
| 151 | DIP Switches I/O Address Range |
| 152 | 4 3 2 1 Used by the First Card |
| 153 | ===================================== |
| 154 | On Off On Off 100-143 |
| 155 | On Off Off On 140-183 |
| 156 | On Off Off Off 180-1C3 <==== Default |
| 157 | Off On On Off 200-243 |
| 158 | Off On Off On 240-283 |
| 159 | Off On Off Off 280-2C3 |
| 160 | Off Off On Off 300-343 |
| 161 | Off Off Off On 340-383 |
| 162 | Off Off Off Off 380-3C3 |
| 163 | |
| 164 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- |
| 165 | |
| 166 | REPORTING BUGS |
| 167 | -------------- |
| 168 | |
| 169 | For technical support, please provide the following |
| 170 | information: Driver version, kernel release, distribution of |
| 171 | kernel, and type of board you are using. Error messages and log |
| 172 | printouts port configuration details are especially helpful. |
| 173 | |
| 174 | USA |
| 175 | Phone: (612) 494-4100 |
| 176 | FAX: (612) 494-4199 |
| 177 | email: support@comtrol.com |
| 178 | |
| 179 | Comtrol Europe |
| 180 | Phone: +44 (0) 1 869 323-220 |
| 181 | FAX: +44 (0) 1 869 323-211 |
| 182 | email: support@comtrol.co.uk |
| 183 | |
| 184 | Web: http://www.comtrol.com |
| 185 | FTP: ftp.comtrol.com |
| 186 | |
| 187 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- |
| 188 | |
| 189 | |