  Linux IOMEGA ZIP Drive HOWTO
  von Collin Mulliner (collin@deadend.rhein-main.de)
  v1.0, August 1997

  In diesem HOWTO wird beschrieben, wie man ein Iomega ZIP Drive unter
  Linux installiert und benutzt.

  1.  Einleitung

  Das Iomega ZIP Drive ist ein kleines, mittlerweile sehr populres, gut
  zu transportierendes und billiges Laufwerk fr 96 Megabyte groe
  Wechselmedien (ZIP-Disks). Das ZIP-Drive gibt es in 4 Varianten: als
  SCSI-, als Parallelport-, als IDE- und als ATAPI-Version. Wobei die
  Parallelport-Version eigentlich nur ein SCSI Gert ber das PPA-3
  Protokol (von Iomega) imitiert.  Die IDE Version wurde ursprnglich
  fr Micron entworfen, meinen Informationen nach wird sie aber nicht
  mehr hergestellt und durch die ATAPI Version ersetzt. Die IDE-Version
  luft mit Linux, solange man die ZIP-Disks nicht wechselt. Die ATAPI
  Version luft mit ein paar der 2.1.* Kernels, wenn zustzliche Patches
  eingespielt werden.

  In diesem HOWTO wird beschrieben, wie man sein ZIP Drive unter Linux
  installiert und benutzt. Es werden hauptschlich die SCSI- und
  Parallelport-Versionen behandelt, da die IDE- und ATAPI-Versionen
  nicht ganz so verbreitet sind und auch nicht besonders gut von Linux
  untersttzt werden. Da das ZIP Drive ein SCSI Gert ist, schadet es
  nicht, auch das SCSI HOWTO zulesen.

  Vielen Dank auerdem auch an Patrick Duchstein fr seine Mitarbeit an
  diesem HOWTO.

  1.1.  Copyright

  Dieses Dokument ist urheberrechtlich geschtzt. Das Copyright fr die
  englische ZIP-drive mini HOWTO, auf der dieses Dokument teilweise
  basiert, liegt bei Grant Guenther (grant@torque.net). Das Copyright
  fr die deutsche Version liegt bei Collin Mulliner.

  Das Dokument darf gem der GNU General Public License verbreitet
  werden. Insbesondere bedeutet dieses, da der Text sowohl ber
  elektronische wie auch physikalische Medien ohne die Zahlung von
  Lizenzgebhren verbreitet werden darf, solange dieser Copyright
  Hinweis nicht entfernt wird. Eine kommerzielle Verbreitung ist erlaubt
  und ausdrcklich erwnscht. Bei einer Publikation in Papierform ist
  das Deutsche Linux HOWTO Projekt hierber zu zu informieren.

  2.  Das ZIP Drive

  Alle Versionen des ZIP Drives (SCSI int., SCSI ext., LPT, IDE, ATAPI)
  benutzen die gleiche Art Medien, von der Gre einer 3,5" Diskette mit
  einer Kapazitt von 96 Megabyte. Die ZIP-Disks haben 96 Zylinder mit
  je 2048 Sektoren; jeder Sektor hat eine Gre von 512 Bytes.

  Es gibt eine 5,25" interne SCSI Version und zwei externe (Parallelport
  und SCSI) Versionen des ZIP Drives. Alle drei haben auf der
  Vorderseite des Gehuses eine Auswurfstaste, um die ZIP-Disks
  auszuwerfen. Whrend des Betriebes, wenn sich eine ZIP-Disk im
  Laufwerk befindet und gemountet ist, wird der Auswurf durch den
  Treiber blockiert. Wird die Taste dennoch gedrckt, so wird die ZIP-
  Disk sofort nach dem Unmounten ausgeworfen.

  2.1.  Die SCSI Version

  Die SCSI Version des ZIP Drives hat zwei DB25F Anschlsse und zwei
  Konfigurationsschalter. Mit einem der Schalter whlt man die Adresse
  des ZIP Drives (nur 5 oder 6 mglich). Der andere aktiviert den
  eingebauten Terminator, fr den Fall, da das ZIP Drive das letzte
  SCSI Gert ist.  Der 25 Pin SCSI Anschlu ist ein Macintosh SCSI
  Anschlu. Ein 25 auf 50 Pin Adapter ist allerdings leicht zu bekommen.

  2.2.  Der ZIP Zoom SCSI Adapter

  Iomega verkauft einen SCSI Adapter unter dem Namen ZIP Zoom; dieser
  Adapter ist ein SCSI Adapter, der auf dem Design von Adaptecs AHA1520
  basiert. Er hat einen externen DB25F Anschlu (passend zu dem Anschlu
  des ZIP Drives).

  Der Adapter wird mit dem Treiber fuer den Adaptec aha152x untersttzt.

  2.3.  Die Parallelport Version

  Die Parallelport Version des ZIP Drives hat zwei DB25 Anschlsse, der
  mnnliche Anschlu (DB25M) wird an den Parallelport des Computers
  angeschlossen, der andere (weiblich, DB25F) wird dazu benutzt, einen
  Drucker durchzuschleifen.

  Die aktuelle stabile Kernel Version 2.0.30 untersttzt leider noch
  nicht das simultane Benutzen eines ZIP Drives und eines Druckers am
  selben Parallelport. Wenn man allerdings einen Entwicklungs Kernel ab
  der Version 2.1.35 benutzt (mit Parport) und den neuen PPA Treiber von
  David Campbel (dcampbel@p01.as17.honeywell.com.au), kann man beides an
  einem Parallelport zugleich benutzen. Fr alle Besitzer eines stabilen
  Kernels wird das Benutzen eines ZIP Drives und eines Druckers am
  gleichen Parallelport (nicht gleichzeitig) in den Abschnitten
  ``Parallelport Version'' und ``Fragen und Antworten'' beschrieben.

  Der Linux Treiber fr die Parallelport Version des ZIP Drives, der in
  den aktuellen Kernel Versionen dabei ist, untersttzt nur die Uni- und
  die Bi-Direktionalen Parallelports. Es gibt aber eine neu bessere
  Version des PPA Treibers von David Campbel
  (dcampbel@p01.as17.honeywell.com.au), der jetzt auch EPP, ECP und PS/2
  Parallelports untersttzt und auerdem schneller ist als der alte
  Treiber.

  Im Abschnitt ``Parallelport Version'' wird beschrieben, wo man den
  neuen  PPA Treiber bekommt und wie man in installiert.

  3.  Die Kernelkonfiguration fr das ZIP Drive

  Um das ZIP Drive mit Linux benutzen zu knnen, mu man den Kernel mit
  SCSI-Untersttzung, SCSI-Festplatten-Untersttzung und mit dem Treiber
  fr den SCSI Adapter kompilieren. Wenn man nicht mit der Konfiguration
  und Kompilierung eines Linux Kernels vertraut ist, sollte man sich
  einmal das Kernel HOWTO anschauen.

  Wenn man die SCSI Treiber als Module kompiliert, mssen diese vor der
  Benutzung des ZIP Drives geladen werden.

  3.1.  Die SCSI Version

  Wenn man bereits eine SCSI Festplatte (und Kontroller) in seinem
  System hat, mu das ZIP Drive nur noch angeschlossen werden.
  Gegebenenfalls mu der Terminator vom letzten Gert entfernt bzw.
  deaktiviert werden und die Terminierung des ZIP Drives aktiviert
  werden.

  Wenn man einen neuen Kernel erstellen mu, mu man auf die folgenden
  Fragen mit "Y" fr YES (ja) oder "M" fr Modul antworten.

     SCSI Untersttzung

          SCSI support (CONFIG_SCSI) [Y/m/n/?]

     SCSI Festplatten Untersttzung

          SCSI disk support (CONFIG_BLK_DEV_SD)  [Y/m/n/?]

  So, jetzt noch den Treiber fr den jeweiligen SCSI Adapter.

  Wenn man den ZIP Zoom Adapter von Iomega benutzen will, mu man die
  folgende Frage ebenfals mit "Y" oder "M" beantworten.

     Untersttzung fr Iomega ZIP Zoom Adapter bzw. Adaptec aha152x

          Adaptec AHA152X/2825 support (CONFIG_SCSI_AHA152X) [Y/m/n/?]

  Man sollte auf jeden Fall die Dokumentation seines SCSI Adapters im
  SCSI HOWTO und die Readme Dateien im drivers/scsi/ Unterverzeichnis
  der Linux Kernelquellen lesen. Weiterhin sollte man den
  Kommandozeilenparametern des Kernels besondere Aufmerksamkeit
  schenken.

  Wenn man z.B. den Iomega ZIP Zoom Adapter benutzt, mu man ungefhr so
  etwas wie

       aha152x=0x340,11,7,1

  als Bootparameter dem Kernel (mit Lilo oder Loadlin) bergeben. Diese
  Parameter sagen dem Kernel, welche I/O Addresse und welchen Interrupt
  der Adapter benutzt. Fr weitere Informationen ber Bootparameter kann
  man sich das BootPrompt HOWTO einmal ansehen.

  3.2.  Die Parallelport Version (Der PPA Treiber)

  3.2.1.  Update des PPA Treibers

  Die neue Version des PPA Treibers gibt es hier:

       http://www.torque.net/~campbell/ppa/

  Nach dem Download hat man die Datei ppa.tar.gz; nach dem Entpacken
  erhlt man ein Verzeichnis mit dem Namen ppa_#_##.

  Wenn man einen stabilen Kernel benutzt, mu man die zwei Dateien
  (ppa.c und ppa.h) aus dem Verzeichnis ppa_mono nach
  /usr/src/linux/drivers/scsi kopieren.

  Wenn man einen Entwicklungs Kernel mit "Parport" benutzt, mu man die
  zwei Dateien aus dem Verzeichnis ppa_parport nach
  /usr/src/linux/drivers/scsi kopieren.

  Fr weitere Informationen zu der Installation des neuen PPA Treibers
  lesen Sie bitte die README Datei im Verzeichnis ppa_#_##.

  3.2.2.  Die Kernelkonfiguration fr den PPA Treiber

  Wenn man die Parallelport Version des ZIP Drives benutzen will, mu
  man bei der Kernel Konfiguration auf folgende Fragen mit "Y" fr YES
  (ja) oder "M" fr Modul antworten.

     SCSI Untersttzung

          SCSI support (CONFIG_SCSI) [Y/m/n/?]

     SCSI Festplatten Untersttzung

          SCSI disk support (CONFIG_BLK_DEV_SD) [Y/m/n/?]

  Wenn man auch einen Drucker am selben Parallelport benutzen mchte
  (nicht gleichzeitig mit ZIP Drive mglich), mu man auf die folgenden
  Fragen mit "M" fr Modul antworten, so da der PPA Treiber als Modul
  kompiliert wird. Andernfalls kann man mit "Y" antworten.

     Untersttzung fr die Parallel Port Version des ZIP Drives

          IOMEGA Parallel Port ZIP drive SCSI support (CONFIG_SCSI_PPA)
          [M/y/n/?]

     Untersttzung fr einen Drucker am parallelen Port

          Parallel printer support (CONFIG_PRINTER) [M/y/n/?]

  4.  Die Benutzung des ZIP Drives

  Wenn man nun den Kernel mit allen ntigen Komponenten neu kompiliert
  hat und das System mit diesem neuen Kernel gebootet hat, sollte der
  Kernel den SCSI Adapter und das ZIP Drive (wenn nicht als Modul
  kompiliert) erkennen.

  Die SCSI und die Parallelport Version des ZIP Drives sollten sich
  gleich verhalten; die SCSI Version ist jedoch etwas schneller.

  4.1.  Die Parameter des PPA Treibers

  Hier noch eine Beschreibung der Parameter des PPA Moduls. Wenn man auf
  die Parameter angewiesen ist, mssen sie Lilo, Loadlin oder insmod
  bergeben werden.

  4.1.1.  Die Parameter des alten PPA Treibers

       Syntax:         ppa=base[,speed_high[,speed_low[,nybble]]]

  Base ist die I/O Addresse des Parallelports, speed_high ist eine
  Timerkonstante fr mehrere schnelle Schleifen in dem Treiber,
  speed_low ist eine Timerkonstante fr mehrere langsame Schleifen in
  dem Treiber und nybble gibt an, ob der Treiber im 4-Bit oder im Nybble
  Modus arbeiten soll.

  Hier noch ein Beispiel

       ppa=0x378,1,6,0

  4.1.2.  Die Parameter des neuen PPA Treibers

       Syntax:         ppa=[,mode[,use_sg]]

  4.2.  Erkennung des ZIP Drives beim Booten

  Whrend dem Booten des Systems sollten verschiedene Informationen ber
  den SCSI Adapter und ber das ZIP Drive, eventuell auch ber die ZIP-
  Disk (wenn im Laufwerk eingelegt) angezeigt werden.

  Die Anzahl und das Aussehen der Informationen ist abhngig davon, ob
  die Treiber im Kernel oder als Modul vorhanden sind.

  Wenn man mit Modulen arbeitet, mu man folgende Module laden: scsi,
  sd, Modul des SCSI Adapters (wenn Paralleles ZIP Drive dann PPA Modul)

  Hier ist ein Beispiel einer Kernelausgabe bzw. die Ausgabe von insmod
  ppa (alter PPA Treiber):

       scsi5 : PPA driver version 0.26 using 4-bit mode on port 0x378.
       scsi : 1 host.
         Vendor: IOMEGA    Model: ZIP 100           Rev: D.08
         Type:   Direct-Access                      ANSI SCSI revision: 02
       Detected scsi removable disk sda at scsi5, 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

  Die erste Zeile zeigt Informationen ber die Initialisierung des Low-
  Level Treibers fr den SCSI Adapter, in diesem Fall der PPA Treiber.
  Es folgt eine Liste mit allen SCSI Gerten, die auf dem SCSI Bus
  gefunden wurden.  Zeile 5 gibt Information ber den Gertenamen, der
  diesem SCSI Gert zugewiesen wurde, in diesem Fall /dev/sda. Jetzt
  werden noch alle Partitionen des Gerts (ZIP-Disk) angezeigt (hier nur
  /dev/sda1).

  Hier noch als Beispiel die Ausgabe des neuen PPA Treibers:

       ppa: Version 1.28s
       Probing port 03bc
       Probing port 0378
           SPP port present
           EPP test failed on Read/Write
       ppa: 0x0378 SPP
       Probing port 0278
       scsi4 : Iomega parport ZIP drive
       scsi : 1 host.
         Vendor: IOMEGA    Model: ZIP 100           Rev: D.08
         Type:   Direct-Access                      ANSI SCSI revision: 02
       Detected scsi removable disk sda at scsi5, 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

  Die Ausgaben sind gleich bis auf den Probing Teil: dort wird nach dem
  ZIP Drive gesucht (bzw. nach dem Parallelport an dem das ZIP Drive
  angeschlossen ist).

  Zusammenfassung:

  Wenn alle Treiber im Kernel einkompiliert sind und whrend dem Booten
  eine Meldung wie oben angezeigt wird, so wurde der SCSI Adapter und
  das ZIP Drive richtig erkannt.

  Wenn man alles oder nur Teile als Modul hat, mssen folgende Treiber
  (Module) geladen werden:

    SCSI Modul (insmod scsi)

    SCSI Festplatten Modul (insmod sd)

    SCSI Adapter Modul (bei LPT Version PPA Treiber) (insmod ppa)

  Nach dem der Kernal alles erkannt hat bzw. alle Module geladen wurden,
  kann man eine ZIP-Disk in das Laufwerk einlegen. Jetzt kann diese ZIP-
  Disk mit den blichen Dateisystemtools bearbeitet werden (fdisk,
  mke2fs, mount usw.).

  4.3.  Das Mounten einer ZIP-Disk

  Die original ZIP-Disks von Iomega haben normalerweise eine Partition
  mit der Partitionsnummer 4 (z.B. /dev/sda4).

  Man sollte sich im /mnt Verzeichnis ein Unterverzeichnis fr das ZIP
  Drive anlegen, z.B. /mnt/zip.
  Und so mounted man eine ZIP-Disk mit MS-DOS Dateisystem:

       mount -t msdos /dev/sda4 /mnt/zip

  Nach dem Mounten kann mit jedem Programm auf die ZIP-Disk zugegriffen
  werden.

  Um die ZIP-Disk wieder zu unmounten gibt man folgendes ein:

       umount /dev/sda4

  Nach dem Unmounten kann die ZIP-Disk auch wieder ausgeworfen werden,
  dazu mu man die kleine graue Taste an der Vorderseite des ZIP Drives
  bettigen.

  4.4.  Fdisk, Mke2fs usw.

  Die meisten Linuxbenutzer mchten natrlich lieber ein Linux
  Dateisystem auf ihren ZIP-Disks haben, hier beschreibe ich, wie man
  das macht. Man sollte mit den Programmen fdisk und mke2fs sehr
  vorsichtig umgehen, da bei unsachgemsser Anwendung sehr viel kaputt
  gehen kann.

  Die ZIP-Disk darf nicht gemountet sein.

  Dann:   fdisk /dev/sda

  Mit d lscht man Partitionen, mit n kann man neue Partitionen anlegen,
  man sollte der Sauberkeit halber der Partiton die Nummer eins (1)
  geben. Dann mit w die Partitionstabbelle auf die ZIP-Disk schreiben
  und mit q fdisk beenden.

  Um die ZIP-Disk mit dem ext2 Dateisystem zu versehen mu folgender
  Befehl eingegeben werden:      mke2fs /dev/sda1

  Nun kann man die ZIP-Disk wieder mounten, diesmal mit ext2
  Dateisystem:

       mount -t ext2 /dev/sda1 /mnt/zip

  5.  Das ZipTool Programm

  Das Programm ZipTool (von Grant Guenther, grant@torque.net) ist ein
  kleines leicht zu bedienendes Tool, um eine ZIP-Disk auszuwerfen, eine
  ZIP-Disk in den Schreibschutzmodus zu setzen, eine ZIP-Disk wieder in
  den Lese/Schreib Modus zu setzen (Schreibschutz entfernen) und um eine
  ZIP-Disk in den Pawort geschtzten Schreibschutz Modus zusetzen.

  Das einzige, was das Programm bis jetzt noch nicht kann, ist eine ZIP-
  Disk nicht lesbar zumachen.

  Das Programm gibt es hier:

  http://grant.torque.net/ziptool.html

  Um es zu kompilieren, mu man folgenden Befehl eingeben:

       cc -o ziptool ziptool.c

  Hier noch einen Kommando-Zusammenfassung fr das ZipTool Programm:

  Syntax:         ziptool Gert Kommando

     Gert
        der volle Gertename fr das ZIP Drive z.B. /dev/sda

     Kommando
        eines dieser Kommandos:

        eject
           wirft die ZIP-Disk aus

        ro ZIP-Disk in Schreibschutzmodus setzen

        rw ZIP-Disk in Lese/Schreibmodus setzen (Schreibschutz
           entfernen)

        status
           ZIP-Disk Status anzeigen

        PWRO
           ZIP-Disk in Pawort geschtzten Schreibschutzmodus setzen

  6.  Fragen und Antworten

     Kann man von einem ZIP Drive booten?
        Ja! Wenn man einen SCSI Adapter hat, der vom 5. oder 6. SCSI
        Gert booten kann.  Man kann nicht von einem Parallelen ZIP
        Drive booten.

     Kann man eine ZIP-Disk automatisch beim Booten mounten?
        Ja! Wenn man alle Treiber im Kernel hat, mu man nur folgende
        Zeile zu seiner /etc/fstab hinzufgen.

          /dev/sda1 /mnt/zip     ext2    defaults 0 0

     Kann man einen Drucker am ZIP Drive anschlieen?
        Ja! Man kann aber nicht beides gleichzeitig benutzen. Wenn man
        das ZIP Drive benutzen will, mu man das PPA Modul laden; wenn
        man den Drucker benutzen will, mu man das PPA Modul entfernen
        und das LP Modul laden.

        Wenn man einen Entwicklungs Kernel ab Version 2.1.35 (mit
        Parport) benutzt, kann man mit dem neuen PPA Treiber einen
        Drucker und ein ZIP Drive gleichzeitig an einem Parallelport
        benutzen.
        Hat man 2 Parallelports, kann man den Kernel mit beiden Treibern
        kompilieren und mu dann nur beim Booten dem Kernel so etwas
        wie:

          append = "lp=0x378 ppa=0x3bc"

     bergeben.

     Welche SCSI Adapter sind mit dem ZIP Drive kompatibel?
        Iomega hat eine Liste mit kompatiblen SCSI Adaptern.

          http://www.iomega.com/support/techs/zip/2063.html

  7.  Links

    Der PPA Treiber:                http://www.torque.net/~campbell

    Das ZipTool Programm:           http://gear.torque.net/ziptool.html

    Linux Parport Project Homepage:
     http://www.cyberelk.demon.co.uk/parport.html

    Iomega:                         http://www.iomega.com/

    HOWTOs des DLHP:
     ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/translations/de/

