~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/drivers/char/README.computone

Version: ~ [ 2.2.5 ] ~ [ 2.4.1 ] ~ [ 2.4.9 ] ~ [ 2.6.17.10 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.