1 |
3 |
xianfeng |
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
|
65 |
|
|
upon system boot, edit the /etc/modprobe.conf file and add the line
|
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
|
100 |
|
|
switches of *all* of the Rocketport cards.
|
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 |
|
|
|
110 |
|
|
In order to distinguish each of the card from the others, each card
|
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
|
123 |
|
|
identifying what I/O addresses are being used by devices on your
|
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 |
|
|
|