Linux Step By Steps

The ZIP Parallel Interface: General Information.

In brief:

The IOMEGA Zip parallel interface is a scsi device trying to get out. This is quite common for parallel devices other than printers.

A standard parallel port is available on all IBM PCs. It  is a convenient, cheap, byte interface, with no added cards to purchase or install. Hence 'daisy chaining' multiple peripherals, to the printer interface is popular.

How does it work with printers and other devices?

The select in signal is active low for printers, and active high for others. While only one device, the printer, can respond on this cable to select in low. Multiple devices, can connect via the high method. This 'method' has been formalised within IEEE, but, as it happens, most devices do not conform fully with what IEEE dictates.

Can I have multiple devices on the same cable?

Yes. In my home installation I have

All on the same printer port.

This configuration came about, largely, to see if it was possible. In general, device families will happily co-exist as each uses a different 'protocol' that is ignored by the others.. But the limitations are:

I am not aware if or how two zip100's could share the same interface. There is provision for up to four ZIP's in the Linux drivers.


IEEE1284 , EPP ECP and the zip chips.

You are strongly advised to read the IEEE documents, also on this site, to understand the differences in transfer modes between spp / epp and ecp.

The imm handshake was introduced prior to  IEEE1284: the parallel handshake standard.

The ppa device, introduced sometime after,  partly subscribes to the IEEE1284 specifications.

BOTH types can handle EPP (Enhanced Parallel Port) protocol, This protocol was introduced prior to the adoption of IEEE1284 and became part of that standard. A zip drive will work in both EPP architectures (EPP1.7 and EPP1.9).

Data Transfer Modes.

All zip drives can handle nibble, byte and epp modes. If the PC has the capability, the driver uses the fifo of ECP, mode as well.

The distinction between modes is solely with the PC's interface capabilities. Note that while most motherboards can handle these modes,  almost all add-on cards can only handle basic spp nibble mode. The exception to 'most' add on cards are pci devices. These are a special case and while most are fully ecp capable, they require additional abnormal handling since they don't use the standard parallel port addresses. 

Linux drivers initialise (and remain in) one of the following descending order of abilities.

    EPP 32 or 16 bit*
    BYTE (bi-directional)
    NIBBLE

*The Linux drivers are compiled to work with either a 16, or a 32 bit interface, but not both. Normally, the driver is shipped for 32bit operation.

Take note that NIBBLE mode only applies to incoming data. The method for sending data in this mode is BYTE, not, standard spp (printer) mode since this would confuse a printer.

Linux drivers support the fifo ecp mode for epp transfers. When available.

PCI parallel ports.

PCI ports are non standard, in so far as the ecp address registers are not necessarily at the fixed offset of 0x400. The older ppa driver is buggy in this regard, while the newer imm module is not.