Zip Drive Mini-HOWTO
 Kyle Dansie, [email protected]
 v2.2, 26 agosto 1998

 Questo documento fornisce una veloce guida di riferimento alla config�
 urazione e all'utilizzo di un lettore ZIP sotto Linux.  Traduzione di
 Giovanni Bortolozzo (borto at pluto.linux.it).

 1.  Introduzione

 Il lettore Iomega ZIP � un dispositivo a dischi rimovibili piuttosto
 popolare.  � disponibile in diverse versioni:

 �  Parallel Port

 �  SCSI

 �  IDE - ATAPI

 �  Plus

 La pi� popolare sembra essere la versione per porta parallela.  � in
 giro da diverso tempo e costa abbastanza poco.  Anche la versione SCSI
 � disponibile da un po', ma poich� necessita di una scheda SCSI che
 molti non hanno a disposizione, non � cos� popolare come la
 precedente.  In questo momento, la versione ATAPI sembra essere quella
 pi� facilmente reperibile.  La Plus � la versione pi� recente del
 lettore ZIP: ha la capacit� di rilevare automaticamente a quale porta
 (parallela o scsi che sia) � connesso.  Questo documento � incentrato
 sulla versione per porta parallela, ma offre anche alcune dritte per
 le altre versioni.


 Questo documento incorpora informazioni collezionate e pubblicate da
 altri, in particolare:

 �  Grant Guenther, [email protected]

 �  Scot Wilcoxon, [email protected]

 �  Joe Mack, [email protected]

 �  Byron Jeff, [email protected]


 Li ringrazio per i loro importanti contributi, ed accetto la
 responsabilit� per qualsiasi errore io abbia introdotto.

 Un ringraziamento particolare a Grant Guenther che scrisse la versione
 0.26 del programma ppa oltre alla versione originale di questo HOWTO.
 Se si trova un errore qualsiasi o inesattezze in questo documento, mi
 si informi. [email protected]


 1.1.  Dove reperire questo documento

 La versione pi� aggiornata di questo documento risiede a
 <http://www.njtcom.com/dansie/zip-drive.html>

 Per la traduzione italiana si faccia riferimento alla home page
 dell'Italian Linux Documentation Project
 <http://wwww.pluto.linux.it/ildp/>.




 2.  Partenza a Razzo

 OK, si � comprato un nuovo lettore ZIP ed ora si vuole usarlo.  Alcune
 distribuzioni dispongono del modulo gi� compilato.  Si pu� provare a
 dare insmod ppa per cominciare (ci si assicuri di averlo collegato e
 di aver inserito un disco).  Se non c'� il programma ppa, allora
 bisogna configurare il kernel.  La mia macchina ha due porte
 parallele, una per lo ZIP e l'altra per la stampante.  Ci� rende le
 cose semplici, senza bisogno di scambiare i cavi.

 Configurazione del kernel:


 �  cd /usr/src/linux


 �  make xconfig


 �  supporto per scsi = Y


 �  supporto per scsi disk = Y


 �  supporto per Iomega zip come modulo


 �  supporto per la stampante anche questo come modulo


 �  salvare ed uscire


 �  make dep


 �  make clean


 �  make zImage oppure zlilo o zdisk


 �  make modules


 �  make modules_install


 Ora per usare il lettore:


 �  caricare il modulo: insmod ppa


 �  creare un mount point: mkdir /zip


 �  inserire un dischetto preformattato per win$ozz nel lettore.


 �  montare il disco: mount -t vfat /dev/sda4 /zip


 �  usare qualsiasi comando per i file : l /zip, ls /zip, df, cp,

 �  quando si ha finito:  umount /zip


 Se si hanno problemi con uno qualsiasi dei passi precedenti, si vedano
 le sezioni che seguono per istruzioni pi� dettagliate.



 3.  Il lettore ZIP

 Ci sono almeno cinque o sei versioni del lettore Iomega ZIP 100. Tutte
 accettano speciali cartucce simili ai dischetti da 3.5" che possono
 contenere 100 megabyte di dati.  Il realt� il disco contiene 96
 cilindri di 2048 settori ognuno da 512 byte di capacit�, ovvero un
 totale di 96 Megabyte.

 Il lettore esterno � disponibile in tre varianti:


 �  Parallel port


 �  SCSI


 �  Plus


 mentre il lettore interno � disponile nelle seguenti varianti:


 �  SCSI


 �  IDE


 �  ATAPI


 Le versioni interne possono essere installate in uno slot per i
 lettori da 3.5" o da 5.25". Le versioni esterne sono racchiuse in un
 piccolo case di plastica blue, ed alimentate con un alimentatore
 esterno.

 Tutti i lettori hanno un grosso bottone sul pannello anteriore, che
 serve per espellere il disco.  Linux blocca la porta mentre sta usando
 il drive, ma se viene premuto il bottone mentre questa � bloccata, il
 lettore ZIP se ne ricorder� ed espeller� il disco non appena il
 software la sblocca.


 3.1.  Versione per porta parallela (Parallel port)

 Il lettore ZIP per porta parallela ha due connettori DB25, il maschio
 (DB25M) deve essere connesso con il cavo parallelo fornito alla porta
 parallela del proprio computer.  L'altro (la femmina, DB25F) � pensato
 per supportare una stampante in catena.  Linux 2.0.x attualmente non
 supporta l'uso simultaneo di un lettore ZIP e di una stampante in
 catena.  � possibile aggirare il problema utilizzando i moduli
 caricabili.  Non ci sono opzioni di configurazione.  Probabilmente
 questo cambier� in versioni future.  Si veda il Linux Parallel Port
 Sharing Project <http://www.cyberelk.demon.co.uk/parport.html> per
 maggiori informazioni.


 Il driver per Linux � disponibile in un paio di versioni diverse. La
 versione 0.26 del programma pppa.c � distribuita assieme ai kernel
 2.0.x.  Si veda la homepage di David Campbell
 <http://www.torque.net/~campbell/> per maggiori informazioni su questo
 programma.  Durante la stesura di questo documento, l'ultima la
 versioni disponibile era la 1.41.


 Il lettore ZIP per porta parallela � compatibile con diversi tipi di
 porte parallele, ma attualmente la versione 0.26 del driver per Linux
 supporta solo le porte standard e bidirezionali.  Le versioni pi�
 recenti supportano EPP.  Se la propria porta parallela ha opzioni di
 configurazione (in hardware o nella schermata di setup CMOS) ci si
 assicuri di impostare la porta in di queste due modalit� per il
 programma 0.26.

 Ci si assicuri che tutti i cavi sia bene attaccati.

 Si veda inoltre la sezione ``Ottenere maggioni informazioni''.


 3.2.  Versione SCSI esterna

 La versione SCSI esterna del lettore ZIP ha due connettori DB25F, e
 due switch di configurazione.  Uno switch seleziona l'indirizzo di
 destinazione del lettore.  La scelta � limitata agli indirizzi 5 o 6.
 L'altro abilita un terminatore interno, nel caso il lettore sia
 l'ultimo di una catena.  I connettori SCSI a 25 pin usano l'ormai
 familiare collegamento in stile Macintosh.  Il lettore � venduto con
 un cavo di tipo Macintosh, ma cavi standard e convertitori sono
 facilmente reperibili nel caso si usi un controller SCSI con
 connettore Centronics o ad alta densit�.

 Non ho visto un lettore SCSI interno, ma mi aspetto abbia un
 connettore SCSI di tipo DIP a 50 pin con gli stessi due switch.

 Ci si assicuri che l'indirizzo di destinazione scelto non sia in
 conflitto con altri dispositivi SCSI presenti nello stesso bus.  Ci si
 assicuri inoltre che l'ultimo drive fisico della catena abbia la
 terminazione attivata o di installare un terminatore esterno.

 Se si ha un disco SCSI interno o un CD-Rom, e si connette il proprio
 ZIP ad un controller gi� a disposizione, si dovrebbe controllare che
 non ci siano altri terminatori nella scheda che debbano essere
 rimossi.  Solo le due terminazioni estreme del bus SCSI devono essere
 terminate.  Se il proprio bus � parzialmente interno e parzialmente
 esterno, ci dovrebbe essere essere un terminatore nell'ultimo
 dispositivo esterno ed uno nell'ultimo dispositivo interno, ma non ci
 dovrebbero essere terminatori nella scheda stessa.

 Assicurarsi che tutti i cavi siano ben fissati.


 3.2.1.  Il controller ZIP ZOOM

 Iomega produce un controller SCSI chiamtato ZIP Zoom.  Questo si basa
 in pratica sulla famiglia di adattatori Adaptec AHA1520.  Ha un
 connettore esterno DB25F di tipo Macintosh, compatibile con il cavo
 venduto assieme al lettore ZIP.

 Linux supporta questo adattatore con il driver aha152x.





 3.3.  La versione SCSI Interna



 Si installi l'hardware come descritto nella "Installation and
 Reference Guide", annotando quale SCSI ID, IRQ e indirizzo di porta
 I/O sono stati usati (queste informazioni saranno usate pi� tardi).
 Le cose andranno subito lisce se il lettore ed il controller usano
 diversi ID SCSI.

 Si ricompili il kernel dopo aver configurato ed incluso il supporto
 per 'SCSI', 'SCSI disk' e 'AHA152X/2825'.  INSTALLARE IL NUOVO KERNEL
 :-(

 Si dermini qual � la riga di comando da passare al kernel:

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

 Per esempio:

   aha152x=0x140,10,7,1

 Se si usa LILO si aggiunga la riga di comando per il kernel al proprio
 file lilo.conf, usando il comando append.

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

 Se si usa LOADLIN si aggiunga la riga di comando per il kernel al
 comando usato per inizializzare loadlin.

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




 3.4.  Lo ZIP Plus - il driver IMM

 Questa � una nuovissima versione del lettore ZIP esterno.  Lo Zip Plus
 non usa il driver ppa: usa invece il driver imm.  Philippe Andersson
 ha inviato questa eccellente sezione sul driver imm per lo Zip Plus.
 Grazie Philippe.



 Attenzione: lo sviluppo di questo driver � allo stato alpha, il che
 significa che 1./ non lo si trover� nel normale albero di sorgenti del
 kernel di linux (e, ovviamente, nemmeno si sar� in grado di
 selezionarlo da make config e compagnia bella) e 2./ potrebbe non
 funzionare nella propria configurazione.  Ma non si abbia
 paura...semplicemente lo si prenda e lo si testi.

 Per prima cosa si ricompili il proprio kernel per includere le
 seguenti cose:


 �  supporto per i moduli

 �  supporto SCSI

 �  supporto per dischi SCSI

 �  lp come modulo (se serve)

 Si noter� che non si � selezionato alcun driver SCSI a basso livello.
 Ok, va tutto bene...lo si compiler� separatamente pi� tardi.

 Adesso, bisogna procurarsi il codice sorgente del driver dalla home
 page di Dave Campbell (http://www.torque.net/~campbell/imm.tar.gz).
 La versione 0.17 � quella corrente mentre sto scrivendo questo
 documento (agosto 98).  Si faccia l'unzip e l'untar di questo da
 qualche parte (ad esempio sotto /usr/src).   Poi semplicemente, si
 lanci make.  Si otterr� il modulo di cui si ha bisogno (imm.o).  Lo si
 copi in /lib/modules/$(uname -r)/scsi.

 Se � caricato il modulo lp (si controlli con lsmod(1)), lo si scarichi
 (rmmod lp), e poi si carichi imm.o (insmod imm), e tutto dovrebbe
 essere a posto.

 Se il lettore ZIP non � connesso e alimentato quando si fa questa
 operazione, si ricever� il messaggio "init_module: Device or resource
 busy", e il modulo non sar� caricato (si potrebbe pensare che a questo
 punto sia necessario spegnere il PC e connettore lo ZIP, in realt�
 basta assicurarsi che il modulo non sia caricato e il lettore sia
 spento, poi basta collegarlo, accenderlo e caricare il modulo).

 Se lo ZIP � connesso ed acceso, ma non c'� un disco al suo interno, il
 modulo si caricher� e si otterr� un messaggio che dice che non � in
 grado di leggere la tavola delle partizioni del disco.  Nessun
 problema, in quanto la tavola delle partizioni sar� letta
 automaticamente quando si inserisce uno ZIP.

 Se c'era uno ZIP, verr� mostrata una serie completa di informazioni,
 compreso un elenco delle partitizioni definite nel disco ed il loro
 stato di protezione dalla scrittura.  Ecco qui un esempio del
 messaggio che si ottiene quando viene caricato il modulo:


 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:~#



 Un ultimo punto da sottolineare � che questa versione del driver
 blocca anche la porta del lettore quando � montato il disco.  Se viene
 premuto il tasto di eject in questa situazione non succede niente, ma
 il lettore se ne "ricorder�" ed espeller� il disco non appena viene
 smontato.


 3.5.  Versione ATAPI

 Per un certo periodo � stata in produzione una versione IDE del
 lettore.  Penso che adesso sia stata rimpiazzata dalla versione ATAPI.

 Donald Stidwell mi ha spedito questi commenti sulla versione ATAPI.
 Grazie Don.
 Uso il lettore Zip ATAPI e funziona sia con il kernel 2.0.32 che con
 il 2.0.33.  L'ho usato sia sotto RH 5.0 che sotto OpenLinux 1.2 (la
 distribuzione che uso attualmente).  Per farlo funzionare sotto
 OpenLinux, ho semplicemente abilitato il supporto per il floppy ATAPI
 nel kernel.  OpenLinux non ha questo supporto compilato di default.

 Non � necessario nessun altro driver.  Sar� montato come una
 partizione estesa sulla partizione 4, i.e. il mio si monta su hdb4.
 Lo monto sotto /mnt/zip con l'opzione noauto, sebbene sono sicuro che
 non ci siano problemi reali con l'automount.  Una piccola nota
 sull'espulsione dei dischi: io smonto sempre il disco prima di
 espellerlo.

 Ci sono istruzioni pi� dettagliate per l'installazione della versione
 ATAPI nel numero di maggio 1998 della Linux Gazette.  Si veda la
 sezione "2 cent tip".

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



 3.6.  Versione IDE


 Non ho usato la versione IDE.  Eric Backus mi ha spedito questi
 commenti.  Grazie Eric.

 Io ne ho uno.  Mi � stato dato assieme al mio computer Getaway 2000
 circa un anno fa.  Penso che la maggior parte di questi lettori siano
 stati venduti da grosse compagnie OEM come questa, prima che fosse
 disponibile la versione ATAPI del lettore ZIP.

 Le buone nuove su questo lettore: per supportarlo non � necessario
 alcun modulo o modifica del kernel.  Appare al kernel come un normale
 disco fisso IDE.  Io l'ho usato senza problemi con i kernel 2.0.31 e
 2.0.32.

 Le cattiva notizie su questo lettore: poich� non usa ATAPI, non pu�
 usare la "SCSI-to-ATAPI translation", il che implica che non �
 possibile usare gli mtools per proteggere in scrittura i dischi (o per
 espellerli, per quanto possa importare).



 4.  Configurare un kernel per il lettore ZIP

 Per usare un lettore ZIP con Linux, si deve avere un kernel
 configurato con il supporto per il sistema SCSI, il supporto per i
 dischi SCSI ed il supporto per il controller che si usa.  Se non si ha
 familiarit� con la compilazione del kernel, si dovrebbe dare un letta
 al Linux Kernel HOWTO <http://sunsite.unc.edu/mdw/HOWTO/Kernel-
 HOWTO.html> per maggiori informazioni.

 Si deve cominciare il processo di costruzione di un kernel con un
 passo di configurazione. Qui vengono identificati i componenti
 specifici del kernel di cui si ha bisogno.  Il primo passo � un bel
  cd /usr/src/linux.  Ci sono diversi modi per fare la configurazione.
 Sotto X windows io uso make xconfig.  C'� anche make menuconfig o make
 config per l'ambiente testo.  Il modo pi� facile � con xconfig.

 Nella sezione SCSI Support si imposti SCSI support = Y.  Si imposti
 pure SCSI disk support = Y.

 Nella sezione SCSI low-level drivers si deve impostare IOMEGA Parallel
 Port ZIP drive SCSI support = M. La M sta per modulo.

 Nella sezione Character Devices si trovi e si imposti Parallell
 Printer support = M.

 Se non si � proprio sicuri di alcune di queste cose, si usi zdisk per
 il passo di make.  Questo construir� e installer� il kernel in un
 floppy.  Se si � cannato qualcosa, si avr� ancora un sistema avviabile
 dal disco fisso.

 Ora si costruisca il kernel con questi passi:


 �  make dep


 �  make clean


 �  make zImage oppure zlilo o zdisk


 �  make modules


 �  make mdoules_install


 Suggerimento se si vuole registrare l'output del passo make zImage, si
 pu� usare



         make zImage 2>&1 | tee zImage.out





 Questa � proprio una buona cosa da fare, in quanto in caso di errori
 di compilazione o altri conflitti nella configurazione, si avr� un
 file con i messaggi d'errore o gli errori di compilazione.  Inoltre
 ci� rende la richiesta d'aiuto molto pi� semplice.

 � poi necessario caricare i moduli da qualche parte. Nel mio sistema
 ho semplicemente aggiunto un paio di righe al file boot.local.


 �  insmod ppa


 �  insmod lp


 Il mio sistema � una Suse 5.0 e questo file � in /etc/rc.d.  La
 posizione di questo file varier� da distribuzione a distribuzione, ma
 ci sar� un file da qualche parte per fare le modifiche locali al
 processo di avvio.  Si dovrebbe usare il file che meglio si applica
 alla propria distribuzione.

 Ora si faccia lo shutdown ed il reboot.

 Si possono costruire anche tutte le parti del sistema SCSI come
 moduli.  Se si fa questo, ci si assicuri di caricare scsi.o, poi sd.o
 ed alla fine il driver per il proprio controller, prima di provare ad
 accedere al lettore ZIP.


 4.1.  Versione SCSI

 Se gi� si ha un disco SCSI nel proprio sistema, e si sta per
 connettere il lettore ZIP allo stesso controller, non serve una
 ulteriore configurazione del kernel.  Diversamente, abbastanza
 facilmente di dovr� costruire un nuovo kernel.

 Se si sta per costruire un kernel per supportare la versione SCSI del
 lettore ZIP, si dovrebbe selezionare il supporto SCSI ("SCSI support")
 ed il supporto per i dischi SCSI ("SCSI disk support").  Si dovr�
 inoltre selezionare un driver per la scheda di interfaccia che si
 user�.  Se si ha una ZIP Zoom, si selezioni il driver aha152x.

 Ci si assicuri di leggere la documentqzione per il proprio adattatore
 nello SCSI HOWTO ed in qualsiasi file README nella sottodirectory
 driver/scsi dell'albero dei sorgenti di Linux.  Si faccia attenzione
 ai parametri di riga di comando che di possono usare per aiutare il
 kernel ad inizializzare il proprio adattatore.

 Per esempio, se si usa una scheda ZIP Zoom, si dovr� aggiungere
 qualcosa del tipo



                aha152x=0x340,11,7,1




 al comando di boot (od includerlo nel proprio file /etc/lilo.conf in
 una clausola append).  Questo imposta l'indirizzo della porta e l'IRQ
 della propria scheda ZIP Zoom - ci si assicuri che i numeri
 corrispondano al modo in cui si sono impostati i jumper.

 Si dovrebbe inoltre leggere il BOOTPROMPT HOWTO
 <http://sunsite.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html> di Paul
 Gortmaker per informazioni sulla configurazione del kernel con LILO o
 LOADLIN.


 4.2.  Il driver PPA per 1.2.13

 Il kernel 2.0.x � stato rilasciato ormai da lungo tempo.  Se si �
 rimasti ancora al 1.2.13 o a qualsiasi cosa pi� vecchia del 2.0.x per
 favore si faccia un bel upgrade.  Non risponder� a nessuna domanda
 riguardante queste vecchie release e dubito che qualsiasi sviluppatore
 lo far�.


 4.3.  Il driver PPA per i kernel correnti

 Dalla versione 1.3.74 il driver ppa � una parte standard del kernel.
 Ci sono state alcune modifiche in altre parti del kernel verso la
 1.3.78 che hanno richiesto un workaround temporaneo, ma dalla versione
 1.3.86 il driver � stabile alla versione 0.26.  Poich� ormai � in
 azione il code-freeze per Linux 2.0, mi aspetto che il 0.26 sar� nel
 prossimo kernel stabile.

 Per creare un kernel con il supporto ppa, si includa il supporto per
 SCSI, il supporto per i dischi SCSI e si selezioni il supporto per
 Iomega ZIP / PPA-3 dalla lista degli adattatori SCSI a basso livello.
 � possibile compilare il driver come modulo caricabile.

 � possibile usare parametri in riga di comando in /etc/lilo.conf o con
 insmod per regolare il driver.  Tutto ci� � documentato in
 drivers/scsi/README.ppa nell'albero dei sorgenti del kernel.  Ne ho
 fatto un breve sommario nel paragrafo seguente.

 Se si vuole usare sia il driver lp che ppa sulla stessa porta
 parallela, � necessario compilarli entrambi come moduli e caricarne
 sempre solo uno alla volta quando necessario.

 Le caratteristiche dei moduli caricabili di Linux stanno diventando
 via via pi� potenti, e corrispondentemente pi� complesse.  Come punto
 di partenza, si dovrebbe leggere il file Documentation/modules.txt
 nell'albero dei sorgenti del kernel.


 4.4.  Parametri in linea di comando di PPA

 Se si ha ppa compilato all'interno del proprio kernel, � possibile
 aggiustare i suoi parametri dalla riga di comando di LILO o LOADLIN
 usando la seguente sintassi:



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




 Dove base � l'indirizzo i/o della proprio porta parallela, speed_high
 � la costante di temporizzazione per alcuni loop veloci nel driver,
 speed_low � un parametro di temporizzazione simile per alcuni loop
 lenti e nybble � un flag per forzare il driver ad usare la modalit� a
 4 bit (nybble), anche se vuole fare diversamente.

 Per esempio, i valori predefiniti possono essere specificati come:



             ppa=0x378,1,6,0





 5.  Usare il lettore ZIP

 Se si sono creati tutti i componenti richiesti, il kernel dovrebbe
 riconoscere il proprio adattatore ed il lettore al boot.  Se si sta
 usando un modulo caricabile per il proprio lettore, la discussione che
 segue � applicabile una volta che sia stato caricato il modulo.

 In linea di massima la versione SCSI e parallela del lettore si
 comportano nello stesso modo, tranne per il fatto che la versione
 parallela � in qualche modo pi� lenta.


 5.1.  Identificazione del lettore all'avvio

 Quando il proprio sistema si avvia dovrebbe mostrare diverse
 infomarzioni a proposito del proprio controller, del proprio lettore e
 del disco nel lettore.  Se non si ha un disco nel lettore, mancheranno
 alcune di queste informazioni e appariranno solamente quando si
 inserir� un disco e poi si "tocca" il lettore (si fanno dei tentativi
 di accesso).  Si raccomanda agli utenti inesperti di avviare il
 sistema con un disco nel lettore, in quanto in questo modo le cose
 sono meno confuse !

 Dove esattamente appaiono questi messaggi dipende da come �
 configurato il proprio sistema.  Spesso appariranno nella console di
 sistema, ma potrebbero essere rediretti in un file di log come
 /var/adm/messages.  Nel caso non si riesca a trovarli da nessuna
 parte, solitamente � possibile recuperare le ultime schermate di
 messaggi del kernel con il comando dmesg.

 Se si ha la necessit� di trovare qualcuno che possa aiutare, una copia
 di queste informazioni � critica.  Si provi a inviare quanti pi�
 messaggi di log rilevanti si pu�, assieme con il proprio bug report.

 Di seguito un esempio di come potrebbe essere un messaggio di log del
 kernel:



      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




 Questo output � generato da un sistema 1.3.87 con un lettore ZIP su
 porta parallela.  L'output esatto varier� a seconda del proprio
 controller SCSI e di quali altri dispositivi SCSI sono presenti nel
 proprio sistema.

 La prima riga mostra il messaggio di inizializzazione del driver a
 basso livello per il proprio controller, in questo caso PPA.  Quello
 che segue sono le informazioni di identificazione restituite da
 ciascun dispositivo trovato nel bus SCSI.  La quinta riga riporta il
 nome del device assegnato al lettore, in questo caso /dev/sda.  E
 l'ultima riga mostra il risultato della verifica delle partizioni
 presenti sul disco nel lettore.  Questo ne ha una sola, /dev/sda1.
 Questi messaggi provengono da diversi moduli nel kernel.  Se si ha pi�
 di un controller SCSI, o diversi dischi, ognuna delle sezioni conterr�
 ulteriori informazioni.

 Se si usa un disco nuovo, proveniente direttamente dalla Iomega, la
 verifica delle partizione dovrebbe mostrare un unica partizione,
 /dev/sda4.  Se si hanno altri dispositivi SCSI si deve essere
 consapevoli che il lettore ZIP potrebbe essere assegnato a qualche
 altro device, ad esempio /dev/sdb.  Quindi si controllino i messaggi.

 Se queste righe non compaiono, allora qualcosa non � bene configurato
 o nel proprio hardware oppure nel kernel.  Si controlli tutto
 attentamente prima di inviare una mail.


 Se non appare la riga scsi0:, allora non si � configurato il proprio
 controller ed il lettore correttamente.  Alcuni driver daranno dei
 suggerimenti su cosa pu� essere andato storto.   Se il proprio lettore
 non � rilevato, allora probabilmente si ha un problema di cavo.  Se
 non � assegnato un nome al lettore,  allora probabilmente si �
 dimenticato di includere il supporto per i dischi SCSI quando si �
 configurato il kernel.

 Si dia un'occhiata ai file README in drivers/scsi e allo SCSI HOWTO
 per altri suggerimenti sulla risoluzione dei problemi.


 5.2.  Fdisk, mke2fs, mount, ecc.

 Una volta noto il nome del device per il proprio lettore ZIP, si � a
 posto.  Si pu� manipolare il disco con i normali comandi di gestione
 dei dischi di Linux.  fdisk (o anche cfdisk) � usato per manipolare le
 tavole delle partizioni sul disco.  mke2fs pu� essere usato per
 formattare una partizione con il filesystem ext2, il pi� comunemente
 usato in Linux.  mount � usato per connettere una partizione
 formattata nella propria gerarchia di directory.

 Se non si ha familiarit� con questi strumenti, si dovrebbero studiare
 le relative pagine di manuale.  Si faccia attenzione poich� adesso
 come adesso esistono diverse versione del programma fdisk.

 Descriver� due scenari comuni.


 5.3.  Un disco DOS preformattato

 Se si ha un disco ZIP con una struttura DOS dei file originariamente
 creata dagli strumenti della Iomega, l'analisi delle partizioni
 dovrebbe dire che il disco ha una sola partizione, /dev/sda4.

 Si deve creare un posto dove montare il disco, diciamo /zip, e poi
 montarlo come un filesystem MS-DOS:



             mkdir /zip
             mount -t vfat /dev/sda4 /zip




 Si potrebbe usare msdos invece di vfat.  vfat supporta i nomi lunghi
 per i file mentre msdos no.  Ora, i file nel disco dovrebbero apparire
 in /zip.  Mentre il disco � montato, non si sar� in grado di
 rimuoverlo.  Quando si ha finito con il disco si pu� smontarlo per
 rilasciarlo e staccarlo dalla propria gerarchia di directory.



             umount /zip




 Una volta creato il mount point /zip, non � necessario ricrearlo
 ancora, e quindi si pu� riutilizzare pi� tardi per montarci
 qualcos'altro.


 5.4.  Riformattazione come un disco Linux nativo

 Se si vuole cancellare un disco ZIP e creare un file system nativo di
 Linux, di deve usare fdisk sull'intero disco:



             fdisk /dev/sda




 e cancellare qualsiasi partizione esistente (con il comando d).  Poi
 si crei una nuova partizione con il comando n. La si crei primaria e
 con numero di partizione 1, poi si usi w per scrivere la tavola delle
 partizioni sul disco e si esca con q.

 Si formatti la partizione con



             mke2fs /dev/sda1




 (L'1 � il numero che si � dato a questa partizione con fdisk).  Ora si
 pu� montare il disco:



             mount -t ext2 /dev/sda1 /zip




 (riusando il mount point creato in precedenza).


 5.5.  Il disco ZIP Tools

 C'� un altro po' di lavoro da fare se si vuole usare il disco che
 viene venduto con il lettore ZIP.  Prima della distribuzione viene
 abilitata la protezione software dalla scrittura.  Molti hanno per
 prima cosa sbloccato il disco sotto DOS prima di provare ad usarlo con
 Linux.  Linux non pu� accedere a un disco bloccato, e questo
 dev'essere sbloccato con gli strumenti della Iomega.

 Un programma nativo per Linux per gestire la caratteristica di
 protezione dalla scrittura ed altre cose, si pensa sar� presto
 disponibile.



 6.  Prestazioni

 Con la versione standard dei kernel 2.0.x si riceve la versione 0.26
 del programma ppa.c.  Questo � un programma semplice ma molto
 affidabile.  � stato sottoposto ad un uso intenso ed ora funziona
 piuttosto bene.  La sola cosa brutta di questo programma � che non �
 molto veloce.  Sulla mia macchina ho la versione 2.0.30 del kernel e
 due porte parallele. � pure una macchina da pochi soldi con un pentium
 133, 16 mega di memoria e un disco eide della maxtor da 5 giga.  La
 macchina mi � costata 500 dollari americani mentre il disco ne costa
 250.  Sono tirchio ma non troppo.

 Ho messo il lettore ZIP nella seconda porta e la stampante nella
 prima.  La seconda era una vecchia scheda senza la modalit� epp.  Ci�
 fa s� che il lettore funzioni in modalit� a 4 bit.

 Per verificare le prestazioni ho copiato il file tar del netscape dal
 disco fisso allo ZIP.  Questo file � circa 10.6 mega.  Per terminare
 l'operazione ci sono voluti 7 minuti e 15 secondi. Per trasferire
 dallo ZIP al disco fisso ci sono voluti 7 minuti.  Non proprio
 esaltaltante, vero?

 Allora ho fatto 2 modifiche.  Per prima cosa ho passato il lettore ZIP
 nella prima porta e sono andato nel BIOS ed ho impostato la modalit�
 EPP per la prima porta.  Allo stesso tempo ho collegato la stampante
 nella seconda porta.
 La seconda modifica che ho fatto � stato di scaricarmi la nuova
 versione del programma dalla pagina di David Campbells
 <http://www.torque.net/~campbell/>.  Poi l'ho installato.  Si dia
 un'occhiata al readme incluso.

 Poi ho eseguito ancora lo stesso test copiando il file tar di Netscape
 nel e dal lettore ZIP.  La copia nel disco fisso ha durato 1:55
 minuti.  Dal disco fisso allo ZIP invece c'ha messo 1 minuto giusto.
 Si confrontino questi valori con i 7:15 minuti e 7:00 minuti del
 vecchio programma.  Si noti il notevole incremento di prestazioni
 rispetto alla versione 0.26 del programma.  Tutto ci� inoltre � stato
 fatto usando il disco ZIP con un file system vfat.

 Poi ho formattato un disco ZIP con il formato ext2.  Ho eseguito
 ancora lo stesso test.  La copia verso il disco fisso ha durato solo
 50 secondi, mentre la copia dal disco fisso al disco ZIP solo 40.

 Sommario delle Prestazioni


 Per questo test ho spostato un file da 10.6 mega. La modalit� standard
 a 4 bit della porta e la versione 0.26 del programma � risultata la
 combinazione pi� lenta con tempi di 7:00 e 7:15 minuti.

 Il nuovo programma (1.41) e la modalit� EPP con un filesystem ext2 �
 la combinazione pi� veloce con tempi di 50 e 40 secondi.



 7.  Filza di Assilli Quoditiani (aka Frequently Asked Questions)

 Queste sono alcune delle domande che sono state fatte un sacco di
 volte.  Invito a leggere le risposte prima di rifarle un'altra volta!


 7.1.  Posso collegare una stampante nel lettore ZIP per porta paral�
 lela?

 Si, ma: attualmente non � possibile avere contemporaneamente i driver
 lp e ppa attivi sulla stessa porta parallela.  Durante lo sviluppo
 iniziale del gestore � stato progettato un protocollo di condivisione
 delle risorse, ma non sar� dispobile prima del rilascio di Linux 2.2.

 Se si ama vivere sul filo del rasoio, si prenda il kernel 2.1.x e si
 pu� cos� avere la condivisione della porta.  Si veda
 <http://www.cyberelk.demon.co.uk/parport.html>

 Il modo pi� semplice per fare questa cosa con un kernel 2.0.x � di
 avere due porte parallele.  Ho comprato la mia seconda per circa 15
 dollari e funziona alla grande.  Si pu� usarne una per stampare e
 l'altra per lo ZIP.  Semplicemente si compili un kernel con sia il
 driver ppa che il driver lp come moduli.  Uso la versione pi� nuova
 (1.41) di ppa, quindi semplicemente carico ppa per primo (insmod ppa).
 Questo trova il lettore zip nella prima porta.  Poi carico lp (insmod
 lp) e questo assegna la stampante alla seconda porta.

 Se si usa la versione 0.26 del programma allora si includa sia lp che
 ppa come parte del kernel (non come moduli).  Poi si mettano i comandi
 di configurazione appropriati nella riga di comando del proprio
 kernel.  Per esempio, se si usa LILO e si ha una stampante
 all'indirizzo 0x378 e il lettore ZIP a 0x3bc si possono aggiungere le
 seguenti righe al proprio file /etc/lilo.conf.




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






 7.2.  C'� l'intenzione di supportare le porte EPP/ECP in PPA?


 La versione 0.26 del programma non supporta EPP.  La versione 1.41
 supporta EPP.  Questo programma � molto pi� veloce.  Si veda la
 sezione sulle prestazioni per maggiori dettagli.


 7.3.  Possono eseguire Linux da un lettore ZIP?

 C'� gente che l'ha fatto.  Questo sembra una gran cosa per fare un
 ottimo disco di ripristino o per testare un'installazione.

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



 7.4.  Posso fare il boot da un lettore ZIP?

 Dipende da cosa si usa come controller.  Se il proprio controller ha
 una ROM BIOS con il codice per fare il boot dai target 5 o 6, allora
 s�, si pu� fare il boot da uno ZIP SCSI.  Non � possibile fare il boot
 da uno ZIP su porta parallela.


 Se si ha DOS nel proprio disco principale e si vuole avviare Linux da
 un disco ZIP, lo si pu� fare usando LOADLIN.  L'immagine del proprio
 kernel deve essere da qualche parte nel disco DOS, ma il resto del
 proprio sistema Linux pu� essere nello ZIP.  Ci si assicuri che il
 kernel che si usa abbia i giusti driver compilati al suo interno.

 Per quel che ne so, non c'� nessun floppy di avvio dell'installazione
 per una qualsiasi delle distribuzioni pi� popolari che contenga il
 driver per lo ZIP su parallela.


 7.5.  Perch� Iomega usa 4 come numero della partizione?

 Questa � una delle domande pi� popolari, ma non penso che nessuno
 abbia la risposta definitiva. Probabilmente non c'� una vera ragione.


 7.6.  Posso fare in modo che il disco sia montato all'avvio?

 Tutto quello che c'� da fare � aggiungere una riga al proprio file
 /etc/fstab.  Per esempio, se si ha sempre un disco DOS nel lettore
 quando si fa il boot, si pu� mettere



             /dev/sda4   /zip  vfat  defaults  0 0




 in fstab.  A seconda di come � fatta la propria distribuzione, gli
 script di inizializzazione potrebbero provare ad eseguire fsck sulle
 partizioni elencate nel proprio fstab.  Si rammenti che ci� potrebbe
 creare problemi se si dimentica di mettere il disco nel lettore quando
 si avvia, oppure se si mette il disco sbagliato.


 7.7.  Cosa succende se non c'� nessun disco quando faccio il boot?

 Il kernel prover� a leggere la tavola delle partizioni, ma
 l'operazione andr� in time out.  Non � niente di cui preoccuparsi.
 Una volta inserito un disco e provato a farci qualcosa il kernel si
 accorger� che adesso c'� e rilegger� la tavola delle partizioni.

 SUGGERIMENTO: quando si cambiano i dischi, � sempre una buona idea
 usare fdisk per verificare la struttura delle partizioni nel nuovo
 disco.

 Il BIOS in alcuni controller SCSI prover� a leggere la tavola delle
 partizioni del proprio disco durante il boot del sistema.  Se non si
 pu� disabilitare questo controllo, si sar� costretti ad effettuare
 sempre il boot con un disco nel lettore.


 7.8.  Posso usare il lettore su porta parallela con un effettivo disco
 SCSI?

 L'adattatore da parallela a SCSI PPP-3 � implementato come un unico
 chip ASIC che Iomega chiama VPIO.  � inserito nella scheda di
 controllo del lettore ZIP.  � effettivamente presente un bus SCSI, ma
 non in una forma utilizzabile.

 Sebbene non abbia provato a confrontare le due schede, sembra logico
 che il VPIO rimpiazzi il circuito convenzionale di buffering elettrico
 che sarebbe richiesto se il bus SCSI fosse esteso al di fuori
 dell'involucro.



 7.9.  Posso usare PPA con i lettori di nastri paralleli della Iomega?

 No.  Questi sono lettori floppy-tape.  Non c'entra lo SCSI.

 Diversi hanno manifestato interesse nell'applicare il miei metodi per
 provare a determinare il protocollo e sviluppare il driver per questi
 tape.  Il primo passo � riuscire ad avere il driver per DOS che
 funzioni sotto DOSemu.  Non ho ancora notizia di qualcuno che abbia
 avuto successo nel farlo.


 7.10.  Il PPA funzioner� con il SyQuest EZ135 su porta parallela?

 No.  Il EZ135 � un disco IDE con un convertitore da parallela ad IDE
 ShuttlePort al suo interno.

 Comunque � stato fatto un po' di lavoro su questo driver.  Si veda

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



 8.  Dove trovare ulteriori informazioni

 Le versioni pi� recenti del programma di gestione per lo zip su porta
 parallela (ppa.c) e le informazioni tecniche correnti su tale driver
 possono essere trovare a

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


 Le informazioni su molti driver per dispositivi esterni su porta
 parallela possono essere trovate a

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

 Informazioni sulla condivisione della porta parallela e sulla porta
 parallela passante si trovano a

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

 Installazione di Linux da un lettore zip (per macchine senza un CD)

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

 Un'interfaccia X per il programma ziptool pu� essere trovata a

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

 Informazioni sulla configurazione di Lilo le si pu� trovare a

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

 Informazioni sull'uso dei bootprompt le si pu� trovare a

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

 Se si vuole installare Linux sullo Zip ed eseguire il sistema dallo
 Zip

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

 Le pagine web della Iomega sono a

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

 Se si cercano informazioni generiche sulla programmazione della porta
 parallela del proprio PC, non � male visitare

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