1 |
1626 |
jcastillo |
README.ppa (c) 1996 Grant R. Guenther, grant@torque.net
|
2 |
|
|
README.ppa (c) 1998 David J. Campbell, campbell@torque.net
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
The IOMEGA PPA3 parallel port SCSI Host Bus Adapter
|
6 |
|
|
|
7 |
|
|
as embedded in the ZIP drive
|
8 |
|
|
|
9 |
|
|
|
10 |
|
|
This README documents the Linux support for the parallel port version of
|
11 |
|
|
IOMEGA's ZIP100. The ZIP100 is an inexpensive and popular, but relatively
|
12 |
|
|
low performance, removable medium disk device. The drive is also available
|
13 |
|
|
as a regular SCSI device, but the driver documented here is for the
|
14 |
|
|
parallel port version. IOMEGA implemented the parallel port version by
|
15 |
|
|
integrating (or emulating ?) their PPA3 parallel to SCSI converter into
|
16 |
|
|
the ZIP drive.
|
17 |
|
|
|
18 |
|
|
I have implemented a low-level driver, ppa.c, for this parallel port
|
19 |
|
|
host bus adapter, thereby supporting the parallel port ZIP drive as a
|
20 |
|
|
regular SCSI device under Linux.
|
21 |
|
|
|
22 |
|
|
It is possible that this driver will also work with the original PPA3
|
23 |
|
|
device (to access a CDrom, for instance). But, the PPA3 is hard to find
|
24 |
|
|
and costs as much as the ZIP drive itself, so no-one has actually tried
|
25 |
|
|
this, to the best of my knowledge.
|
26 |
|
|
|
27 |
|
|
The driver was developed without the benefit of any technical specifications
|
28 |
|
|
for the interface. Instead, a modified version of DOSemu was used to
|
29 |
|
|
monitor the protocol used by the DOS driver, 'guest.exe', for this adapter.
|
30 |
|
|
I have no idea how my programming model relates to IOMEGA's design.
|
31 |
|
|
(One technical consequence of this method: I have never observed a
|
32 |
|
|
SCSI message byte in the protocol transactions between guest.exe and
|
33 |
|
|
the ZIP drive, so I do not know how they are delivered. My working
|
34 |
|
|
hypothesis is that we don't have to worry about them if we don't
|
35 |
|
|
send linked commands to the drive.)
|
36 |
|
|
|
37 |
|
|
I'd like to thank Byron Jeff (byron@cc.gatech.edu) for publishing his
|
38 |
|
|
observation that the 'guest' driver loads under DOSemu. His remark was
|
39 |
|
|
the stimulus that began this project.
|
40 |
|
|
|
41 |
|
|
For information about using the ZIP drive, please read the generic
|
42 |
|
|
instructions in the SCSI-HOWTO and the man pages for the normal disk
|
43 |
|
|
management tools, fdisk, mkfs, mount, umount, etc. There is a mini-HOWTO
|
44 |
|
|
circulating concerning the use of the normal SCSI version of the ZIP
|
45 |
|
|
drive, most of its comments will apply to disks connected through the
|
46 |
|
|
ppa driver as well.
|
47 |
|
|
|
48 |
|
|
>------------------------------------------------------------------------<
|
49 |
|
|
David Campbell writes:
|
50 |
|
|
|
51 |
|
|
Since the original was released by Grant several people have made many minor
|
52 |
|
|
modifications:
|
53 |
|
|
|
54 |
|
|
a) Support for EPP
|
55 |
|
|
b) Autoprobing known parallel ports
|
56 |
|
|
c) Parallel port sharing with other devices (see notes)
|
57 |
|
|
|
58 |
|
|
It has been found that the JAZ Traveller also uses the VPI0 interface chipset
|
59 |
|
|
(a reworked ppa3). This driver will also support this device without
|
60 |
|
|
modifications.
|
61 |
|
|
|
62 |
|
|
Please note that the ZIP Plus drive uses a VPI2 interface chipset (VPI1 never
|
63 |
|
|
made it out of the Iomega development lab). A driver for this device exists,
|
64 |
|
|
check my web page at http://www.torque.net/~campbell for further details.
|
65 |
|
|
|
66 |
|
|
-<-->-
|
67 |
|
|
|
68 |
|
|
Built-in drivers accept parameters using this LILO/LOADLIN command line
|
69 |
|
|
syntax (omitted parameters retain their default values):
|
70 |
|
|
|
71 |
|
|
ppa=base,mode[,sg_buffer_size]
|
72 |
|
|
|
73 |
|
|
For example: ppa=0x378,1
|
74 |
|
|
|
75 |
|
|
The modes are as follows:
|
76 |
|
|
|
77 |
|
|
1 work in standard 4 bit mode
|
78 |
|
|
2 PS/2 byte mode
|
79 |
|
|
3 EPP mode, 8 bit
|
80 |
|
|
4 EPP mode, 16 bit
|
81 |
|
|
5 EPP mode, 32 bit
|
82 |
|
|
|
83 |
|
|
If ppa is built as a module there is currently no method of changing the
|
84 |
|
|
operation of the driver. Basically there is no need (unless you have a very
|
85 |
|
|
strange parallel port address).
|
86 |
|
|
|
87 |
|
|
-<-->-
|
88 |
|
|
|
89 |
|
|
Using the ZIP drive and a printer either requires two parallel ports (one
|
90 |
|
|
for each device) or use of the parport driver (which can be found in the
|
91 |
|
|
2.1.x kernels).
|
92 |
|
|
|
93 |
|
|
In the first case compile the lp driver as a module and load it after ppa.
|
94 |
|
|
Alternatively specify which ports the lp driver should use by the LILO/LOADLIN
|
95 |
|
|
options:
|
96 |
|
|
lp=base0[,irq0[,base1[,irq1[,base2[,irq2]]]]]
|
97 |
|
|
|
98 |
|
|
-<-->-
|
99 |
|
|
|
100 |
|
|
Mainboard buggy chipset hall of shame: [information courtesy of Iomega]
|
101 |
|
|
|
102 |
|
|
National Semiconductor PC87306 rev ID 0x70, 0x71
|
103 |
|
|
Winbond xx837
|
104 |
|
|
|
105 |
|
|
The above chipsets are known to have problems using EPP. Note that the
|
106 |
|
|
National Semicondutor problems only affect early batches of PC87306 which
|
107 |
|
|
should really never made it to market (a run for mainboard developers).
|
108 |
|
|
>------------------------------------------------------------------------<
|
109 |
|
|
|