1
2 Computone Intelliport II/Plus Multiport Serial Driver
3 -----------------------------------------------------
4
5 Release Notes For Linux Kernel 2.2
6 These notes have been tested on Linux kernels 2.0 and 2.2.
7
8 Please refer to Documentation/computone.txt for information on the driver
9 that is included with the kernel sources.
10
11
12 Version: 1.2.9
13 Date: 04/12/2000
14 Fixes and Updates: Doug McNash
15 Historical Author: Andrew Manison
16 Kernel Integration: Mike Warfield <mhw@wittsend.com>
17
18 1. INTRODUCTION
19
20 This driver supports the entire family of Intelliport II/Plus controllers
21 with the exception of the MicroChannel controllers.
22
23 This driver was developed on the v2.0.x Linux source tree and has been
24 tested up to v2.2.14; it will probably not work with earlier v1.X kernels,
25 and has not yet been tested on the v2.1.x tree. The most likely problems
26 will be in patching the kernel sources to support the driver. For this
27 reason there are 2 different patch files for 2.0.XX and 2.2.XX kernels.
28 Make sure you use the right one!
29 Note that a version (1.2.5) is included in the 2.2.12+ kernels so this
30 will not be a new install but and upgrade.
31
32
33 2. QUICK INSTALLATION
34
35 Hardware - If you have an ISA card, find a free interrupt and io port.
36 List those in use with `cat /proc/interrupts` and
37 `cat /proc/ioports`. Set the card dip switches to that free
38 address. You may need to configure your BIOS to reserve the
39 irq for the ISA card. PCI and EISA parameters are set
40 automagically and need only be set to nonzero values.
41 Insert card into computer with the power off before or after
42 driver installation.
43
44 Software - New Installation
45
46 Module installation:
47
48 a) Obtain driver-kernel patch file
49 b) Copy to the linux source tree root, Run ip2build (if not patch)
50 c) Determine free irq/address to use if any (configure BIOS if need be)
51 d) Run "make config" or "make menuconfig" or "make xconfig"
52 Select (m) module for CONFIG_COMPUTONE under character
53 devices. CONFIG_PCI and CONFIG_MODULES also may need to be set.
54 e) Set address on ISA cards then:
55 edit /usr/src/linux/drivers/char/ip2/ip2.h if needed
56 or
57 edit /etc/modules.conf if needed (module).
58 or both to match this setting.
59 f) Run "make dep"
60 g) Run "make modules"
61 h) Run "make modules_install"
62 i) Run "/sbin/depmod -a"
63 i) install driver using `modprobe ip2 <options>` (options listed below)
64 j) run mkip2dev
65
66
67 Kernel installation:
68
69 a) Obtain driver-kernel patch file
70 b) Copy to the linux source tree root, Run ip2build (if not patch)
71 c) Determine free irq/address to use if any (configure BIOS if need be)
72 d) Run "make config" or "make menuconfig" or "make xconfig"
73 Select (y) kernel for CONFIG_COMPUTONE under character
74 devices. CONFIG_PCI may need to be set if you have PCI bus.
75 e) Set address on ISA cards then:
76 edit /usr/src/linux/drivers/char/ip2/ip2.h
77 f) Run "make dep"
78 g) Run "make zImage" or whatever target you prefer.
79 h) mv /usr/src/linux/arch/i386/boot/zImage to /boot.
80 i) add new config for this kernel into /etc/lilo.conf, run "lilo"
81 j) reboot using this kernel
82 k) make and run ip2/mkip2dev
83
84 Software - Upgrades
85
86 a) Install new sources in proper location, usually /usr/src/linux/drivers/char
87 b) Follow steps above to create new kernel or modules
88
89 3. INSTALLATION
90
91 Previously, the driver sources were packaged with a set of patch files
92 to update the character drivers' makefile and configuration file, and other
93 kernel source files. A build script (ip2build) was included which applies
94 the patches if needed, and build any utilities needed.
95 What you recieve may be a single patch file in conventional kernel
96 patch format build script. That form can also be applied by
97 running patch -p1 < ThePatchFile. Otherwise the drivers source may be
98 a tar file, then untar and run ip2build if a new installation.
99
100 The driver can be installed as a module (recommended) or built into the
101 kernel. This is selected as for other drivers through the `make config`
102 command from the root of the Linux source tree. If the driver is built
103 into the kernel you will need to edit the file ip2.h to match the boards
104 you are installing. See that file for instructions. If the driver is
105 installed as a module the configuration can also be specified on the
106 modprobe command line as follows:
107
108 modprobe ip2 irq=irq1,irq2,irq3,irq4 io=addr1,addr2,addr3,addr4
109
110 where irqnum is one of the valid Intelliport II interrupts (3,4,5,7,10,11,
111 12,15) and addr1-4 are the base addresses for up to four controllers. If
112 the irqs are not specified the driver uses the default in ip2/ip2.h (which
113 selects polled mode). The io addresses are set to io=1 for PCI cards,i
114 io=2 for EISA cards or io=[some valid ISA address] for ISA cards. If no
115 base addresses are specified the defaults in ip2.h are used. If you are
116 autoloading the driver module with kerneld or kmod the base addresses and
117 interrupt number must also be set in ip2/ip2.h and recompile or just insert
118 an options line in /etc/modules.conf or both. The command line takes
119 precidence over the options line which takes precidence over the defaults
120 in ip2.h.
121
122 command line sample:
123
124 modprobe ip2 io=1,0x328 irq=1,10
125
126 /etc/modules.conf sample:
127
128 options ip2 io=1,0x328 irq=1,10
129 alias char-major-71 ip2
130 alias char-major-72 ip2
131 alias char-major-73 ip2
132
133 the equivelant ip2.h:
134
135 static ip2config_t ip2config =
136 {
137 {1,10,0,0},
138 {
139 0x0001, // Board 0, ttyF0 - ttyF63 /* PCI card */
140 0x0328, // Board 1, ttyF64 - ttyF127 /* ISA card */
141 0x0000, // Board 2, ttyF128 - ttyF191 /* empty */
142 0x0000 // Board 3, ttyF192 - ttyF255 /* empty */
143 }
144 };
145
146 Specifying an invalid or in-use ISA irq will default the driver into
147 running in polled mode for that card. If all irq entries are 0 then
148 all cards will operate in polled mode. Note that the PCI will be
149 assigned it's irq by the BIOS and may not match what you specify.
150 It must be non-zero otherwise it will be polled.
151
152 Tarball Install:
153
154 The whole tarfile should be untarred in the /usr/src/linux/drivers/char/
155 directory. Most files required for the driver are placed in the ip2
156 subdirectory. Then execute the script (for a new install only)
157
158 ip2build
159
160 which will patch the files.
161
162 Kernel Patch Install:
163
164 cd to the Linux source root, run patch -p1 < ThePatchFile.
165
166 Now return to the root directory of the Linux
167 source tree and run make config or make menuconfig. You will be prompted
168 for the Computone drivers, either as a module or part of the kernel.
169 If you have a PCI card you many need to select PCI bios support (CONFIG_PCI)
170 if not enabled already. Ditto for CONFIG_MODULES if you use modules.
171
172 If you select the driver as part of the kernel run :
173
174 make depend
175 make bzImage(,zlilo or whatever you do to create a bootable kernel)
176
177 If you selected a module run :
178
179 make modules && make modules_install
180
181 The utility ip2mkdev creates all the device nodes required by the driver.
182 For a device to be created it must be configured in the driver and the
183 board must be installed. Only devices corresponding to real IntelliPort II
184 ports are created. With multiple boards and expansion boxes this will
185 leave gaps in the sequence of device names. ip2mkdev uses Linux tty naming
186 conventions: ttyF0 - ttyF255 for normal devices, and cuf0 - cuf255 for
187 callout devices. Note that the callout devices are going away in the
188 future and that is what the warning messages are trying to tell you.
189
190 4. USING THE DRIVERS
191
192 As noted above, the driver implements the ports in accordance with Linux
193 conventions, and the devices should be interchangeable with the standard
194 serial devices. (This is a key point for problem reporting: please make
195 sure that what you are trying do works on the ttySx/cuax ports first; then
196 tell us what went wrong with the ip2 ports!)
197
198 Higher speeds can be obtained using the setserial utility which remaps
199 38,400 bps (extb) to 57,600 bps, 115,200 bps, or a custom speed.
200 Intelliport II installations using the PowerPort expansion module can
201 use the custom speed setting to select the highest speeds: 153,600 bps,
202 230,400 bps, 307,200 bps, 460,800bps and 921,600 bps. The base for
203 custom baud rate configuration is fixed at 921,600 for cards/expantion
204 modules with ST654's and 115200 for those with Cirrus CD1400's. This
205 corresponds to the maximum bit rates those chips are capable.
206 For example if the baud base is 921600 and the baud divisor is 18 then
207 the custom rate is 921600/18 = 51200 bps. See the setserial man page for
208 complete details. Of course, if stty accepts the higher rates now you can
209 use that as well as the standard ioctls().
210
211 5. NOTES
212
213 This is a release version of the driver, but it is impossible to test it
214 in all configurations of Linux. If there is any anomalous behaviour that
215 does not match the standard serial port's behaviour please let us know.
216
217 Some installations report that characters fail to echo immediatly at a
218 terminal if the kernel/modules are compiled with the CONFIG_M386 and
219 the card is run in polling mode on a pentium class machine. Compiling
220 with a more appropriate processor flag or running on interrupt would be
221 the fix as well as the wise thing to do.
222
223
224
225 Author: dougm@computone.com
226 Testing: larryg@computone.com
227 Support: support@computone.com
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.