diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1997-01-07 02:33:00 +0000 |
---|---|---|
committer | <ralf@linux-mips.org> | 1997-01-07 02:33:00 +0000 |
commit | beb116954b9b7f3bb56412b2494b562f02b864b1 (patch) | |
tree | 120e997879884e1b9d93b265221b939d2ef1ade1 /drivers/scsi/README.ppa | |
parent | 908d4681a1dc3792ecafbe64265783a86c4cccb6 (diff) |
Import of Linux/MIPS 2.1.14
Diffstat (limited to 'drivers/scsi/README.ppa')
-rw-r--r-- | drivers/scsi/README.ppa | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/drivers/scsi/README.ppa b/drivers/scsi/README.ppa new file mode 100644 index 000000000..509541d7a --- /dev/null +++ b/drivers/scsi/README.ppa @@ -0,0 +1,119 @@ +README.ppa (c) 1996 Grant R. Guenther, grant@torque.net + + + The IOMEGA PPA3 parallel port SCSI Host Bus Adapter + + as embedded in the ZIP drive + + +This README documents the Linux support for the parallel port version of +IOMEGA's ZIP100. The ZIP100 is an inexpensive and popular, but relatively +low performance, removable medium disk device. The drive is also available +as a regular SCSI device, but the driver documented here is for the +parallel port version. IOMEGA implemented the parallel port version by +integrating (or emulating ?) their PPA3 parallel to SCSI converter into +the ZIP drive. + +I have implemented a low-level driver, ppa.c, for this parallel port +host bus adapter, thereby supporting the parallel port ZIP drive as a +regular SCSI device under Linux. + +It is possible that this driver will also work with the original PPA3 +device (to access a CDrom, for instance). But, the PPA3 is hard to find +and costs as much as the ZIP drive itself, so no-one has actually tried +this, to the best of my knowledge. + +The driver was developed without the benefit of any technical specifications +for the interface. Instead, a modified version of DOSemu was used to +monitor the protocol used by the DOS driver, 'guest.exe', for this adapter. +I have no idea how my programming model relates to IOMEGA's design. +(One technical consequence of this method: I have never observed a +SCSI message byte in the protocol transactions between guest.exe and +the ZIP drive, so I do not know how they are delivered. My working +hypothesis is that we don't have to worry about them if we don't +send linked commands to the drive.) + +I'd like to thank Byron Jeff (byron@cc.gatech.edu) for publishing his +observation that the 'guest' driver loads under DOSemu. His remark was +the stimulus that began this project. + +The ppa driver can detect and adapt to 4- and 8-bit parallel ports, but +there is currently no support for EPP or ECP ports, as I have been unable +to make the DOS drivers work in these modes on my test rig. + +The driver may be built in to the kernel, or loaded as a module. It +may be configured on the command line in both cases, although the syntax +is different. It may also be configured by editing the source file. + +Built-in drivers accept parameters using this LILO/LOADLIN command line +syntax (omitted parameters retain their default values): + + ppa=base[,speed_high[,speed_low[,nybble]]] + +For example: ppa=0x378,0,3 + +If a driver is loaded as a module the parameters may be set on the +insmod command line, but each one must be specified by name: + +For example: insmod ppa.o ppa_base=0x378 ppa_nybble=1 + +(Notice the ppa_ prefix on each of the parameters in the insmod form.) + +Here are the parameters and their functions: + +Variable Default Description + +ppa_base 0x378 The base address of PPA's parallel port. +ppa_speed_high 1 Microsecond i/o delay used in data transfers +ppa_speed_low 6 Microsecond delay used in other operations +ppa_nybble 0 1 to force the driver to use 4-bit mode. + +A word about the timing parameters: the ppa_speed_low parameter controls +the widths of a large number of pulses that are sent over the parallel bus, +the narrower the pulses, the faster things go, but the greater the risk of +distortion by noise damping circuits in the parallel ports. The +ppa_speed_high parameter controls the same delays, but during the data +transfer phase only. In this phase, there is a lot of handshaking going +on and the pulse shaping should not be so much of an issue, but if you +see data corruption, you can increase this parameter as well. + +You might also want to reduce the timing values to attempt to increase +the transfer rates on your system. Please be careful to watch for +SCSI timeout errors in your log files. If you are getting timeouts, you +have set these parameters too low. The default values appear to be +safe on most machines. + +If you have both the lp and ppa drivers in your kernel, you must ensure +that they access different parallel ports. By default, the lp driver is +initialised early in the booting process, and it claims all parallel +ports that it can find. You may control this behaviour with a LILO or +LOADLIN command line argument of the form: + + lp=base0[,irq0[,base1[,irq1[,base2[,irq2]]]]] + +For example: lp=0x278,7 + +If you use this method, only the ports named will be adopted by the lp +driver. You can disable them all with lp=0 . + +So, if you have a printer on 0x3bc and a ZIP drive on 0x278 you would +give the following options on your boot command: + + lp=0x3bc ppa=0x278 + +In this case lp would use the polling driver, since an interrupt was not +specified. + +If you want to share the same parallel port between a ZIP drive and a +printer, you should build both the lp and ppa drivers as modules and +load and unload one or the other as required. This is clumsy but we +currently have no protocol for synchronising access to shared parallel +ports. + +For information about using the ZIP drive, please read the generic +instructions in the SCSI-HOWTO and the man pages for the normal disk +management tools, fdisk, mkfs, mount, umount, etc. There is a mini-HOWTO +circulating concerning the use of the normal SCSI version of the ZIP +drive, most of its comments will apply to disks connected through the +ppa driver as well. + |