Setting up an internal SCSI Zip drive

with the Zip Zoom card

The Iomega Zip "SCSI insider"(as Iomega calls it) is an internal Zip disk drive that comes 
with a "Zip Zoom" SCSI interface card.  This Zip Zoom card is an Adaptec AHA-1520 card 
manufactured for Iomega.  It is an ISA card that supports Plug n Play under Windows, but that
has jumpers on the card making it usable in Linux.  The reason Linux doesn't detect the card 
at boot time or during install is because the card lacks what they call a BIOS ROM chip.  What 
this means to you is, you need to tell Linux that the card exists and where to find it.  First we 
will recompile the kernel and then edit LILO with an append clause.  After these two steps and
a reboot, Linux should detect your Zip Zoom card, and if you have a disk in the drive, recognize 
it as "sda4."  You should read theZip drive mini-howto before proceeding here.

1.  The first thing you should do is get the jumper settings from your Zip Zoom card.  The two 
settings you will have to get directly from the card are the address and the IRQ.  From the 
factory, the settings are address 140h-15Fh(0x140) and IRQ 11.  If you need to change these,
here are the settings from the owner's manual.

What the above shows is if the jumper is on the "ALT" posts, the address is 340h-35Fh(0x340)
and starting from the top down, IRQ 9,10,11,12.  The card should be clearly marked.  If you 
would like to see a better quality graphic, you can view the entire manual (in .pdf) 
at  Iomega's website.

Write down the settings!

2.  Recompile the kernel.  This assumes you use LILO and are using Red Hat.  If not, try looking
at the Linux Documentation Project.

        A.  Login as root.
        B.  cd to /usr/src/linux
        C.  type  make config or (if in X) make menuconfig
        D.  You will be asked to select Y (for yes) N (for no) or M (for module) for kernel options.  
        If you aren't sure, choose the first answer listed.  The only thing you should be
         changing will be referring to SCSI support.  The rest should be filled in with what is 
         already there indicated by the first listed( <Y> <n> <m> would mean answer yes)
        E.  Answer yes to all the SCSI support options.  Answer yes to all the Adaptec card 
        support and Iomega Parallel Port support.
        F.  At the end type make dep (follow the prompts in menuconfig.)
        G.  Now type make clean
        H.  Now type make bzImage (you can try make zImage, but I have never had luck with
        it since my kernel is so large.)  Wait about 20 minutes(depending on machine) for
                the nano penguins to do their work.
        I.  In case you had any error messages you missed, cd to /usr/src/linux/arch/i386/boot 
        and ls to make sure there is a bzImage file.  If not, you need to recompile again,
                being careful to select only what you need.  (I compiled sound support without a sound 
        card once and got an error message.)
        J.  Check /etc/lilo.conf to see what image it boots.  Red Hat 5.2 boots vmlinuz-2.0.36-0.7
        K.  While in /usr/src/linux/arch/i386/boot copy the new kernel image(bzImage) to the one 
        LILO boots from.  In my case I type cp bzImage /boot/vmlinuz-2.0.36-0.7

3.  Edit LILO.  You can use your favorite editor or follow the instructions using pico.

        A.  Open lilo.conf (type pico /etc/lilo.conf )
        B.  Add the append line to the end of file ( using arrow keys place the cursor at the position 
        just below the last line of the file.)  Type the following:
                append="aha152x=address,irq,scsi id,1"  inserting your address(either 0x140 or 0x340), 
        irq(9,10,11,12), scsi ID should be 7, and 1 is the last value.  In my case I
                added it like so:  append="aha152x=0x340,10,7,1"
        C.  Save and exit your editor ( Ctrl-x , enter yes to save modified buffer, and hit enter for file 
        name for pico )  Check it for errors.  Type more /etc/lilo.conf
        D.  Once you have entered the correct info, run lilo to update.  Type  /sbin/lilo

4.  OK, your kernel should have built in SCSI support, your lilo.conf file should have the append 
        clause ready to go and you should have a Zip disk in the drive.  Reboot.  Type
              shutdown -r now

5.  If you didn't see the message at boot time, type  more /var/log/dmesg  to see what went flying by. 
        You should see something like the following:

            aha152x: processing commandline: ok
            aha152x: BIOS test: passed, detected 1 controller(s)
            aha152x0: vital data: PORTBASE=0x340, IRQ=10, SCSI ID=7, reconnect=enabled, 
            parity=enabled, synchronous=diabled, delay=100,extended translation=disabled
            aha152x: trying software interrupt, ok.
            ppa: Version 1.42
            ppa: Probing port 03bc
            ppa: Probing port 0278
            scsi0 : Adaptec 152, SCSI driver; $Revision: 1.18 $
            scsi : 1 host.
                Vendor: IOMEGA    Model: ZIP 100            Rev: J.03
                Type:  Direct-Access                                        ANSI SCSI revision:  02
            Detected scsi removable disk sda at scsi0, channel 0, id 5, lun 0
            scsi: detected 1 SCSI disk total.
            (etc, etc,...)

6.  If you see something to that effect you should be able to access your Zip drive.  If you would
        like a nice little GUI utility to mount and unmount the Zip drive, you can get it
        from this guy: There you can see  screenshots and 
        download the program.

7.  NOTE: Do not set the SCSI ID on the physical drive to 7, that is  reserved for the card!