  The Linux Ultra-DMA Mini-Howto
  Brion Vibber, brion@pobox.com
  v3.0, 9 Novembre 1999

  Questo documento  concepito per spiegare come usare i dischi e le
  interfacce Ultra-DMA alias Ultra-ATA alias Ultra33 e Ultra66 con
  Linux.  La versione pi recente di questo mini howto si pu prelevare,
  in formato HTML, su http://pobox.com/~brion/linux/Ultra-DMA.html.

  1.  Introduzione


  Questo documento  concepito per spiegare come usare i dischi e le
  interfacce Ultra-DMA alias Ultra-ATA alias Ultra33 e Ultra66 con
  Linux. In molti casi il loro utilizzo non presenta difficolt, ma dei
  piccoli accorgimenti possono aumentare le prestazioni.  In altri casi,
  avrete bisogno di scavalcare ostacoli straordinari semplicemente per
  accedere ai vostri dischi rigidi.


  1.1.  Liberatoria


  L'informazione in questo documento  al meglio della mia conoscenza, 
  corretta e dovrebbe funzionare. Tuttavia potrebbero esserci errori
  tipografici, potrebbero esserci misteriosi errori di trasmissione,
  potrebbero esserci strane incompatibilit nel vostro sistema che
  ostacoleranno le tecniche descritte qui e non le faranno funzionare
  correttamente. Perci, prima di gingillarvi con il vostro disco rigido
  FATE UNA COPIA DI BACKUP DEI DATI CHE VOLETE CONSERVARE!  Se non avete
  ancora fatto dei backup, iniziate subito a farli regolarmente, per il
  vostro bene.


  1.2.  Crediti

  Michel Aubry <mailto:giovanni@sudfr.com> - Patch per abilitare l'UDMA
  per i chipset correlati ai VIA per i kernel <=2.0.33 & altre
  informazioni, grand unified UDMA patch per 2.0.34+

  Andrew Balsa <mailto:andrebalsa@altern.org> - Fornito molte
  informazioni sull'UDMA in generale e sulla patch Udma-generic per
  Intel TX, SiS, e VP1 sui kernel <=2.0.33; e anche sulla grand unified
  UDMA patch per i kernel 2.0.34+

  Maxime Baudin - Traduzione in francese

  Bokonon - "Controller" vs. "interfaccia"

  John G. <mailto:prefect@ipass.net> - Patch per il chipset VIA VP2  per
  i kernel <=2.0.33 & informazioni

  Martin Gaitan - Rimedio per l'installazione sulla ide0/ide1 della
  Promise Ultra33

  Andre M. Hedrick <mailto:andre@suse.com> - attuale maintainer dei
  sottosistemi Linux IDE

  Hvard Tautra Knutsen - Traduzione in norvegese

  Norman Jacobowitz - Mi ha esortato ad aggiungere informazioni sulla
  VP3

  John Levon - Informazioni sulle schede madri TX Pro


  Peter Monta - Informazioni sull'utilizzo di due schede per l'Ultra33

  Masayoshi Nakano - Traduzione in giapponese

  Gadi Oxman <mailto:gadio@netvision.net.il> - Patch per la Promise
  Ultra33 per i kernel <=2.0.34 & scoperta dei "numeri segreti" per il
  rimedio.


  Andy Pearce - Proposte informazioni aggiuntive sui file di dispositivo
  supplementari per  hde-h

  Andrei Pitis <mailto:pink@roedu.net> - Patch per LILO

  Brion Vibber <mailto:brion@pobox.com> - Il documento stesso


  1.3.  Storia del documento


  v3.0, 9 November 1999: Finalmente ho trovato il tempo per aggiornare
  alcuni cambiamenti chiave, quali ad esempio lo spostamento
  dell'archivio della patch IDE su Kernel.org archives
  <http://www.kernel.org/pub/linux/kernel/people/hedrick>...  scuola
  irritante!  Aggiornati tutti i link a sunsite ai nuovi metalab.unc.edu
  o www.linuxdoc.org


  v2.1, 27 Maggio 1999: Corrette alcune lacune ed errori minori della
  2.0 e aggiunte le informazioni sulla Promise Ultra66 e sui kernel
  2.2/2.3.

  v2.0, 7 Agosto 1998: Aggiornamenti pi importanti e quasi totale
  ristrutturazione del documento per quanto riguarda le interfacce a
  bordo (schede madri) e le interfacce non a bordo (schede aggiuntive);
  la Grand Unified UDMA patch (una parte della Patch Jumbo) per il
  kernel 2.0.35. Inseriti i crediti in ordine alfabetico a partire
  dall'ultimo nome. Sostituito "controller" con "interfaccia" dove
  sembrava tecnicamente pi corretto. Aggiunte informazioni su come
  abilitare/disabilitare l'UDMA, la lista nera e altro!


  v1.45, 6 Luglio 1998: Aggiornamenti minori - Patch per la Promise
  Ultra33 per la Red Hat 5.1 e il kernel 2.0.34, patch per LILO per
  avviare dalle interfacce PCI come la Promise Ultra33


  v1.41, 3 Maggio 1998: Sistemati un paio di errori tipografici,
  aggiunti i traduttori tra i crediti.

  v1.4, 28 Aprile 1998: Patch UDMA-Generic, altre informazioni pi
  generali. Aggiunta la sezione sui diritti di riproduzione.

  v1.3, 5 Marzo 1998: Informazioni sui VIA VP3, migliori istruzioni su
  come applicare la patch, suggerimento sulla pi recente patch per la
  Promise.

  v1.2, 27 Gennaio 1998: Informazioni aggiuntive sul rimedio per la
  Promise.

  v1.1, 21 Gennaio 1998: Nuove informazioni sui chipset VIA, installare
  con la Promise Ultra33, e abilitare i modi di trasferimento Bus Master
  & UDMA.

  v1.0, 19 Gennaio 1998: Pi o meno completa,  la prima versione fatta
  in SGML.
  1.4.  Diritti di riproduzione


  Questo documento pu essere liberamente copiato e distribuito a scopo
  informativo.  Non pu essere modificato, tranne che per essere
  riformattato, senza il permesso dell'autore. Se volete tradurre questo
  documento in un'altra lingua, potete farlo, tuttavia dovete contattare
  prima l'autore, cosicch le versioni aggiornate di questo documento
  possano essere inviate immediatamente sia al traduttore sia al Linux
  Documentation Project.


  2.  Cos' l'Ultra-DMA e perch dovrei volerlo?

  Segue una breve panoramica sui dischi basati sulle tecnologie IDE:


  2.1.  IDE, EIDE & ATAPI


  Queste sono vecchie tecnologie per i dischi. Molti dischi rigidi e
  interfacce per i dischi non SCSI che potete comprare oggi o che
  probabilmente state usando sono EIDE, bench molti dei dischi pi
  grandi ora disponibili siano UDMA.


  2.2.  Bus Master DMA


  Il Bus Master DMA  una tecnologia per aumentare la velocit di
  trasferimento dei dati dei dischi rigidi che richiede il supporto
  della scheda madre e del BIOS, e almeno qualche supporto dal disco.
  Potete imparare di pi su
  http://developer.intel.com/design/pcisets/busmastr/FAQs.htm.


  2.3.  Ultra-DMA alias Ultra-ATA alias Ultra33 alias...

  L'Ultra-DMA ha molti nomi, ma qui lo chiameremo solo UDMA.

  UDMA  la tecnologia pi avanzata che fornisce un volume di traffico
  fino a 33.3 MB/s nell'UDMA mode 2 e fino a 66.7 MB/s nell'UDMA mode 4,
  da due a quattro volte maggiore rispetto l'EIDE, a un prezzo molto pi
  basso di quello dello SCSI. Molti nuovi computer funzionano con grandi
  dischi UDMA e con interfacce UDMA, ed  possibile aggiungere una
  scheda per l'interfaccia (come la Promise Ultra 33 o Ultra 66) ad un
  sistema esistente per aumentare la velocit anche dei vecchi dischi
  non UDMA.

  Potete apprendere maggiori dettagli sull'UDMA su
  http://www.quantum.com/src/whitepapers/ultraata/.


  Notate che per l'UDMA la lunghezza del cavo deve essere minore, se
  confrontata con quella per il DMA semplice, preferibilmente meno di 30
  cm (12") di lunghezza massima, sebbene 18 pollici solitamente vadano
  bene. 66 MB/s richiedono un cavo speciale a 80 conduttori che deve
  essere tenuto anche pi corto. Se ottenete molti errori di CRC,
  provate ad usare un cavo pi corto.



  2.4.  Perch  sempre "Ultra"

  Prima di proseguire, lasciatemi chiarire un malinteso. 33 o 66 MB/s
  rappresentano  il picco di velocit di trasferimento, e non 
  qualcosa che vedrete molto spesso. Per spiegarlo, riporto un estratto
  dall'UDMA.txt, preso dall'UDMA-generic (la prima patch sull'UDMA
  n.d.t.):



       I picchi di velocit di trasferimento istantanei sono supposti
       andare da 16.6MB/s (PIO mode 4) a 16.6MB/s (DMA mode 2) fino a 33MB/s
       (UDMA). Nella sua patch al kernel 2.1.55, Kim-Hoe Pang attualmente
       controlla il picco della velocit di trasferimento per l'UDMA con
       un analizzatore logico: 60ns/parola, che trasferisce fino a 33MB/s.
       Notate che il picco di velocit di trasferimento riguarda solo
       il trasferimento dei dati dalla cache del disco EIDE (476kB per il
       disco IBM da 6.4GB ), ed IMHO (In inglese "In My Humble
       Opinion", "Secondo il mio modesto parere" n.d.t.) non
        particolarmente rilevante per la maggioranza degli utenti
       Linux.  Il kernel di Linux tiene nella RAM una cache degli accessi al
       disco pi grande possibile, quindi se un dato non 
       nella cache del kernel c' una piccola possibilit che
       essa possa trovarsi nella cache (molto pi piccola) del disco
       rigido.



  Molto pi rilevante  la velocit di trasferimento sostenuta, la
  velocit alla quale i dati possono essere trasferiti dal disco alla
  memoria principale dove possono essere usati. Un modo facile per
  misurare la velocit di trasferimento sostenuta  di usare hdparm, per
  esempio "hdparm -Tt /dev/hda" per misurare la velocit del primo
  dispositivo IDE.



       Seguono alcuni dati raccolti dopo test esaurienti usando l'utility
       hdparm (scritti anche da Mark Lord):

       velocit di trasferimento sotto Linux del PIO mode 4: +/- 5.2MB/s
       velocit di trasferimento sotto Linux del DMA mode 2: +/- 7.2MB/s
       velocit di trasferimento sotto Linux dell'UDMA mode 2: +/- 9.8MB/s



  Come potete vedere, l'UDMA  quasi due volte pi veloce del normale
  EIDE ed  significativamente pi veloce del normale bus mastering DMA.
  Molti attuali dischi UDMA vi daranno tra i 10 e i 15 MB/s abilitando
  l'UDMA mode 2 (33MB/s) o 4 (66MB/s)


  Inoltre l'ampio uso del DMA riduce l'utilizzo della CPU durante l'I/O
  del disco vs il PIO.



  2.5.  Come confrontare l'UDMA con lo SCSI?


  Non ho molti numeri concreti da darvi, ma vi  consenso generale sul
  fatto che i migliori dispositivi SCSI possano dare prestazioni
  migliori dell'UDMA.  Tuttavia se guardate recentemente i cartellini
  dei prezzi su alcuni dischi rigidi potete notare che i dischi UDMA
  tendono ad essere molto meno costosi. Il rapporto prestazioni/prezzo
  favorisce l'UDMA in molti casi.

  3.  Usare il vostro disco rigido UDMA con un'interfaccia EIDE


  Questo  facile da fare. Da quando tutti i dischi UDMA sono pienamente
  compatibili all'indietro, appena collegate il vostro disco rigido
  sulla vostra interfaccia EIDE come se fosse un qualsiasi vecchio disco
  rigido, Linux non dovrebbe avere problemi a rilevarlo e ad
  utilizzarlo.



  4.  Usare i vostri dischi rigidi con un'interfaccia UDMA

  Bene, ci sono buone notizie e cattive notizie. La buona notizia  che
  l'interfaccia UDMA pu essere usata sia con i dischi rigidi UDMA sia
  con i vecchi dischi rigidi EIDE, e sar molto pi veloce di
  un'interfaccia EIDE.

  La cattiva notizia  che la vecchia serie di kernel (2.0.x)
  attualmente non supporta molto bene l'UDMA. Tuttavia i nuovi kernel
  2.2.x supportano l'UDMA33 e sono disponibili numerose patch per i
  kernel che ne sono privi.


  Inoltre, alcune interfacce che sono incluse in schede piuttosto che
  incorporate nella scheda madre richiedono sia delle patch sia il
  ricorso ad alcune astuzie per essere utilizzate sui kernel pi vecchi.
  Questo  il motivo per cui esiste questo documento. Per spiegare come
  procurarsi le patch e lavorare d'astuzia.



  5.  Interfacce PCI UDMA non a bordo


  Ci sono delle interfacce UDMA su schede PCI che possono essere usate
  per aggiungere il supporto per l'UDMA a un computer esistente senza
  sostituire la scheda madre o per aggiungere il supporto per altri
  quattro dischi a una macchina che ha tutte le interfacce a bordo
  occupate. Possono essere trovate anche preinstallate in alcuni
  computer, specialmente sulle macchine Gateway 2000 e Dell.

  Molte di esse non erano supportate dai vecchi kernel stabili (2.0.x),
  ma dovrebbero funzionare con un kernel 2.2.x - le distribuzioni Red
  Hat 6.0 e SuSE 6.1 sono basate sui kernel 2.2.x, come lo sono le pi
  recenti versioni di molte altre distribuzioni.  Tuttavia alcune delle
  schede pi recenti (per esempio la Promise Ultra66) potrebbero non
  funzionare anche con gli attuali kernel 2.2.x, se voi ne avete una e
  non potete prendere una distribuzione tra le pi recenti allora dovete
  applicare una patch al kernel, oppure aggiornarlo ad una versione pi
  recente.  Se avete bisogno di installare Linux su un disco rigido
  collegato ad una di queste interfacce, dovrete ricorrere ad alcuni
  strani stratagemmi.



  5.1.  Promise Ultra33


  Questa  una scheda PCI che ha su di essa due canali UDMA e supporta
  un totale di quattro dischi. Potete vedere descrizioni
  particolareggiate e prezzi su http://www.promise.com.

  Questa scheda  montata a bordo nei pi recenti sistemi pentium II
  modello Gateway 2000.

  I kernel 2.0.35 e successivi e tutti i kernel 2.2.x supportano
  l'Ultra33, quindi non dovreste avere problemi installando una
  distribuzione basata su questi kernel.  Tuttavia i kernel stabili pi
  vecchi (2.0.34 e precedenti) non lo supportano, e poich molte
  distribuzioni pi vecchie di Linux includono questi vecchi kernel,
  potreste incontrare piccole difficolt nell'installare Linux se non
  volete o non potete usare una versione pi recente (per esempio se
  avete reso standard una particolare distribuzione all'interno della
  vostra organizzazione).

  Installare Linux con l'Ultra33

  Sebbene vi sia una patch per l'interfaccia Ultra33, non  molto
  semplice applicare una patch e ricompilare il vostro kernel se non
  avete mai installato Linux prima d'ora! Cos qui c' un rimedio che vi
  permette di installarlo.  Grazie a Gady Oxman per le seguenti
  informazioni date su come impostare l'interfaccia:

  Ecco un trucchetto che vi consentir di effettuare l'installazione.



       Se possiamo avere accesso alla console con il disco di installazione,
       possiamo anche usare "cat /proc/pci" per visualizzare le impostazioni
       dell'interfaccia Promise:

           RAID bus interface: Promise Technology Unknown device (rev 1).
             Vendor id=105a. Device id=4d33.
             Medium devsel.  IRQ 12.  Master Capable.  Latency=32.
             I/O at 0xe000.   (a)
             I/O at 0xd804.   (b)
             I/O at 0xd400.   (c)
             I/O at 0xd004.   (d)
             I/O at 0xc800.   (e)

       e passare "ide2=a,b+2 ide3=c,d+2" come parametri al kernel dalla riga
       di comando.



  Notate che i numeri non sono gli stessi a seconda di quello che volete
  avere.  Proprio come esempio, i parametri da usare per il set di
  numeri riportato sopra possono essere: "ide2=0xe000,0xd806
  ide3=0xd400,0xd006".  Se voi state usando solo il primo canale
  sull'Ultra33 (per esempio se avete un solo disco, o due che sono uno
  master e l'altro slave sullo stesso canale), allora non avrete bisogno
  di specificare ide3.

  Red Hat 5.1: Fate il boot con il dischetto di avvio e premete invio al
  prompt quando vi viene suggerito. Verr caricato il kernel, poi vi
  domander la lingua, il tipo di tastiera e il metodo di installazione.
  Forse vi verr chiesto da quale supporto effettuare l'installazione;
  non ha importanza ora cosa vi chiede finch potete arrivare al passo
  successivo. In seguito dovreste vedere una schermata intitolata
  "Select Installation Path"; premete ALT+F2 per ottenere un prompt dei
  comandi.

  Avviate "cat /proc/pci", scrivete i numeri come indicato sopra, e
  riavviate dal dischetto di avvio. Ora, digitate "linux ide2= (questo
  quando date i numeri come mostrato sopra) ide3=(altri numeri) ".

  Dovreste ora essere in grado di installarlo sul vostro disco rigido
  senza difficolt, tuttavia non sar probabilmente possibile installare
  LILO; in alternativa preparate un floppy d'avvio e avviatelo con gli
  stessi parametri fino a quando potrete mettere una patch a LILO e al
  kernel.

  Red Hat 5.0 e Slackware 3.4: Queste sono simili, ma con il trucco che
  il programma d'installazione ignora /dev/hde-h (i dischi sulla ide2 e
  sulla ide3).

  Allo scopo di installarlo su o da uno di questi dischi  necessario
  non tenere conto di uno o di entrambi i canali delle interfacce a
  bordo. Tuttavia controllate di non aver tenuto conto di un dispositivo
  di cui avete bisogno per installare; per esempio se state installando
  da un lettore CD-ROM su /dev/hdd (ide1 - interfaccia a bordo) su un
  disco rigido su /dev/hde (ide2 - l'Ultra33), dovrete escludere la non
  necessaria ide0 a favore della ide2 e lasciare intatta la ide1.
  Supponendo i numeri sopra potreste voler avviare con
  "ide0=0xe000,0xd806".  Red Hat 5.0 vi dar un prompt della shell se
  usate la possibilit del disco di ripristino, e la Slackware include
  una shell nel regolare processo di installazione.  Tuttavia Red Hat
  5.0  difficile da riavviare dopo l'installazione; se avete problemi,
  potete provare scaricando un disco di avvio per la Slackware da
  ftp://ftp.cdrom.com/pub/linux/slackware-3.5/bootdsks.144/ e usarlo per
  fare il boot.

  Con altre distribuzioni, dovrete un po' improvvisare ma il processo
  dovrebbe essere lo stesso indicato sopra.

  IMPORTANTE: Senza la patch (discussa nella sezione ``UDMA-Generic''),
  il kernel necessita di questi parametri di boot per accedere al vostro
  disco rigido! Inoltre  molto importante che quando configurate
  LILO,sia sul disco rigido sia sul floppy d'avvio, date esattamente gli
  stessi parametri che avete dato mentre stavate installando. Altrimenti
  il vostro sistema non si avvier! Sarebbe possibile darli a LILO
  quando avviate (cio, premere Shift, digitare in "linux ide2=....."
  ogni volta che avviate), ma solo se avete conservato i numeri! Si
  raccomanda di applicare la patch al kernel il pi presto possibile
  cos non avrete pi da preoccuparvi; una volta che state avviando con
  il kernel "rattoppato" potrete sbarazzarvi dei parametri di boot.
  Inoltre, per quel che mi consta non c' modo di far passare i
  parametri di boot a un normale floppy di avvio (fatto con "make
  zdisk"), dovete usare LILO o un altro loader (come LOADLIN) che vi
  permetta di passare i parametri di boot.

  Tuttavia, i kernel "non rattoppati" ed i programmi di installazione
  attualmente incontrano spesso delle difficolt  usando la ide2 e la
  ide3, anche se i dischi vengono correttamente rilevati.  Cos se non
  potete prendere Linux per installarlo usando le tecniche descritte
  sopra, provate a specificare ide0 o ide1, anzich ide2 o ide3 (grazie
  a Martin Gaitan per questa tecnica).

  Questo essenzialmente sostituisce l'interfaccia a bordo con la Promise
  Ultra33 per quel che riguarda il kernel e potete seguire le istruzioni
  della prossima sezione come se vi foste fisicamente spostati li.

  Notate che, se per l'installazione state usando un lettore CD-ROM IDE
  connesso alla vostra interfaccia a bordo, vi dovrete assicurare di non
  interferire con l'interfaccia collegata al CD altrimenti
  l'installazione non potrebbe andare a buon fine!

  Se il CD  hda o hdb, usate ide1 per il vostro disco rigido e se esso
   hdc o hdd allora usate ide0.


  Installare Linux con l'Ultra33

  Se non riuscite a far funzionare il rimedio software potete provare un
  approccio molto pi brutale!  Di seguito riporto un metodo alternativo
  di cui  virtualmente garantito il funzionamento, ma richiede che voi
  apriate il vostro computer e che vi diate da fare in esso.  NB: se non
  avete familiarit con i processi di connessione dei dischi IDE,
  leggete i manuali che vi sono stati dati con il computer, con il
  vostro disco rigido e/o con la vostra Promise Ultra33 prima di provare
  a fare questo! Se scollegate qualcosa e non sapete pi come rimetterlo
  a posto, sono spiacente ma potreste aver finito!  Quanto detto  tutto
  realmente proprio semplice. Molte schede madri oggi hanno
  un'interfaccia EIDE incorporata. Disconnettete il vostro disco rigido
  dalla Ultra33 e connettetelo all'interfaccia a bordo. Se avete altri
  dispositivi IDE quali CD Rom, unit a nastro o disco Zip, sulla vostra
  interfaccia a bordo,  pi semplice se aggiungete il disco rigido su
  un canale non usato (il secondario invece che il primario) o
  temporaneamente spostate un dispositivo di cui non avete bisogno
  immediatamente (come uno Zip o un'unit a nastro). Installate Linux.
  Scaricate e applicate la patch per la Promise Udma.  (Vedere la
  prossima sezione).


  Ora siete pronti per riportare indietro il disco sulla Promise...
  quasi.  Per essere sicuri, fate un'immagine di boot del kernel su un
  floppy.  (cd /usr/src/linux ; make zdisk), che sar in grado di
  riavviare il vostro sistema. Eventualmente, per essere veramente
  sicuri, fatene due e per ora mettetene via uno.  Okay, ora  il tempo
  di pensare un poco... se avete solo un disco rigido e esso sta
  funzionando sulla Promise Ultra33, allora  pi probabile che esso sia
  /dev/hde (a e  b sono per le interfacce a bordo primarie, c e d per le
  interfacce a bordo secondarie).  Se state mettendo su essa un altro
  disco allora lo slave del primo canale sar /dev/hdf, il master del
  secondo canale sar /dev/hdg, e lo slave del secondo sar /dev/hdh.

  Modificate /etc/fstab, e cambiate tutte le partizioni dei dischi
  rigidi che state spostando dai "dischi" a bordo (/dev/hda, hdb, etc)
  alle loro posizioni sulla Promise (/dev/hde, hdf, etc). Se avete da
  disporre un qualsiasi dispositivo (come un CD Rom o un disco Zip) che
  volete lasciare sull'interfaccia a bordo, allora cambiateli pure alla
  loro nuova posizione. Per esempio, se il vostro CD Rom originariamente
  era master sul canale primario, (/dev/hda), ma mettete li il vostro
  disco rigido e avete soppiantato il CD come slave (/dev/hdb) o sul
  canale secondario (/dev/hdc), e ora volete rimetterlo indietro
  dov'era, allora cambiatelo in /dev/hda.  Se state utilizzando LILO,
  riconfiguratelo per usare la nuova posizione del disco (la
  configurazione di LILO esula dallo scopo di questo, documento, se non
  sapete come fare leggete il LILO mini-HOWTO
  <http://www.linuxdoc.org/HOWTO/mini/LILO.html>), altrimenti
  probabilmente non sar in grado di avviarsi a meno che non usiate il
  floppy di avvio che avete fatto, che vorrete anche configurare per
  fare il boot dalla nuova partizione.

  Tutto ci viene fatto usando il comando rdev. Inserite il floppy nel
  drive e digitate "rdev /dev/fd0 /dev/hde1". Naturalmente si assume che
  la vostra partizione di root sia la prima sul primo disco UDMA. Se non
   cos (per esempio la mia  /dev/hde7), allora usate l'appropriato
  numero di partizione.  Riavviate. Il vostro sistema ora dovrebbe
  funzionare bene.

  Applicare le patch per l'Ultra33

  I kernel 2.0.35 e successivi supportano la Promise Ultra33 in maniera
  nativa, scaricate un aggiornamento dalla vostra distribuzione Linux o
  da http://www.kernel.org.  Per le istruzioni su come compilare il
  kernel, leggete il Kernel HOWTO.


  Usare 2 schede Ultra33 in una macchina


  Attualmente queste non funzionano bene, non fatelo subito, a meno che
  non vi stiate gingillando con il kernel per cercare di fare qualcosa
  per farle funzionare.


  5.2.  Promise Ultra66


  Questa  essenzialmente uguale alla Ultra33 con il supporto per il
  nuovo UDMA mode 4 con velocit di trasferimento di 66 Mb/sec.
  Sfortunatamente essa non  ancora supportata dai kernel 2.2.x.  C'
  una patch per i kernel 2.0.x e 2.2.x disponibile su
  http://www.kernel.org/pub/linux/kernel/people/hedrick, e il supporto 
  incluso nella serie di kernel 2.3.x in via di sviluppo, almeno dal
  2.3.3.  Tuttavia per arrivare ad applicare patch o aggiornare il
  kernel dovrete tirare gli stessi sporchi trucchi usati per l'Ultra33
  nella sezione sopra, oppure usare un disco con un immagine di boot
  fornito dalla Promise
  <http://www.promise.com/latest/latedrivers.htm#linuxu66>



  5.3.  Artop ATP850UF

  Questa scheda  supportata dall'Udma generic. L'installazione di Linux
  su un sistema con una di esse come interfaccia per il disco su cui
  effettuare l'installazione pu essere simile al metodo usato per la
  Promise Ultra33.


  5.4.  Aggiungere file di dispositivo

  Le interfacce IDE terziarie e quaternarie (ide2 e ide3) usano file di
  dispositivo della forma /dev/hde* sino a /dev/hdh*. Sui vecchi kernel
  questi dispositivi non erano creati automaticamente, cos avevate
  bisogno di aggiungerli manualmente per far s che funzionassero
  correttamente.  Questo pu essere facilmente fatto se avete installato
  una copia aggiornata dei sorgenti del kernel di Linux, semplicemente
  avviate /usr/src/linux/scripts/MAKEDEV.ide che creer tutti i file di
  dispositivo importanti.


  6.  Interfacce UDMA a bordo.

  Queste sono delle interfacce per dischi UDMA compatibili, installate
  nella scheda madre. Usano le porte IDE I/O standard e perci sono
  interamente utilizzate alle velocit pi basse non-UDMA su un kernel
  2.0.x al quale non siano state applicate patch, come si  fatto quando
  si  installato Linux. Cos potrebbero non causare alcune difficolt
  durante l'installazione e applicare delle patch per la velocit UDMA 
  un lusso bene accetto, anzich un passo necessario. Qualche supporto
  UDMA  negli ultimi kernel 2.0.x, credo, ed  incluso negli attuali
  kernel 2.2.x per i chipset Intel.


  6.1.  Intel FX, HX, VX, TX, LX e BX


  Grazie ancora a Gadi per questa informazione:



       Il supporto per il bus mastering DMA per il chipset Intel TX 
       disponibile dal 2.0.31 e superiori.


  Nei kernel pi vecchi, (come ad esempio il 2.0.30 della Slackware 3.4)
  l'interfaccia sar usata nella pi lenta modalit EIDE. In entrambi i
  casi l'interfaccia sar rilevata automaticamente dal kernel e non
  dovreste avere problemi usandola.

  Il pieno supporto UDMA per questi chipset  incluso nella patch UDMA-
  generic, vedere ``UDMA-Generic''.



  6.2.  Il VIA VP2 e i chipset con esso compatibili


  Anche questa interfaccia pu essere rilevata automaticamente in
  modalit EIDE dal kernel senza patch, ma se ne avete una, vorrete
  sicuramente applicare una patch cos potrete ottenere un volume di
  traffico pi veloce ed eliminare gli irritanti messaggi "dispositivo
  PCI sconosciuto". Una patch  disponibile su
  http://www.ipass.net/~prefect/; essa  progettata per il chipset VIA
  VP2/97, inserito sulle schede madri FIC's PA-2007 e PA-2011, ma
  potrebbe lavorare su chipset compatibili.  stato riferito che esso
  funziona sul pi nuovo chipset VIA VP3, ma il comportamento potrebbe
  essere differente. Notate che questa patch supporta solo il modo Bus
  mastering non il pieno modo UDMA, ma  sempre meglio del
  tranquillissimo modo EIDE. Seguite le istruzioni sul sito della patch
  per abilitare il modo BMDMA. C' un'altra patch che supporta il pieno
  modo UDMA su http://www.pyreneesweb.com/Udma/udma.html, disegnata per
  la VIA VT82C586B, ed essa dovrebbe funzionare sui chipset VP2, VP3,
  VPX, P6 e AGP Apollo. Seguono le istruzioni per l'installazione e per
  abilitare li l'UDMA, ma si raccomanda che facciate un backup di tutti
  i dati che volete conservare, e ci sono problemi potenziali con le
  schede madri incompatibili. Ma se esse funzioneranno, potrebbero
  funzionare senza problemi.

  Notate che il chipset VP1 non  in grado di funzionare con queste
  patch, ma  supportato dalla patch ``Unified IDE''.



  6.3.  TX Pro e altre schede 'Pro'

  L'UDMA non  attualmente supportato per schede madri TX Pro. Esse non
  sono uguali alle schede madri TX, e apparentemente riferiscono
  erratamente le loro capacit di DMA, da qui il problema. Ho sentito
  che qualcuno sta lavorando su questo problema, cos tra qualche tempo
  apparir una patch, ma non subito.


  6.4.  HPT 366


  Questo chipset  montato sulle popolari schede madri Abit BP-6 e su
  altre, e fornisce il supporto per l'UDMA modo 4 66MB/s sui due
  generici, solitamente in aggiunta agli altri due canali UDMA modo 2 a
  33MB/s.  Esso  supportato dall'attuale ``codice "unified IDE"'' ma
  non nelle attuali versioni del kernel.  L'installazione quindi pu
  richiedere gli stessi raggiri utilizzati con la ``Promise Ultra33''
  con i vecchi kernel 2.0.x.



  7.  Patch Unified IDE


  Le patch "unified IDE" forniscono il supporto per molti chipset e
  schede fuori bordo e sono disponibili per i kernel 2.0.x, 2.2.x e per
  le versioni in via di sviluppo 2.3.x. Se il vostro chipset non 
  supportato da un kernel della serie attuale dovrete applicare una di
  queste patch.

  Il codice "unified IDE"  mantenuto da Andre Hedrick
  <mailto:andre@suse.com>, e le patch sono disponibili sul vostro mirror
  locale dell'archivio dei kernel
  <http://www.kernel.org/pub/linux/kernel/people/hedrick>.

  Il supporto per l'UDMA  fornito almeno per i seguenti chipset, e
  probabilmente per molti altri di cui non sono a conoscenza:



    Tutti i chipset Intel: FX, HX, VX, TX, LX

    Tutti i chipset SIS (testato solo il SiS5598, ma l'intera famiglia
     di chipset ha lo stesso dispositivo d'interfaccia 5513
     incorporato).

    Chipset VIA (testato solo il 82C586B, ma anche questa famiglia di
     chipset ha la stessa struttura per l'interfaccia). Un supporto
     speciale per la diagnostica  disponibile per le interfacce VIA.

    Supporto per le interfacce e schede Promise e Artop PCI UDMA.  Le
     interfacce a scheda Triones PCI UDMA non sono ancora incluse.

     Essa  anche concepita perch sia facile estendere il supporto per
     altri chipset.

  Qui vi sono alcune note di Andre Balsa, autore di una precedente
  patch:



       Le prestazioni con i dischi IBM UDMA su una buona scheda madre si
       avvicinano alla massima velocit di trasferimento: circa 10
       Mb/s (misurata con hdparm -t -T).
       Il chipset Intel TX ha una FIFO singola per i dati dei dischi rigidi
       ripartita tra le sue due interfacce IDE, cos usando due dischi
       UDMA non si hanno grossi miglioramenti rispetto ad un singolo
       disco. Tuttavia, il SiS5598 ha due interfacce separate, ognuna con la
       sua propria FIFO. Teoricamente, si potrebbe raggiungere la
       velocit di trasferimento di picco di 66Mb/s sulle schede madri
       con il chip SiS5598 usando il driver md ed il data striping sui due
       dischi. Il SiS5571 ha la stessa architettura d'interfaccia, credo. Non
       ho i datasheet (le specifiche tecniche - n.d.t.) per i chipset VIA,
       cos non posso dire niente su questi.
       Il driver per il kernel Linux IDE (U)DMA di Mark Lord 
       particolarmente veloce da installare (cio ritardo per il
       trasferimento dei dati). Questo  l'ideale per piccoli
       trasferimenti di dati (come quelli in un server delle news per Linux),
        pu essere in alcuni casi superiore alla sua
       controparte SCSI.



  8.  Attivare e disattivare l'UDMA



  Normalmente un kernel UDMA-consapevole abiliter automaticamente il
  supporto per l'UDMA per i dischi e le interfacce che lo supportano. In
  molti casi in cui questo non si verifica, il kernel o non sapr
  riconoscere il vostro chipset IDE (procuratevi voi stessi una patch,
  vedere ``sopra'') o non riuscir ad abilitarlo (Meglio non farlo!).

  Tuttavia, in alcuni casi il disco  in grado di riconoscere l'UDMA
  per il BIOS passa la palla e non lo riferisce correttamente, forzare
  l'uscita pu essere utile.



  8.1.  Usare i parametri di boot per il kernel

  Sui kernel 2.1.113 e superiori, potete abilitare il DMA per entrambi i
  dischi sull'interfaccia IDE data usando il parametro del kernel
  ideX=dma, dove X  il numero dell'interfaccia (la prima  0). Tuttavia
  pu darsi che questo forzi realmente l'UDMA.


  I parametri di boot del kernel possono essere impostati usando LILO,
  LOADLIN, o molti altri boot loader per Linux. Per ulteriori
  informazioni vedere il Bootdisk HOWTO.



  8.2.  Usare hdparm

  hdparm  il programma usato per aggiustare i parametri dei dischi
  rigidi sotto Linux.

  Tra le altre cose potete usarlo per abilitare o disabilitare l'UDMA
  per un disco e testare la sua velocit di trasferimento sostenuta.


  La versione attuale di hdparm, mentre sto scrivendo,  la 3.6. Le
  vecchie versioni non rattoppate non riporteranno o non imposteranno
  correttamente le informazioni sull'UDMA, per essere sicuri
  aggiornatevi! Potete ottenere il codice sorgente di hdparm 3.6 su
  http://metalab.unc.edu/pub/Linux/system/hardware/hdparm-3.6.tar.gz.

  Compilatelo e installatelo con qualcosa di simile:



       tar zxvf /tmp/download/hdparm-3.6.tar.gz
       cd hdparm-3.5
       make
       su root
       (type password when prompted)
       make install
       cp /usr/local/sbin/hdparm /sbin/hdparm
       exit



  Per abilitare il DMA per un disco rigido: hdparm -d1 /dev/hda

  Per disabilitare il DMA per un disco rigido: hdparm -d0 /dev/hda

  Per misurare la velocit di trasferimento di un disco rigido: hdparm
  -Tt /dev/hda

  Per vedere quali opzioni sono abilitate per un disco rigido: hdparm
  /dev/hda

  Per vedere pi informazioni sul vostro disco rigido di quelle che
  volevate sapere: (questo vi mostrer quali modi UDMA sono
  supportati/abilitati) hdparm -i /dev/hda

  Per informazioni pi dettagliate (come per esempio per scegliere quale
  modo UDMA usare) leggete la pagina man ("man 8 hdparm").


  9.  Problemi

  9.1.  La lista nera per l'UDMA


  I seguenti dischi sono sulla lista nera. Non potrete usare l'UDMA con
  questi dischi poich forse potrebbe danneggiare i dati.  Per evitare
  questo, il driver disabiliter automaticamente l'UDMA per questi
  dischi,



    Western Digital WDC AC11000H, AC22100H, AC32500H, AC33100H,
     AC31600H - tutte le versioni

    Western Digital WDC AC32100H revisione 24.09P07

    Western Digital WDC AC23200L revisione 21.10N21


  9.2.  Avete overcloccato?


  Se l'avete fatto, state attenti! Segue una citazione dalla
  documentazione per l'Udma-generic:



       NON OVERCLOCCATE il bus PCI. 37.5MHz  la velocit
       massima supportata dal bus PCI. Alcuni dischi UDMA (supposti compatibili)
       non dovranno mai essere portati a 37.5MHz, ma potrebbero essere
       OK a 33.3MHz. In ogni caso, MAI, MAI impostare il bus PCI a 41.5MHz.
       L'impostazione di sicurezza RACCOMANDATA  di 33MHz.



  9.3.  Il vostro BIOS  aggiornato?


  Segue un altro estratto dalla documentazione dell'udma-generic:



  Il vero lavoro implicava che l'impostazione del chip per il
  trasferimento DMA venisse fatta principalmente dal BIOS di ogni scheda
  madre. Ora, invece si spera che il BIOS sia stato correttamente
  programmato...
  Per esempio, la scheda madre ASUS SP-97V con il suo BIOS originale
  (Rev. 1.03) poteva funzionare male con il driver Linux modificato in
  entrambi i modi UDMA e UDMA2; avrebbe lavorato meglio usando il PIO
  mode 4, o sotto windows 95 in tutti i modi. Ho scaricato l'ultima
  immagine del BIOS (Rev. 1.06) dal sito web della ASUS ed ho aggiornato
  il BIOS EPROM con l'ultima versione del BIOS. Da allora in poi ha
  funzionato perfettamente (con la velocit del bus a 66 MHz).
  Ci che questo ci dice  che il BIOS imposta il
  controller DMA con dei specifici parametri di sincronizzazione
  (impulsi attivi e ritorno dei cicli del clock). La mia revisione del
  BIOS iniziale probabilmente aveva una scorretta sincronizzazione. Da
  quando il driver per windows 95 ha impostato queste sincronizzazioni
  da solo (cio esso non dipende dal BIOS per impostare i
  parametri di sincronizzazione del controller del disco rigido)
  ho avuto dei problemi solo con il driver per Linux,
  mentre windows 95 funzionava bene. Cos lasciatemi dichiarare
  ancora questo: questo driver UDMA per Linux dipende dal BIOS per una
  corretta impostazione del controller UDMA. Se avete dei problemi, per
  prima cosa controllate di avere l'ultima versione del BIOS per la
  vostra specifica scheda madre.
  ...
  Le nuove revisioni del BIOS possono essere scaricate dal sito web del
  costruttore della vostra scheda madre. Aggiornare una nuova immagine
  del BIOS  una operazione semplice ma si devono seguire
  rigorosamente passo per passo le istruzioni spiegate sul manuale della
  scheda madre. Le ultime revisioni dell'Award BIOS sembrano stabili
  rispetto all'UDMA. Qualsiasi cosa con la data del 1998 dovrebbe essere
  soddisfacente.



  9.4.  Se ancora non riesco a farlo funzionare!

  Se niente in questo documento vi  stato di aiuto, o almeno non vi ha
  aiutato abbastanza per far funzionare la vostra macchina, la vostra
  miglior scommessa  di scrivere un messaggio che descriva
  completamente le vostre difficolt, che tipo di interfaccia UDMA
  avete, sia che sia a bordo, sia che sia una scheda, se il vostro disco
   attualmente UDMA o un normale EIDE, esattamente che configurazione
  del disco avete, quale versione (se possibile distribuzione e versione
  del kernel) di Linux state usando e qualsiasi altra cosa che possa
  sembrare utile, e speditela al newsgroup comp.os.linux.hardware.
  Probabilmente otterrete presto alcuni suggerimenti che potranno
  esservi d'aiuto.


  10.  Se avete alcune informazioni sulle novit dell'UDMA che non sono
  incluse in questo mini howto...

  Grande! Se sapete delle cose che non so, inviatemele con qualsiasi
  mezzo (brion@pobox.com) e le includer in questo documento
  aggiornandolo completamente al pi presto.



