old-www/HOWTO/ZIP-Drive-4.html

314 lines
14 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<TITLE>Zip Drive Mini-HOWTO: The ZIP drive</TITLE>
<LINK HREF="ZIP-Drive-5.html" REL=next>
<LINK HREF="ZIP-Drive-3.html" REL=previous>
<LINK HREF="ZIP-Drive.html#toc4" REL=contents>
</HEAD>
<BODY>
<A HREF="ZIP-Drive-5.html">Next</A>
<A HREF="ZIP-Drive-3.html">Previous</A>
<A HREF="ZIP-Drive.html#toc4">Contents</A>
<HR>
<H2><A NAME="s4">4. The ZIP drive</A></H2>
<P>There are at least five or six versions of the Iomega ZIP 100 drive.
The Iomega page for these drives is at
<A HREF="http://www.iomega.com/product/zip/">http://www.iomega.com/product/zip/</A>
They all accept
special cartridges resembling a 3.5" floppy disk that hold 100
megabytes of data. The disks actually hold 96 cylinders of 2048
sectors each holding 512 bytes. This would normally be called 96
Megabytes.
<P>The external drive comes in these types:
<UL>
<LI> Parallel port</LI>
<LI> SCSI</LI>
<LI> Plus</LI>
</UL>
<P>The internal drive comes in these types:
<UL>
<LI> SCSI</LI>
<LI> IDE</LI>
<LI> ATAPI</LI>
</UL>
<P>The internal versions can be mounted in 3.5 or 5.25 drive slots.
The external versions are in a small blue plastic case enclosure,
powered by an external wall brick.
<P>All the drives have a large pushbutton on the front of the drive.
This is used to eject the disk. Linux locks the door while using the
drive, but if the button is pressed while the door is locked, the ZIP
drive will remember and eject the disk as soon as the software unlocks
it.
<P>
<H2><A NAME="ss4.1">4.1 Parallel port version Zip100</A>
</H2>
<P>This drive is described at
<A HREF="http://www.iomega.com/product/zip/zippp.html">http://www.iomega.com/product/zip/zippp.html</A><P>The Linux driver comes in a couple of different versions. The 0.26
version of the ppa.c program ships standard with the 2.0.x kernels.
If your kernel is older than 2.0.35 then you have the <B>OLD</B>
program.
Check out
<P>
<A HREF="http://www.torque.net/~campbell/">David Campbell's page</A>
for the more current version of this program. At the time of this
writing the current version is 1.42.
<P>The auto configuration features of the 1.4x program are very nice.
You do NOT have to tell the progam what the base address of the parallel
port is. The program will prob the standard address's for the parallel
ports and attach the drive when it finds it.
<P>The most common problem is to load the lp printer module before the ppa program.
The ppa program must be loaded before the lp module. The lp module will tie
up the port that the zip drive needs, this is why the ppa progam must be loaded
first.
<P>Also be sure that all cables are firmly attached.
<P>If you did everything right :) you will see messages like this at boot time.
<P>
<PRE>
VFS: Mounted root (ext2 filesystem) readonly.
Adding Swap: 102528k swap-space (priority -1)
ppa: Version 1.42
ppa: Probing port 03bc
ppa: Probing port 0378
ppa: SPP port present
ppa: EPP 1.9 with hardware direction protocol
ppa: Found device at ID 6, Attempting to use EPP 32 bit
ppa: Communication established with ID 6 using EPP 32 bit
ppa: Probing port 0278
ppa: SPP port present
scsi0 : Iomega parport ZIP drive
scsi : 1 host.
Vendor: IOMEGA Model: ZIP 100 Rev: D.09
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi removable disk sda at scsi0, channel 0, id 6, lun 0
SCSI device sda: hdwr sector= 512 bytes. Sectors= 196608 [96 MB] [0.1 GB]
sda: Write Protect is off
sda: sda4
lp2 at 0x0278, (polling)
</PRE>
<P>You can view these messages with dmesg | more.
You can save the messages to a file with dmesg > dmesg.txt.
This is often usefull if you are trying to debug the installation.
<P>Also see section
<A HREF="ZIP-Drive-9.html#sec-more-info">Getting more information</A><P>
<P>
<H2><A NAME="ss4.2">4.2 SCSI external version</A>
</H2>
<P>This drive is described at
<A HREF="http://www.iomega.com/product/zip/zipscsi.html">http://www.iomega.com/product/zip/zipscsi.html</A><P>The external SCSI version of the ZIP drive has two DB25F connectors,
and two configuration switches. One switch selects the drive's target
address. The choice is limited to target 5 or 6. The other enables an
internal terminator, in case the drive is the last one on a chain.
The 25 pin SCSI connectors use the familiar Macintosh style wiring.
The drive is shipped with a Macintosh type cable, but standard cables
and converters are easily obtained if you are using a host adapter
with a Centronics or high-density connector.
<P>I have not seen an internal SCSI drive, but I would expect it to have
a standard 50 pin DIP header SCSI connector and the same two switches.
<P>Make sure that the target address you choose does not conflict with
any other SCSI devices you may have on the same bus. Also be sure
that the physically last drive in a chain has termination enabled, or
an external terminator installed.
<P>If you have an internal SCSI disk or CD-rom, and you connect your ZIP
drive to the existing adapter, you should check to see if there are
any terminators on the card that must be removed. Only the two
extreme ends of the SCSI bus should be terminated. If your bus is
partly internal and partly external, there should be one terminator on
the last external device and one on the last internal device, but no
terminators on the adapter card itself.
<P>Be sure that all cables are firmly attached.
<P>The kernel configuration is much the same as the internel version. See the
next section SCSI Internal version for an example configuration.
<P>
<H3>The ZIP ZOOM host adapter</H3>
<P>Iomega markets a SCSI host adapter under the name ZIP Zoom. This is
actually based on the design of the <B>Adaptec AHA1520</B> family of
adapters. It has an external Macintosh type DB25F connector,
compatible with the cable that comes with the ZIP drive.
<P>Linux supports this adapter with the <B>aha152x</B> driver.
<P>
<H2><A NAME="ss4.3">4.3 The SCSI Internal version</A>
</H2>
<P>
<P>Install hardware as described in the "Installation and Reference Guide"
noting which SCSI ID, IRQ and I/O Port Address are being used. (You'll need
this info later.) Things will go smother if the drive and adapter card use
different SCSI ID's.
<P><B>Beware</B> The zip zoom card is hardwired for scsi ID number 7. The scsi
id in the command line below is for the card, not the drive. The card and the
drive must use different scsi id numbers. For example if the card uses 7 then
use 5 or some other number for the drive.
<P>Recompile the kernel after configuring it to include 'SCSI', 'SCSI disk'
and 'AHA152X/2825' support. INSTALL NEW KERNEL :-(
<P>Determine what your kernel command line is:
<P><CODE> aha152x=[I/O Port][,IRQ][,SCSI ID][,RECONNECT][,PARITY] </CODE>
<P>For example :
<P><CODE> aha152x=0x140,10,7,1 </CODE>
<P>If your using LILO add your kernel command line to your lilo.conf file
using the append command.
<P>(ie. append = "aha152x=0x140,10,7,1")
<P>If your using LOADLIN add your kernel command line to the command you use to
initiate loadlin.
<P>
<PRE>
(ie. loadlin c:\vmlinuz root=/dev/hda3 aha152x=0x140,10,5,1 ro)
</PRE>
<P>
<P>
<H2><A NAME="ss4.4">4.4 The ZIP Plus - IMM driver</A>
</H2>
<P>This drive is described at
<A HREF="http://www.iomega.com/product/zip/zipplus.html">http://www.iomega.com/product/zip/zipplus.html</A><P>This is a <B>newer</B> version of the external Zip drive. The
<B> Zip Plus </B> does not use the ppa driver, instead it uses the
<B> imm </B> driver.
<A HREF="mailto:Philippe_Andersson@ste.scitex.com">Philippe Andersson</A>
sent in this excellent section on the imm driver for the Zip Plus.
Thanks Philippe.
<P>First, rebuild your kernel to include the following items:
<P>
<UL>
<LI>modules support</LI>
<LI>SCSI support</LI>
<LI>SCSI Disk support</LI>
<LI>lp as a module (if you need it)</LI>
</UL>
<P>You'll notice we didn't select any SCSI low-level driver. That's ok --
we'll build it separately later.
<P>Then, you need to get the driver source code from Dave Campbell's home
page (
<A HREF="http://www.torque.net/~campbell/imm.tar.gz">http://www.torque.net/~campbell/imm.tar.gz</A>). Version 0.18 is
the current one at the time of writing (Aug. 98). Unzip it and untar
it somewhere (under <CODE>/usr/src</CODE>, for instance). Then just run
<CODE>make</CODE>. You'll get the module you need (<CODE>imm.o</CODE>). Copy
it to
<PRE>
/lib/modules/$(uname -r)/scsi
</PRE>
.
<P>If your lp module was loaded (check with <B>lsmod</B>(1)), unload it
(<CODE>rmmod lp</CODE>), then load <CODE>imm.o</CODE> (<CODE>insmod imm</CODE>)
and you're all set basically.
<P>If the ZIP drive was not connected and powered on at the time, you'll
get the message "init_module: Device or resource busy", and the module
won't load. (By the way, it looks like you don't need to switch your
PC off to connect the ZIP -- just make sure the module is not loaded
and the drive is turned off, then plug it in, turn the drive on, and
load the module.)
<P>If the ZIP was connected and powered on, but there was no disk in, the
module will load all right, but you'll get the message that it can't
read the disk partition table. This is ok, as the partition table will
be automatically read when you insert a ZIP disk.
<P>If there was a ZIP disk in, you'll get the full information displayed,
including a list of partitions defined on the disk and its Write
Protect status. Here is a sample load-time message:
<P>
<PRE>
vger:~# insmod imm
imm: Version 0.18
imm: Probing port 03bc
imm: Probing port 0378
imm: SPP port present
imm: ECP with a 16 byte FIFO present
imm: PS/2 bidirectional port present
imm: Passed Intel bug check.
imm: Probing port 0278
scsi0 : Iomega ZIP Plus drive
scsi : 1 host.
Vendor: IOMEGA Model: ZIP 100 PLUS Rev: J.66
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi removable disk sda at scsi0, channel 0, id 6, lun 0
SCSI device sda: hdwr sector= 512 bytes. Sectors= 196608 [96 MB] [0.1 GB]
sda: Write Protect is off
sda: sda1
vger:~#
</PRE>
<P>One last remark to mention that this version of the driver also locks
the drive door while the disk is mounted. If the eject button is
pressed in this situation, nothing happens, but the drive "remembers"
and ejects the disk as soon as it is dismounted.
<P>
<P>
<P>
<H2><A NAME="ss4.5">4.5 ATAPI version</A>
</H2>
<P>This drive is described at
<A HREF="http://www.iomega.com/product/zip/zipatapi.html">http://www.iomega.com/product/zip/zipatapi.html</A><P>There was an IDE version of the drive produced for a while.
I think that for the most part this has been replaced by
the ATAPI version.
<P>Donald Stidwell sent in these comments on the ATAPI version. Thanks Don.
<P>I use an ATAPI Zip drive and it works with both 2.0.32 and 2.0.33
kernels. I've used it under both RH 5.0 and OpenLinux 1.2 (my current
used distribution). To get it to work under OpenLinux, I just enabled
<B>ATAPI floppy support</B> in the kernel. OpenLinux does not have this
support compiled in by default.
<P>No other drivers are needed. It will mount as an extended partition on
partition 4. I.E, mine mounts on HDB4. I mount it under /mnt/zip as
noauto, although I don't suppose there would be any real problem with
automounting. I just wonder about ejecting disks. I always dismount
the drive before ejecting a cartridge.
<P>There are more detailed instructions for the ATAPI install in the Linux
Gazette May 1998 issue. See the 2 cent tip section.
<P>
<PRE>
&lt;url url="http://www.linuxgazette.com/issue28/lg_tips28.html#atapi">
</PRE>
<P>
<H2><A NAME="ss4.6">4.6 IDE version</A>
</H2>
<P>
I have not used the IDE version. Eric Backus sent in these comments.
Thanks Eric.
<P>I have one of these. It came with my Gateway 2000 computer a year ago.
I think most of these were shipped by large OEM companies like this,
before the ATAPI version of the ZIP drive was available.
<P>The good news about this drive: no kernel modules or modifications are
needed to support it. It looks to the kernel like an IDE hard drive.
It worked for me with no effort with kernel 2.0.31 and 2.0.32.
<P>The bad news about this drive: because it doesn't use ATAPI, you can't
use the SCSI-to-ATAPI translation, which means you can't use mtools to
write-protect disks (or to eject them, for that matter).
<P>
<P>
<H2><A NAME="ss4.7">4.7 USB version</A>
</H2>
<P>This drive is described at
<A HREF="http://www.iomega.com/product/zip/imac.html">http://www.iomega.com/product/zip/imac.html</A><P>These drives look very cool and the USB interface also looks good. The
only problem is that the USB interface for Linux is still under
development at this time. So for now, this drive is not usable
under Linux. Check this address for updates.
<P>
<A HREF="http://peloncho.fis.ucm.es/~inaky/USB/news.html">http://peloncho.fis.ucm.es/~inaky/USB/news.html</A><P>
<H2><A NAME="ss4.8">4.8 ZIP250 version</A>
</H2>
<P>This drive is desribed at
<A HREF="http://www.iomega.com/product/zip/zip250.html">http://www.iomega.com/product/zip/zip250.html</A><P>This drive is new as of January 1999. I just bought one of these and it works
very well in Linux. Just use the IMM driver from
<A HREF="http://www.torque.net/~campbell/imm.tar.gz">http://www.torque.net/~campbell/imm.tar.gz</A>
Set up the driver the same way as the zip plus. Mainly just download the
driver, unpack it, and run make. Then copy the imm.o executable to the modules
directory. For example /lib/modules/2.0.35/scsi (The 2.0.35 is your
kernel version). If you are not sure of the version do uname -r.
<P>
<P>
<HR>
<A HREF="ZIP-Drive-5.html">Next</A>
<A HREF="ZIP-Drive-3.html">Previous</A>
<A HREF="ZIP-Drive.html#toc4">Contents</A>
</BODY>
</HTML>