Zip Drive Mini-HOWTO

Kyle Dansie, dansie@ibm.net v2.2, 26 Août 1998

Ce document constitue un guide de référence rapide pour configurer et utiliser l’unité Iomega ZIP avec Linux.

Table des matières

1 Introduction 2 1.1 Site de référence de ce document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Mise En Route Rapide 3

3 L’unité ZIP 4 3.1 Version Port Parallèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2 Version SCSI externe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.2.1 L’adaptateur hôte ZIP ZOOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.3 Version SCSI interne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.4 Le pilote IMM pour le ZIP Plus - IMM driver . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.5 Version ATAPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.6 Version IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4 Configuration d’un noyau pour l’unité ZIP 8 4.1 Version SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.2 Pilote PPA pour 1.2.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.3 Le pilote PPA dans les noyaux actuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.4 Paramètres de ligne de commande de PPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5 Utilisation de l’unité ZIP 10 5.1 Identification de l’unité au démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.2 Fdisk, mke2fs, mount, etc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 5.3 Un disque formaté DOS existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 5.4 Re-formatage en tant que disque Linux natif . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.5 Le disque des outils ZIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

6 Performances 12

7 Questions fréquemment posées 13 7.1 Puis-je brancher une imprimante dans le port parallèle d’une unité ZIP? . . . . . . . . . . . 13 7.2 Avez-vous prévu le support des ports EPP/ECP dans PPA? . . . . . . . . . . . . . . . . . . . 14 7.3 Puis-je faire tourner Linux à partir d’une unité ZIP? . . . . . . . . . . . . . . . . . . . . . . . 14 7.4 Puis-je lancer le système à partir d’une unité ZIP? . . . . . . . . . . . . . . . . . . . . . . . . 14 7.5 Pourquoi le Iomega utilise la partition numéro 4? . . . . . . . . . . . . . . . . . . . . . . . . . 14 7.6 Comment puis-je avoir le disque monté au lancement? . . . . . . . . . . . . . . . . . . . . . . 14 7.7 Que se passe-t-il s’il n’y a pas de disque au lancement du système? . . . . . . . . . . . . . . . 15 7.8 Puis-je utiliser l’unité parallèle comme un vrai disque SCSI? . . . . . . . . . . . . . . . . . . . 15 7.9 PPA peut-il être utilisé avec le port parallèle des unités de bande? . . . . . . . . . . . . . . . 15 7.10 PPA fonctionnera-t-il avec le port parallèle SyQuest EZ135? . . . . . . . . . . . . . . . . . . . 15

8 Trouver l’information la plus récente 15

1 Introduction

Adaptation française : Albert-Paul Bouillot apb@club-internet.fr L’unité de disque amovible Iomega ZIP est répandue et disponible en plusieurs versions.

– port parallèle;

– SCSI;

– IDE - ATAPI;

– Plus.

La version Port Parallèle semble la plus populaire. Elle est disponible depuis un moment et bon marché. La version SCSI existe aussi depuis un moment, mais elle nécessite une carte scsi que beaucoup ne possèdent pas, et n’est donc pas aussi populaire. La version ATAPI semble maintenant plus disponible. La version Plus constitue la version la plus récente de l’unité ZIP. Elle peut détecter dans quel port elle est installée, scsi ou parallèle. Ce document concernera la version Port Parallèle, mais on y trouvera quelques conseils pour les autres versions. Ce document incorpore des informations collectées et publiées par d’autres, et en particulier par :

– Grant Guenther, grant@torque.net

– Scot Wilcoxon, sewilco@fielday.mn.org

– Joe Mack, mack@ncifcrf.gov

– Byron Jeff, byron@cc.gatech.edu

Je les remercie pour leurs importantes contributions, et assume la responsabilité des erreurs que j’ai pu introduire. Des remerciements spéciaux vont à Grant Guenther qui a écrit la version 0.26 du programme ppa ainsi que la version originale de cet HOWTO. Si vous découvrez des erreurs ou des omissions dans ce document, merci de m’en avertir. dansie@ibm.net

1.1 Site de référence de ce document

La version la plus récente de ce document se trouve à : <http://www.njtcom.com/dansie/zip-drive.html>

2 Mise En Route Rapide

Bon, vous avez acheté une nouvelle unité zip et maintenant, vous voulez l’utiliser. Quelques distributions possèdent déjà les modules installés. Pour les débutants, vous pouvez essayer insmod ppa. (Assurez-vous que l’unité est connectée et qu’elle contient un disque). Si le programme ppa n’est pas présent, il vous faut alors configurer le noyau. Ma machine possède 2 ports parallèles, un pour l’unité zip et l’autre pour l’imprimante. Cela rend les choses faciles : pas de permutations de câbles. Configuration du noyau :

– cd /usr/src/linux

– make xconfig

– scsi support = Y

– scsi disk support = Y

– mettre le support du Iomega zip en module

– mettre également le support de l’imprimante en module

– sauver ces paramètres et quitter

– make dep

– make clean

– make zImage ou zlilo ou zdisk

– make modules

– make modules_install Maintenant, pour utiliser l’unité :

– charger le module : insmod ppa

– créer un point de montage : mkdir /zip

– insérer un disque de préformaté de type windoze dans l’unité;

– monter le disque : mount -t vfat /dev/sda4 /zip

– utiliser les commandes habituelles pour les fichiers telles que l /zip, ls /zip, df, cp,

– Quand vous avez terminé : umount /zip Si vous avez des problèmes dans l’une quelconque des étapes ci-dessus, consultez les paragraphes suivants pour obtenir des instructions plus détaillées.

3 L’unité ZIP

Il existe au moins cinq ou six versions de l’unité Iomega ZIP 100. Elles acceptent toutes des cartouches spéciales qui ressemblent à des disques souples 3.5" qui peuvent contenir 100 megabytes de données. Les disques comportent, en fait, 96 cylindres de 2048 secteurs, chacun des secteurs stockant 512 bytes. On devrait donc normalement parler de 96 Megabytes.

L’unité externe est livrée dans les types suivants :

– Port Parallèle

– SCSI

– Plus

L’unité interne, quant à elle, est disponible dans les types :

– SCSI

– IDE

– ATAPI

Les versions internes peuvent être installées dans des emplacements pour unités 3.5 ou 5.25. Les versions externes sont dans une petite boîte bleue en plastique, dont l’alimentation se fait par un bloc mural externe.

Toutes les unités disposent d’un grand bouton poussoir en face avant. Il sert à éjecter le disque. Linux verrouille la porte pendant l’utilisation de l’unité, et si l’on pousse le bouton alors que la porte est bloquée, l’unité ZIP s’en souvient et éjecte le disque dès que le logiciel la déverrouille.

3.1 Version Port Parallèle

L’unité port parallèle ZIP dispose de deux connecteurs DB25, le mâle (DB25M) doit être connecté, avec le câble fourni, au port parallèle de l’ordinateur. L’autre (femelle, DB25F) est destiné au branchement, en parallèle, d’une imprimante. Linux 2.0.x ne supporte pas actuellement l’utilisation simultanée, et en parallèle, d’une unité ZIP et d’une imprimante. On peut contourner ce problème en utilisant les modules chargeables. Il n’y a pas de commutateurs de configuration. Ceci devrait changer dans les versions futures. Consultez

Linux Parallel Port Sharing Project <http://www.cyberelk.demon.co.uk/parport.html> pour avoir des

informations complémentaires.

Le pilote Linux est disponible en différentes versions. La version 0.26 du programme ppa.c est la version standard des noyaux 2.0.x. Consultez

David Campbell’s page <http://www.torque.net/~campbell/> pour connaître la version la plus récente de ce programme. Au moment de la rédaction de ce document, c’était la 1.41.

Le port parallèle de l’unité ZIP est compatible avec plusieurs types de ports parallèles, mais actuellement, la version 0.26 du pilote Linux ne supporte que le port Standard et bi-directionnel. Les versions les plus récentes supportent EPP. Si votre port parallèle possède des commutateurs de configuration ( soit matériels soit par l’intermédiaire d’un écran de configuration CMOS ), assurez-vous de configurer le port pour qu’il fonctionne dans l’un des deux modes du programme 0.26.

Assurez-vous que les câbles sont solidement connectés.

Consultez également le paragraphe 8 (Obtenir plus d’informations)

3.2 Version SCSI externe

La version SCSI externe de l’unité ZIP possède deux connecteurs DB25F, et deux commutateurs de configuration. L’un des commutateurs permet de choisir l’adresse de l’unité. Ce choix est limité aux numéros 5 et 6. L’autre permet, dans le cas de plusieurs unités chaînées, de mettre en fonction un circuit de charge interne, et alors, l’unité doit être la dernière de la chaîne. Les connecteurs 25 points SCSI sont câblés dans le style habituel du Macintosh. L’unité est livrée avec un câble de type Macintosh, mais vous pouvez obtenir facilement des câbles standards et des convertisseurs si vous utilisez un adaptateur hôte ayant un connecteur Centronics ou haute densité.

Je n’ai pas vu d’unité SCSI interne, mais je pense qu’elle doit avoir un connecteur standard 50 points DIP et les deux mêmes commutateurs.

Assurez-vous que l’adresse que vous choisissez pour votre unité n’entre pas en conflit avec d’autres périphériques SCSI que vous pouvez avoir sur le même bus. Assurez-vous également que le circuit de charge de la dernière unité, dans le cas d’unités chaînées, est bien en fonction, ou qu’un circuit de charge externe est connecté.

Si vous avez une unité de disque interne SCSI ou un lecteur de CD-ROM, et que vous connectez votre unité ZIP à l’adaptateur existant, vous devez regarder s’il n’y a pas à enlever une charge sur la carte. Uniquement les deux extrémités du bus SCSI doivent être chargées. Si votre bus est en partie interne et en partie externe, il doit y avoir une charge sur le dernier périphérique interne et une sur le dernier périphérique externe, mais rien sur la carte adaptatrice elle-même.

Assurez-vous que les câbles sont solidement connectés.

3.2.1 L’adaptateur hôte ZIP ZOOM

Iomega met sur le marché un adaptateur hôte SCSI sous le nom ZIP Zoom. Il est en réalité basé sur l’architecture de la famille d’adaptateurs Adaptec AHA1520. Il possède un connecteur externe DB25F du type Macintosh, compatible avec le câble livré avec l’unité ZIP.

Linux supporte cet adaptateur avec le pilote aha152x.

3.3 Version SCSI interne

Installer le matériel comme indiqué dans "Le Guide de Référence et d’Installation" en notant quels sont les SCSI ID, IRQ et adresse de port e/s doivent être utilisés. (Vous aurez besoin de ces informations plus tard.) Les choses se passeront mieux si l’unité et la carte adaptatrice utilisent différents identificateurs SCSI (SCSI ID).

Recompiler le noyau après l’avoir reconfiguré en y incluant le support de ’SCSI’, ’SCSI disk’ et ’AHA152X/2825’. INSTALLER LE NOUVEAU NOYAU :-(

Déterminer à quoi doit ressembler votre ligne de commande :

aha152x=[I/O Port][,IRQ][,SCSI ID][,RECONNECT][,PARITY]

Par exemple :

aha152x=0x140,10,7,1

Si vous utilisez LILO ajouter votre ligne de commande au fichier lilo.conf avec la commande append.

(ie. append = "aha152x=0x140,10,7,1")

Si vous utilisez LOADLIN ajouter votre ligne de commande à la commande que vous utilisez pour lancer loadlin.

(ie. loadlin c:\vmlinuz root=/dev/hda3 aha152x=0x140,10,5,1 ro)

3.4 Le pilote IMM pour le ZIP Plus - IMM driver

C’est une nouvelle version de l’unité Zip externe. Le Zip Plus n’utilise par le pilote ppa, à la place, il utilise le pilote imm . Philippe Andersson a envoyé cet excellent paragraphe sur le pilote imm driver pour le Zip Plus. Merci Philippe.

Attention : le développement de ce pilote en est encore à la phase alpha, ce qui signifie que 1./ vous ne le trouverez pas dans l’ensemble normal des fichiers sources du noyau (vous ne pourrez pas non plus le sélectionner avec make config et ses amis, naturellement) et 2./ il peut ne pas fonctionner dans votre configuration spécifique. Malgré cela, ne vous effrayez pas – continuer simplement et essayez-le.

D’abord, recréez votre noyau en y incluant les points suivants :

– support des modules

– support SCSI

– support des disques SCSI

– lp en tant que module (si vous en avez besoin)

Vous aurez noté que nous n’avons pas sélectionné de pilote SCSI de bas niveau. C’est normal – nous le créerons à part, ultérieurement.

Puis, vous aurez besoin du code source du pilote, que vous trouverez sur le site de Dave Campbell (http://www.torque.net/˜ campbell/imm.tar.gz

<http://www.torque.net/~campbell/imm.tar.gz>). La version 0.17 est la version en cours à la date de

rédaction de ce document (Août 98). Vous le décompacterez et le désarchiverez quelque part (sous /usr/src, par exemple). Puis vous lancerez simplement make. Vous obtiendrez alors le module dont vous avez besoin

(imm.o). Copiez le dans /lib/modules/$(uname -r)/scsi.

Si le module lp est chargé (vérifiez en utilisant lsmod(1)), déchargez-le (rmmod lp), puis chargez imm.o (insmod imm) et, dans l’ensemble, tout est configuré.

Si l’unité ZIP n’était pas connectée et sous tension à ce moment, vous aurez le message "init_module: Device or resource busy" (init_module : périphérique ou ressource occupé), et le module ne sera pas chargé. (À ce propos, il semblerait que vous n’ayez pas besoin de mettre votre PC hors tension pour connecter l’unité ZIP – assurez-vous simplement que le module n’est pas chargé et que l’unité n’est pas sous tension, puis branchez-la, mettez l’unité sous tension et chargez le module.)

Si l’unité ZIP est connectée et sous tension, mais qu’il n’y a pas de disque à l’intérieur, le module se chargera correctement, mais vous aurez un message disant qu’il est impossible de lire la table de partitions. Cela ne pose pas de problème puisque la table de partitions sera lue automatiquement lors de l’insertion du disque dans l’unité ZIP.

S’il y a un disque dans l’unité ZIP, l’information complète sera alors affichée, y compris une liste des partitions définies sur le disque et l’état de sa Protection en Écriture. Voici un exemple de message obtenu au moment du chargement :

vger:~# insmod imm
imm: Version 0.17
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:~#

Une dernière remarque pour mentionner que cette version du pilote verrouille la porte de l’unité lorsque le disque est monté. Si l’on appuie sur le bouton d’éjection dans cette situation, rien ne se passe, mais l’unité s’en "souvient" et éjecte le disque dès que celui-ci est démonté.

3.5 Version ATAPI

Une version IDE de l’unité a été produite pendant un certain temps. Je pense qu’elle a été remplacée par la version ATAPI.

Donald Stidwell a envoyé les commentaires suivants sur la version ATAPI. Merci Don.

J’utilise une unité ATAPI Zip qui fonctionne avec les noyaux 2.0.32 et 2.0.33. Je l’ai utilisée avec les deux distributions RH 5.0 et OpenLinux 1.2 ( distribution que j’utilise actuellement ). Pour la faire fonctionner sous OpenLinux, j’ai uniquement validé le support de disques souples ATAPI dans le noyau. OpenLinux n’a pas ce support compilé dans le noyau par défaut.

Il n’y a pas besoin d’autre pilote. L’unité sera montée comme partition étendue sur la partition 4. I.E, dans mon cas elle est montée sur HDB4. Je la monte sous /mnt/zip avec l’option noauto, bien que je suppose que cela ne crée aucun réel problème avec le montage automatique. Je fais simplement attention pour éjecter les disques. Je démonte (n.d.t. au sens Unix !) toujours l’unité avant d’éjecter une cartouche.

Il y a des instructions plus détaillées concernant l’installation pour ATAPI dans le numéro de Mai 1998 de la gazette Linux. Voir la section : le tuyau à 2 sous.

<http://www.linuxgazette.com/issue28/lg_tips28.html##atapi>

3.6 Version IDE

Je n’ai pas utilisé la version IDE. Eric Backus m’a envoyé ces commentaires. Merci Eric.

J’ai utilisé l’une d’entre elles. Je l’ai eue avec mon ordinateur Gateway 2000 il y a un an. Je pense que la plupart ont été livrées par de grandes compagnies OEM telles que celle-ci, avant que la version ATAPI de l’unité ZIP ne soit disponible.

La bonne nouvelle concernant cette unité : son support ne nécessite pas de modules du noyau ni de modifications. Elle est vue par le noyau comme une unité de disque dur IDE. Pour moi, elle a fonctionné sans difficultés avec les noyaux 2.0.31 and 2.0.32.

La mauvaise nouvelle concernant cette unité : comme elle n’utilise pas l’interface ATAPI, vous ne pouvez pas utiliser la translation SCSI-vers-ATAPI, ce qui signifie que vous ne pouvez pas utiliser mtools pour protéger les disques en écriture (ou les éjecter).

4 Configuration d’un noyau pour l’unité ZIP

Pour utiliser l’unité ZIP avec Linux, vous devez avoir un noyau configuré pour le support du système SCSI, le support des disques SCSI, et le support de l’adaptateur hôte que vous utilisez. Si la création d’un noyau ne vous est pas familière, vous devriez lire :

Linux Kernel HOWTO <http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html> pour information.

Vous devez commencer le processus de création du noyau par une étape de configuration. Là, vous identifiez les composants spécifiques du noyau dont vous avez besoin. Première étape cd /usr/src/linux. Il y a plusieurs manières de réaliser effectivement la configuration. Sous X window, j’utilise make xconfig. Il y a aussi make menuconfig ou make config en mode ligne de commande. La manière la plus simple est d’utiliser xconfig.

Dans la section SCSI Support sélectionnez SCSI support = Y. Sélectionnez également SCSI disk support = Y.

Dans la section SCSI low-level drivers vous sélectionnerez IOMEGA Parallel Port ZIP drive SCSI support = M. La lettre M signifie : modules.

Dans la section Character Devices cherchez et sélectionnez Parallell Printer support = M

Si vous avez quelques doutes concernants l’un de ces points, utilisez zdisk pour l’étape de création. Cela créera et installera le noyau sur une disquette. Comme cela, si vous cafouillez un peu, vous aurez encore un système en bon état, capable de démarrer, sur le disque dur.

Maintenant, avec les étapes suivantes, créez le noyau :

– make dep

– make clean

– make zImage ou zlilo ou zdisk

– make modules

– make modules_install

conseil si vous voulez créer un journal des messages de l’étape de création de zImage, vous pouvez utiliser

        make zImage 2>&1 | tee zImage.out

C’est vraiment une très bonne chose de le faire, car, si vous avez des erreurs de compilation ou d’autres conflits dans la configuration, vous aurez alors un fichier contenant les messages d’erreur ou les erreurs de compilation. En cas de demande d’aide, cela facilite les choses.

Il vous faut aussi charger les modules quelque part. Sur mon système, j’ai simplement ajouté une paire de lignes dans le fichier boot.local.

– insmod ppa

– insmod lp

J’utilise le système Suse 5.0 et ce fichier se trouve dans /etc/rc.d. La localisation de ce fichier change selon les distributions, mais il y a un fichier, quelque part, pour mettre les modifications locales à faire au moment du démarrage. Vous devez utiliser le fichier de votre distribution qui est destiné à cela.

Maintenant arrêt et redémarrage.

Vous pouvez également créer des modules pour tout ou partie du système SCSI. Si vous le faites, assurez vous de charger scsi.o, puis sd.o et finalement le pilote de votre adaptateur hôte avant d’essayer d’accéder à l’unité ZIP.

4.1 Version SCSI

Si vous avez déjà un disque SCSI dans votre système et que vous connectiez l’unité ZIP sur le même contrôleur, il n’y a pas de configuration supplémentaire à réaliser au niveau du noyau. Autrement, vous avez intérêt à créer un nouveau noyau.

Si vous créez un noyau pour supporter la version SCSI de l’unité ZIP, vous devrez sélectionner le support SCSI et le support de disque SCSI. Vous devez également sélectionner un pilote pour la carte d’interface que vous utiliserez. Si vous possédez un ZIP Zoom, choisissez le pilote aha152x.

Lisez bien la documentation concernant votre adaptateur dans le SCSI HOWTO ainsi que les fichiers README dans le sous-répertoire drivers/scsi de l’arborescence des sources de Linux. Faites attention aux paramètres de la ligne de commande que vous pourriez avoir à utiliser pour faciliter l’initialisation de votre adaptateur par le noyau.

Par exemple, si vous utilisez la carte ZIP Zoom, vous devrez ajouter quelque chose comme :

               aha152x=0x340,11,7,1

à la commande de démarrage (ou de l’inclure dans votre fichier /etc/lilo.conf dans une clause append). Cette ligne indique l’adresse du port et l’IRQ de votre carte ZIP Zoom - assurez-vous que ces chiffres correspondent à la façon dont la carte est configurée.

Vous devriez également lire le

BOOTPROMPT HOWTO <http://sunsite.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html>

de Paul Gortmaker pour avoir des informations concernant la configuration du noyau avec LILO ou LOAD-LIN.

4.2 Pilote PPA pour 1.2.13

Le noyau 2.0.x a été diffusé depuis longtemps maintenant. Si vous utilisez encore la version 1.2.13 ou quelque chose de plus vieux que 2.0.x S’il vous plaît, faites une mises à jour. Je ne répondrai pas aux questions concernant ces vieilles versions et je doute que l’un des développeurs ne le fasse.

4.3 Le pilote PPA dans les noyaux actuels

Depuis la version 1.3.74 le pilote ppa constitue un composant standard du noyau. Il y a eu des modifications dans d’autres parties du noyau, vers la version 1.3.78 qui ont nécessité une révision intermédiaire, mais depuis la version 1.3.85 le pilote est resté tout à fait stable à la version 0.26. Depuis que le gel de la version 2.0 de Linux est maintenant effective, je m’attends à ce que cette version 0.26 soit dans le prochain noyau stable.

Pour créer un noyau assurant le support de ppa, il faut inclure le support SCSI, le support de disque SCSI et sélectionner le support de Iomega ZIP / PPA-3 à partir d’une liste d’adaptateurs SCSI de bas niveau. Vous pouvez également créer le pilote en tant que module chargeable.

Pour ajuster le pilote, vous pouvez utiliser les paramètres de ligne de commande de /etc/lilo.conf ou de insmod. Tout ceci est documenté dans drivers/scsi/README.ppa, situé dans l’arborescence des sources du noyau. J’en ai mis un résumé dans le paragraphe suivant.

Si vous voulez utiliser à la fois les pilotes lp et ppa sur le même port parallèle, vous devez créer les deux en tant que modules chargeables et charger l’un ou l’autre à un moment donné, mais pas les deux en même temps.

Les caractéristiques des modules chargeables de Linux deviennent plus puissantes et également plus complexes chaque jour. Comme point de départ vous devriez lire le fichier Documentation/modules.txt dans l’arborescence des sources du noyau.

4.4 Paramètres de ligne de commande de PPA

Si ppa est présent dans votre noyau, vous pouvez ajuster ses paramètres à partir de la ligne de commande de LILO ou de LOADLIN en utilisant la syntaxe suivante :

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

Où base est l’adresse d’ e/s de votre port parallèle, speed_high est une constante de temporisation pour certaines boucles rapides du pilote, speed_low est un paramètre de temporisation similaire pour quelques boucles plus lentes et nybble est un drapeau pour forcer le pilote à utiliser le mode 4-bit, ou mode nybble, même s’il veut faire autrement.

Par exemple, les paramètres par défaut pourraient être spécifiés par :

            ppa=0x378,1,6,0

5 Utilisation de l’unité ZIP

S’il contient tous les composants requis, le noyau devrait reconnaître votre adaptateur et votre unité au moment du démarrage. Si vous utilisez un module chargeable pour votre pilote, ce qui suit ne s’applique qu’une fois le module chargé.

Les versions SCSI et parallèle de l’unité se comportent en grande partie de la même façon, sauf que la version parallèle est un peu plus lente.

5.1 Identification de l’unité au démarrage

Quand votre système démarre, il doit afficher un certain nombre d’informations concernant votre adaptateur, votre unité, et le disque se trouvant dans l’unité. Si vous n’avez pas de disque dans l’unité, une partie des informations fera défaut et n’apparaîtra que lorsque vous insérerez un disque et qu’ensuite vous y ferez référence (tenterez d’y accéder). On conseille aux utilisateurs débutants de démarrer leur système avec un disque dans l’unité - Comme cela, les choses sont moins déroutantes !

L’endroit d’apparition de ces messages dépend de la configuration de votre système. Il seront souvent affichés sur la console système, mais ils peuvent être redirigés dans un fichier journal tel que /var/adm/messages. Si vous n’arrivez pas à le trouver, d’habitude, vous pouvez retrouver les deux derniers écrans de messages du noyau avec la commande dmesg.

Si vous avez besoin de demander de l’aide à quelqu’un en quoi que ce soit, une copie de l’enregistrement de cette information est capitale. Essayer d’envoyer, avec votre rapport d’erreur, autant d’enregistrements de messages pertinents que vous pouvez.

Voici un exemple de ce à quoi peut ressembler un enregistrement des messages du noyau :

            scsi0 : PPA driver version 0.26 using 8-bit mode on port 0x378.

            scsi : 1 host.
            Vendor: IOMEGA    Model: ZIP 100           Rev: N*32
            Type:   Direct-Access                      ANSI SCSI revision: 02
            Detected scsi disk sda at scsi0, channel 0, id 6, lun 0
            scsi : detected 1 SCSI disk total.
            SCSI device sda: hdwr sector= 512 bytes. Sectors= 196608 [96 MB] [0.1 GB]
            sda: Write Protect is off
            Partition check: sda: sda1

Cette sortie provient d’un système 1.3.87 ayant une unité ZIP parallèle. La nature exacte de la sortie varie en fonction de votre adaptateur hôte et de la présence ou non d’autres unités SCSI dans votre système.

La première ligne affiche le message d’initialisation du pilote de bas niveau de l’adaptateur hôte, dans ce cas PPA. Ensuite, on trouve les informations d’identification renvoyées par chaque unité trouvée sur le bus SCSI. La ligne 5 affiche le nom d’unité affecté à l’unité, ici /dev/sda. Enfin, la dernière ligne donne le résultat du test de la partition du disque qui est dans l’unité. Celui-ci possède une partition, /dev/sda1. Ces rapports proviennent de différents modules du noyau. Si vous avez plus d’un adaptateur SCSI, ou plusieurs disques, chaque section contiendra plus d’informations.

Si vous utilisez un disque neuf, venant directement de Iomega, le test de partition doit vous indiquer une partition, /dev/sda4. Si vous avez d’autres unités SCSI, il faut vous attendre à ce que l’unité ZIP puisse apparaître sous un autre nom tel que /dev/sdb - aussi, consultez ces messages.

Si ces lignes n’apparaissent pas, alors, quelque chose n’est pas correctement configuré dans votre matériel ou dans le noyau. Vérifiez tout soigneusement avant d’envoyer un courrier.

Si la ligne scsi0: n’apparaît pas, alors, c’est que vous n’avez pas configuré correctement votre adaptateur hôte et son pilote. Quelques pilotes vous donnent une idée de ce qui ne va pas. Si votre unité n’est pas détectée, vous avez probablement un problème de câble. S’il n’y a pas d’affectation de nom d’unité, vous avez probablement oublié d’inclure le support des disques SCSI lorsque vous avez créé le noyau.

Consultez les fichiers README dans drivers/scsi et le SCSI HOWTO pour avoir d’autres conseils de mise au point.

5.2 Fdisk, mke2fs, mount, etc.

Une fois que vous connaissez le nom de votre unité ZIP, vous êtes prêts. Vous pouvez manipuler l’unité avec les commandes Linux normales de gestion des disques. On utilise fdisk (ou éventuellement cfdisk) pour gérer les tables de partition du disque. On peut utiliser mke2fs pour formater une partition utilisant le système de fichiers ext2 - le plus couramment utilisé sous Linux. On utilise mount pour connecter (monter) une partition formatée à la hiérarchie des répertoires.

Vous devez étudier les pages de manuel concernant ces outils s’ils ne vous sont pas familiers. Il y a maintenant plusieurs versions très différentes du programme fdisk - Faites attention.

Je vais maintenant décrire deux scénarios habituels.

5.3 Un disque formaté DOS existant

Si vous avez un disque ZIP, créé à l’origine à l’aide des outils Iomega, ayant une structure de fichiers DOS, la vérification de la partition vous indiquera que le disque possède une partition, /dev/sda4.

Vous devez créer un point de montage du disque, disons /zip, puis le monter en tant que système de fichier MS-DOS :

            mkdir /zip

            mount -t vfat /dev/sda4 /zip

Vous pouvez également utiliser msdos au lieu de vfat. vfat supporte les noms de fichiers longs alors que msdos ne le fait pas. Maintenant, les fichiers du disque doivent apparaître dans le répertoire /zip. Tant que le disque sera monté, il vous sera impossible de l’enlever. Quand vous en avez fini avec le disque, vous pouvez le démonter pour le libérer et l’enlever de la hiérarchie des répertoires.

            umount /zip

Une fois que vous avez créé le point de montage /zip - vous n’avez plus à le refaire, et donc vous pouvez y revenir plus tard et y monter autre chose.

5.4 Re-formatage en tant que disque Linux natif

Si vous voulez effacer un disque ZIP et créer dessus un système de fichiers Linux natif, vous devrez utiliser fdisk pour la totalité du disque :

            fdisk /dev/sda

puis supprimer toutes les partitions existantes (au moyen de la commande d ), créer une nouvelle partition avec la commande n, la déclarer partition primaire numéro 1, utiliser w pour écrire la table de partition sur le disque et enfin quitter fdisk avec la commande q.

Formatage de la partition

            mke2fs /dev/sda1

(Le 1 est le numéro que vous avez donné à cette partition avec fdisk). Maintenant, vous pouvez monter le disque :

            mount -t ext2 /dev/sda1 /zip

(en réutilisant le point de montage que vous avez créé précédemment).

5.5 Le disque des outils ZIP

Il y a du travail supplémentaire à accomplir si vous voulez utiliser le disque livré avec l’unité ZIP. A la livraison, la protection en écriture logicielle est activée. Mais plupart des gens déverrouillent le disque sous DOS avant d’essayer de l’utiliser sous Linux. Linux ne peut pas accéder à un disque verrouillé, il doit être déverrouillé auparavant en utilisant les outils Iomega.

Entre autres choses, on attend pour bientôt un programme de gestion de la protection en écriture écrit pour Linux.

6 Performances

La version 0.26 du programme ppa.c est incluse dans les versions standards des noyaux 2.0.x. C’est un programme simple et très fiable. Il a été très utilisé et s’est comporté particulièrement bien. Sa lenteur constitue le seul point négatif concernant ce programme. Sur ma machine, j’ai la version 2.0.30 du noyau et 2 ports parallèles. C’est une machine pentium 133 économique - 16 meg de mémoire, un disque maxtor eide de 5 giga maxtor. La machine m’a coûté 500 Dollars U.S. et l’unité ZIP 250. Je fais à l’économie, mais c’est comme çà.

J’avais l’unité ZIP sur le second port et l’imprimante sur le premier. Le second port consistait en une vieille carte d’extension, sans mode epp. Ce qui faisait fonctionner l’unité en mode 4 bits.

Pour établir une base de comparaison des performances, j’ai copié le fichier tar de netscape du disque dur vers l’unité ZIP. Ce fichier fait environ 10.6 meg. La copie s’est effectuée en 7 minutes 15 secondes. Pour copier du ZIP vers le disque dur cela a duré 7 minutes pile. Pas vraiment un foudre de guerre.

J’ai alors effectué deux modifications. En premier lieu, j’ai mis l’unité ZIP sur le premier port et activé le mode EPP dans le bios pour le premier port. En même temps, j’ai connecté l’imprimante sur le second port.

Deuxième modification, j’ai télé-chargé la nouvelle version du programme de David Campbells page <http: //www.torque.net/~campbell/> Puis je l’ai installé. Consultez le fichier README qui est inclus.

Alors, j’ai exécuté le même test de copie, dans les deux sens, du fichier tar de Netscape sur l’unité ZIP. La copie vers le disque C a duré 1 minute 55 secondes et du disque dur vers l’unité ZIP, 1 minute tout juste. Temps a comparer aux 7’15" et 7’00" obtenus avec l’ancien programme. C’était une grosse amélioration par rapport au programme version 0.26. Tout ceci ayant été effectué en utilisant l’unité ZIP avec un système de fichiers de type.

Ensuite, j’ai formaté un disque ZIP au format ext2. Puis, j’ai relancé les mêmes tests. La copie vers le disque dur n’a duré que 50 secondes. La copie du disque dur vers l’unité ZIP seulement 40 secondes.

Résumé des performances

Pour ce test consistant à copier un fichier de 10.6 meg, le mode port standard 4 bits et le programme version 0.26 donne le résultat le plus lent 7’00" et 7’15"

Le nouveau programme (1.41) le mode EPP avec un système de fichiers de type ext2 est le plus rapide à 50 secondes and 40 secondes.

7 Questions fréquemment posées

Voici quelques questions qui m’ont souvent été posées. Merci de lire les réponses qui suivent avant de me les poser à nouveau !

7.1 Puis-je brancher une imprimante dans le port parallèle d’une unité ZIP?

Oui, mais. Actuellement, vous ne pouvez pas avoir à la fois, les pilotes lp et ppa actifs sur le même port parallèle. Un protocole de partage de ressources a été conçu et son implémentation en est à ses débuts, mais il ne sera pas disponibles avant la sortie de la version 2.2.0 de Linux.

Si vous aimez vivre à la pointe des choses, récupérez le noyau version 2.1.x et vous disposerez du partage des ports. Consultez

<http://www.cyberelk.demon.co.uk/parport.html>

La présence de deux ports parallèles constitue la meilleure solution avec un noyau 2.0.x. J’ai acheté mon second port environ 15 dollars et il fonctionne parfaitement. Vous pouvez en utiliser un pour l’impression et l’autre pour l’unité ZIP. Vous avez juste à créer un noyau avec les pilotes lp et ppa en modules. J’utilise la nouvelle version (1.41) de ppa, et donc, je n’ai qu’à charger en premier ppa (insmod ppa). Il détecte alors l’unité ZIP sur le premier port. Puis je charge lp (insmod lp) et il affecte l’imprimante au second port.

Si vous utilisez la version 0.26 du programme, il faut alors inclure lp and ppa comme composants du noyau, (pas comme des modules). Mettez alors quelques commandes de configuration appropriées dans la ligne de commande du noyau. Par exemple, si vous utilisez LILO et que vous ayez une imprimante en 0x378 et une unité ZIP en 0x3bc vous devrez ajouter la ligne suivante à votre fichier /etc/lilo.conf.

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

7.2 Avez-vous prévu le support des ports EPP/ECP dans PPA?

La version 0.26 du programme ne supporte pas EPP. La version 1.41 supporte EPP. Ce programme est également beaucoup plus rapide. Regardez le paragraphe concernant les performances pour avoir plus de détails.

7.3 Puis-je faire tourner Linux à partir d’une unité ZIP?

Certains l’on fait. On peut penser que cela puisse faire un grand disque de secours ou une méthode pour tester une installation.

<http://sunsite.unc.edu/LDP/HOWTO/mini/ZIP-Install.html>

7.4 Puis-je lancer le système à partir d’une unité ZIP?

Cela dépend de ce que vous utilisez comme adaptateur hôte. Si celui-ci possède une BIOS ROM dont le code puisse permette de démarrer des unités 5 ou 6, alors, oui, vous pouvez lancer le système à partir de l’unité ZIP SCSI. Il n’est pas possible de lancer le système à partir d’une unité port parallèle.

Si vous avez DOS sur votre disque principal et que vous désirez lancer le système Linux d’un disque ZIP, vous pouvez le faire en utilisant le chargeur de lancement LOADLIN. L’image de votre noyau doit être quelque part sur votre disque DOS, mais le reste du système Linux peut résider sur le ZIP. Assurez-vous que le noyau contient les pilotes corrects.

Pour autant que je le sache, il n’y a aucune disquette de lancement dans les distributions populaires qui contienne un pilote pour l’unité ZIP parallèle.

7.5 Pourquoi le Iomega utilise la partition numéro 4?

C’est l’une des questions les plus fréquentes, mais je pense que personne ne détienne de réponse définitive. Peut-être ont-ils la tête dans un lieu où le soleil ne brille pas. Peut-être n’y a-t-il aucune raison.

7.6 Comment puis-je avoir le disque monté au lancement?

Tout ce dont vous avez besoin, c’est d’ajouter une ligne à votre fichier /etc/fstab. Par exemple, si vous voulez toujours avoir un disque DOS dans l’unité au lancement, vous pouvez mettre

            /dev/sda4   /zip  vfat  defaults  0 0

dans le fichier fstab. Selon votre distribution, les scripts d’initialisation peuvent essayer d’exécuter fsck sur les partitions dont la liste est dans votre fichier fstab. Rappelez-vous que cela peut vous causer des problèmes si vous oubliez de mettre le disque dans l’unité au lancement ou si vous n’avez pas le bon disque en place.

7.7 Que se passe-t-il s’il n’y a pas de disque au lancement du système?

Le noyau va essayer de lire la table de partition, mais l’opération va échouer. Il n’y a pas à s’en faire. Une fois que vous aurez inséré le bon disque et que vous essaierez de travailler avec, le noyau s’apercevra qu’il y a maintenant un disque et relira la table de partition.

CONSEIL : quand vous changez les disques, c’est une bonne idée de toujours utiliser fdisk pour vérifier la structure de la partition sur le nouveau disque.

Le BIOS, avec quelques adaptateurs hôtes SCSI, essaiera de lire la table de partition du disque pendant le lancement du système. Si vous ne pouvez pas désactiver cette option, vous pouvez être obligé de toujours lancer votre système avec un disque dans l’unité.

7.8 Puis-je utiliser l’unité parallèle comme un vrai disque SCSI?

L’adaptateur parallèle-vers-SCSI PPA-3 est réalisé dans un simple circuit ASIC appelé VPI0 par Iomega. Il est intégré sur la carte contrôleur de l’unité ZIP. Il y a un vrai bus SCSI, mais il n’est pas utilisable.

Bien que je n’ai pas essayé de comparer les deux cartes, il semble logique que le VPI0 remplace les circuits électriques tampons conventionnels qui seraient nécessaires si le bus SCSI était étendu à l’extérieur de l’ensemble.

7.9 PPA peut-il être utilisé avec le port parallèle des unités de bande?

Non. Ces unités sont des unités de bandes souples. Il n’est pas question de SCSI.

Plusieurs personnes ont manifesté leur intérêt dans l’application de mes méthodes pour essayer de déterminer le protocole et développer un pilote pour ces unités de bande. La première étape de ce processus consiste à trouver un pilote DOS qui fonctionne sous DOSemu. Je n’ai pas entendu parler de quelqu’un qui aurait réussi à le faire.

7.10 PPA fonctionnera-t-il avec le port parallèle SyQuest EZ135?

Non. L’EZ135 est une unité IDE avec un convertisseur de port parallèle ShuttlePort vers IDE intégré.

Cependant un certain nombre de travaux ont été effectués sur ce pilote. Consultez :

<http://www.torque.net/linux-pp.html>

8 Trouver l’information la plus récente

On peut trouver les versions du programme (ppa.c) et les informations techniques sur le pilote les plus récentes concernant l’unité ZIP port parallèle à

<http://www.torque.net/~campbell/>

On peut trouver des informations sur de nombreux pilotes de périphériques externe utilisant un port parallèle à

<http://www.torque.net/linux-pp.html>

L’information sur le partage du port parallèle se trouve à

<http://www.cyberelk.demon.co.uk/parport.html>

Installation de Linux à partir d’une unité zip (pour les machines sans CD)

<http://sunsite.unc.edu/mdw/HOWTO/mini/Install-From-ZIP.html>

On peut trouver un frontal X pour le programme ziptool à

<http://www.scripps.edu/~jsmith/jazip/>

On peut trouver l’information sur la configuration de Lilo à

<http://sunsite.unc.edu/mdw/HOWTO/mini/LILO.html>

On peut trouver l’information sur l’utilisation des options de lancement à

<http://sunsite.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html>

Si vous voulez installer le système d’exploitation Linux sur un disque ZIP et que vous vouliez l’exécuter à partir de l’unité ZIP

<http://sunsite.unc.edu/LDP/HOWTO/mini/ZIP-Install.html>

Les pages web de Iomega sont à

<http://www.iomega.com/>.

Et si vous chercher de l’information générale concernant la programmation du port parallèle du PC, vous pouvez visiter

<http://www.lvr.com/parport.htm>