1*4882a593Smuzhiyun================================================ 2*4882a593SmuzhiyunComtrol(tm) RocketPort(R)/RocketModem(TM) Series 3*4882a593Smuzhiyun================================================ 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunDevice Driver for the Linux Operating System 6*4882a593Smuzhiyun============================================ 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunProduct overview 9*4882a593Smuzhiyun---------------- 10*4882a593Smuzhiyun 11*4882a593SmuzhiyunThis driver provides a loadable kernel driver for the Comtrol RocketPort 12*4882a593Smuzhiyunand RocketModem PCI boards. These boards provide, 2, 4, 8, 16, or 32 13*4882a593Smuzhiyunhigh-speed serial ports or modems. This driver supports up to a combination 14*4882a593Smuzhiyunof four RocketPort or RocketModems boards in one machine simultaneously. 15*4882a593SmuzhiyunThis file assumes that you are using the RocketPort driver which is 16*4882a593Smuzhiyunintegrated into the kernel sources. 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunThe driver can also be installed as an external module using the usual 19*4882a593Smuzhiyun"make;make install" routine. This external module driver, obtainable 20*4882a593Smuzhiyunfrom the Comtrol website listed below, is useful for updating the driver 21*4882a593Smuzhiyunor installing it into kernels which do not have the driver configured 22*4882a593Smuzhiyuninto them. Installations instructions for the external module 23*4882a593Smuzhiyunare in the included README and HW_INSTALL files. 24*4882a593Smuzhiyun 25*4882a593SmuzhiyunRocketPort ISA and RocketModem II PCI boards currently are only supported by 26*4882a593Smuzhiyunthis driver in module form. 27*4882a593Smuzhiyun 28*4882a593SmuzhiyunThe RocketPort ISA board requires I/O ports to be configured by the DIP 29*4882a593Smuzhiyunswitches on the board. See the section "ISA Rocketport Boards" below for 30*4882a593Smuzhiyuninformation on how to set the DIP switches. 31*4882a593Smuzhiyun 32*4882a593SmuzhiyunYou pass the I/O port to the driver using the following module parameters: 33*4882a593Smuzhiyun 34*4882a593Smuzhiyunboard1: 35*4882a593Smuzhiyun I/O port for the first ISA board 36*4882a593Smuzhiyunboard2: 37*4882a593Smuzhiyun I/O port for the second ISA board 38*4882a593Smuzhiyunboard3: 39*4882a593Smuzhiyun I/O port for the third ISA board 40*4882a593Smuzhiyunboard4: 41*4882a593Smuzhiyun I/O port for the fourth ISA board 42*4882a593Smuzhiyun 43*4882a593SmuzhiyunThere is a set of utilities and scripts provided with the external driver 44*4882a593Smuzhiyun(downloadable from http://www.comtrol.com) that ease the configuration and 45*4882a593Smuzhiyunsetup of the ISA cards. 46*4882a593Smuzhiyun 47*4882a593SmuzhiyunThe RocketModem II PCI boards require firmware to be loaded into the card 48*4882a593Smuzhiyunbefore it will function. The driver has only been tested as a module for this 49*4882a593Smuzhiyunboard. 50*4882a593Smuzhiyun 51*4882a593SmuzhiyunInstallation Procedures 52*4882a593Smuzhiyun----------------------- 53*4882a593Smuzhiyun 54*4882a593SmuzhiyunRocketPort/RocketModem PCI cards require no driver configuration, they are 55*4882a593Smuzhiyunautomatically detected and configured. 56*4882a593Smuzhiyun 57*4882a593SmuzhiyunThe RocketPort driver can be installed as a module (recommended) or built 58*4882a593Smuzhiyuninto the kernel. This is selected, as for other drivers, through the `make config` 59*4882a593Smuzhiyuncommand from the root of the Linux source tree during the kernel build process. 60*4882a593Smuzhiyun 61*4882a593SmuzhiyunThe RocketPort/RocketModem serial ports installed by this driver are assigned 62*4882a593Smuzhiyundevice major number 46, and will be named /dev/ttyRx, where x is the port number 63*4882a593Smuzhiyunstarting at zero (ex. /dev/ttyR0, /devttyR1, ...). If you have multiple cards 64*4882a593Smuzhiyuninstalled in the system, the mapping of port names to serial ports is displayed 65*4882a593Smuzhiyunin the system log at /var/log/messages. 66*4882a593Smuzhiyun 67*4882a593SmuzhiyunIf installed as a module, the module must be loaded. This can be done 68*4882a593Smuzhiyunmanually by entering "modprobe rocket". To have the module loaded automatically 69*4882a593Smuzhiyunupon system boot, edit a `/etc/modprobe.d/*.conf` file and add the line 70*4882a593Smuzhiyun"alias char-major-46 rocket". 71*4882a593Smuzhiyun 72*4882a593SmuzhiyunIn order to use the ports, their device names (nodes) must be created with mknod. 73*4882a593SmuzhiyunThis is only required once, the system will retain the names once created. To 74*4882a593Smuzhiyuncreate the RocketPort/RocketModem device names, use the command 75*4882a593Smuzhiyun"mknod /dev/ttyRx c 46 x" where x is the port number starting at zero. 76*4882a593Smuzhiyun 77*4882a593SmuzhiyunFor example:: 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun > mknod /dev/ttyR0 c 46 0 80*4882a593Smuzhiyun > mknod /dev/ttyR1 c 46 1 81*4882a593Smuzhiyun > mknod /dev/ttyR2 c 46 2 82*4882a593Smuzhiyun 83*4882a593SmuzhiyunThe Linux script MAKEDEV will create the first 16 ttyRx device names (nodes) 84*4882a593Smuzhiyunfor you:: 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun >/dev/MAKEDEV ttyR 87*4882a593Smuzhiyun 88*4882a593SmuzhiyunISA Rocketport Boards 89*4882a593Smuzhiyun--------------------- 90*4882a593Smuzhiyun 91*4882a593SmuzhiyunYou must assign and configure the I/O addresses used by the ISA Rocketport 92*4882a593Smuzhiyuncard before installing and using it. This is done by setting a set of DIP 93*4882a593Smuzhiyunswitches on the Rocketport board. 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun 96*4882a593SmuzhiyunSetting the I/O address 97*4882a593Smuzhiyun----------------------- 98*4882a593Smuzhiyun 99*4882a593SmuzhiyunBefore installing RocketPort(R) or RocketPort RA boards, you must find 100*4882a593Smuzhiyuna range of I/O addresses for it to use. The first RocketPort card 101*4882a593Smuzhiyunrequires a 68-byte contiguous block of I/O addresses, starting at one 102*4882a593Smuzhiyunof the following: 0x100h, 0x140h, 0x180h, 0x200h, 0x240h, 0x280h, 103*4882a593Smuzhiyun0x300h, 0x340h, 0x380h. This I/O address must be reflected in the DIP 104*4882a593Smuzhiyunswitches of *all* of the Rocketport cards. 105*4882a593Smuzhiyun 106*4882a593SmuzhiyunThe second, third, and fourth RocketPort cards require a 64-byte 107*4882a593Smuzhiyuncontiguous block of I/O addresses, starting at one of the following 108*4882a593SmuzhiyunI/O addresses: 0x100h, 0x140h, 0x180h, 0x1C0h, 0x200h, 0x240h, 0x280h, 109*4882a593Smuzhiyun0x2C0h, 0x300h, 0x340h, 0x380h, 0x3C0h. The I/O address used by the 110*4882a593Smuzhiyunsecond, third, and fourth Rocketport cards (if present) are set via 111*4882a593Smuzhiyunsoftware control. The DIP switch settings for the I/O address must be 112*4882a593Smuzhiyunset to the value of the first Rocketport cards. 113*4882a593Smuzhiyun 114*4882a593SmuzhiyunIn order to distinguish each of the card from the others, each card 115*4882a593Smuzhiyunmust have a unique board ID set on the dip switches. The first 116*4882a593SmuzhiyunRocketport board must be set with the DIP switches corresponding to 117*4882a593Smuzhiyunthe first board, the second board must be set with the DIP switches 118*4882a593Smuzhiyuncorresponding to the second board, etc. IMPORTANT: The board ID is 119*4882a593Smuzhiyunthe only place where the DIP switch settings should differ between the 120*4882a593Smuzhiyunvarious Rocketport boards in a system. 121*4882a593Smuzhiyun 122*4882a593SmuzhiyunThe I/O address range used by any of the RocketPort cards must not 123*4882a593Smuzhiyunconflict with any other cards in the system, including other 124*4882a593SmuzhiyunRocketPort cards. Below, you will find a list of commonly used I/O 125*4882a593Smuzhiyunaddress ranges which may be in use by other devices in your system. 126*4882a593SmuzhiyunOn a Linux system, "cat /proc/ioports" will also be helpful in 127*4882a593Smuzhiyunidentifying what I/O addresses are being used by devices on your 128*4882a593Smuzhiyunsystem. 129*4882a593Smuzhiyun 130*4882a593SmuzhiyunRemember, the FIRST RocketPort uses 68 I/O addresses. So, if you set it 131*4882a593Smuzhiyunfor 0x100, it will occupy 0x100 to 0x143. This would mean that you 132*4882a593SmuzhiyunCAN NOT set the second, third or fourth board for address 0x140 since 133*4882a593Smuzhiyunthe first 4 bytes of that range are used by the first board. You would 134*4882a593Smuzhiyunneed to set the second, third, or fourth board to one of the next available 135*4882a593Smuzhiyunblocks such as 0x180. 136*4882a593Smuzhiyun 137*4882a593SmuzhiyunRocketPort and RocketPort RA SW1 Settings:: 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun +-------------------------------+ 140*4882a593Smuzhiyun | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 141*4882a593Smuzhiyun +-------+-------+---------------+ 142*4882a593Smuzhiyun | Unused| Card | I/O Port Block| 143*4882a593Smuzhiyun +-------------------------------+ 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun DIP Switches DIP Switches 146*4882a593Smuzhiyun 7 8 6 5 147*4882a593Smuzhiyun =================== =================== 148*4882a593Smuzhiyun On On UNUSED, MUST BE ON. On On First Card <==== Default 149*4882a593Smuzhiyun On Off Second Card 150*4882a593Smuzhiyun Off On Third Card 151*4882a593Smuzhiyun Off Off Fourth Card 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun DIP Switches I/O Address Range 154*4882a593Smuzhiyun 4 3 2 1 Used by the First Card 155*4882a593Smuzhiyun ===================================== 156*4882a593Smuzhiyun On Off On Off 100-143 157*4882a593Smuzhiyun On Off Off On 140-183 158*4882a593Smuzhiyun On Off Off Off 180-1C3 <==== Default 159*4882a593Smuzhiyun Off On On Off 200-243 160*4882a593Smuzhiyun Off On Off On 240-283 161*4882a593Smuzhiyun Off On Off Off 280-2C3 162*4882a593Smuzhiyun Off Off On Off 300-343 163*4882a593Smuzhiyun Off Off Off On 340-383 164*4882a593Smuzhiyun Off Off Off Off 380-3C3 165*4882a593Smuzhiyun 166*4882a593SmuzhiyunReporting Bugs 167*4882a593Smuzhiyun-------------- 168*4882a593Smuzhiyun 169*4882a593SmuzhiyunFor technical support, please provide the following 170*4882a593Smuzhiyuninformation: Driver version, kernel release, distribution of 171*4882a593Smuzhiyunkernel, and type of board you are using. Error messages and log 172*4882a593Smuzhiyunprintouts port configuration details are especially helpful. 173*4882a593Smuzhiyun 174*4882a593SmuzhiyunUSA: 175*4882a593Smuzhiyun :Phone: (612) 494-4100 176*4882a593Smuzhiyun :FAX: (612) 494-4199 177*4882a593Smuzhiyun :email: support@comtrol.com 178*4882a593Smuzhiyun 179*4882a593SmuzhiyunComtrol Europe: 180*4882a593Smuzhiyun :Phone: +44 (0) 1 869 323-220 181*4882a593Smuzhiyun :FAX: +44 (0) 1 869 323-211 182*4882a593Smuzhiyun :email: support@comtrol.co.uk 183*4882a593Smuzhiyun 184*4882a593SmuzhiyunWeb: http://www.comtrol.com 185*4882a593SmuzhiyunFTP: ftp.comtrol.com 186