  The Linux Ultra-DMA Mini-Howto
  Brion Vibber, brion@pobox.com
  v2.1, 27 Maggio 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.
  ______________________________________________________________________

  Indice Generale


  1. Introduzione
     1.1 Liberatoria
     1.2 Crediti
     1.3 Storia del documento
     1.4 Diritti di riproduzione

  2. Cos' l'Ultra-DMA e perch dovrei volerlo?
     2.1 IDE, EIDE & ATAPI
     2.2 Bus Master DMA
     2.3 Ultra-DMA alias Ultra-ATA alias Ultra33 alias...
     2.4 Perch  sempre "Ultra"
     2.5 Come confrontare l'UDMA con lo SCSI?

  3. Usare il vostro disco rigido UDMA con un'interfaccia EIDE
  4. Usare i vostri dischi rigidi con un'interfaccia UDMA
  5. Interfacce PCI UDMA non a bordo
     5.1 Promise Ultra33
     5.2 Promise Ultra66
     5.3 Artop ATP850UF
     5.4 Aggiungere file di dispositivo

  6. Interfacce UDMA a bordo.
     6.1 Intel FX, HX, VX, TX, e LX
     6.2 Il VIA VP2 e i chipset con esso compatibili
     6.3 TX Pro e altre schede 'Pro'

  7. UDMA-Generic
  8. Attivare e disattivare l'UDMA
     8.1 Usare i parametri di boot per il kernel
     8.2 Usare hdparm

  9. Problemi
     9.1 La lista nera per l'UDMA
     9.2 Avete overcloccato?
     9.3 Il vostro BIOS  aggiornato?
     9.4 Se ancora non riesco a farlo funzionare!

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


  ______________________________________________________________________

  11..  IInnttrroodduuzziioonnee


  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,
  avete bisogno di scavalcare ostacoli straordinari semplicemente per
  accedere ai vostri dischi rigidi.


  11..11..  LLiibbeerraattoorriiaa


  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
  FFAATTEE UUNNAA CCOOPPIIAA DDII BBAACCKKUUPP DDEEII DDAATTII CCHHEE VVOOLLEETTEE CCOONNSSEERRVVAARREE!!  Se non avete
  ancora fatto dei backup regolarmente, iniziate subito a farli per il
  vostro bene.


  11..22..  CCrreeddiittii

  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:hedrick@Astro.Dyer.Vanderbilt.Edu> - Grand
  unified UDMA patch per i kernel 2.0.34+, Artop ATP850UF

  Norman Jacobowitz - (Bugged me) per 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> - La 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1..33..  SSttoorriiaa ddeell ddooccuummeennttoo


  v2.1, 27 Maggio 1999: Corrette alcune lacune ed errori minori della
  2.0 e aggiunto 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
  _c_o_n 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1..44..  DDiirriittttii ddii rriipprroodduuzziioonnee


  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2..  CCooss'' ll''UUllttrraa--DDMMAA ee ppeerrcchh ddoovvrreeii vvoolleerrlloo??

  Segue una breve panoramica sui dischi basati sulle tecnologie IDE:


  22..11..  IIDDEE,, EEIIDDEE && AATTAAPPII


  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..22..  BBuuss MMaasstteerr DDMMAA



  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2..33..  UUllttrraa--DDMMAA aalliiaass UUllttrraa--AATTAA aalliiaass UUllttrraa3333 aalliiaass......

  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 la
  lunghezza del cavo deve essere tenuta pi corta per l'UDMA, rispetto
  al DMA semplice, preferibilmente meno di 30 cm (12") di lunghezza
  massima. 66 MB/s richiedono un cavo speciale che deve essere tenuto
  anche pi corto.


  22..44..  PPeerrcchh  sseemmpprree ""UUllttrraa""


  Prima di proseguire, lasciatemi chiarire un malinteso. Quello che 33 o
  66 MB/s rappresentano  il ppiiccccoo ddii vveelloocciitt ddii ttrraassffeerriimmeennttoo, 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 di 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 vveelloocciitt ddii ttrraassffeerriimmeennttoo ssoosstteennuuttaa, 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.

  22..55..  CCoommee ccoonnffrroonnttaarree ll''UUDDMMAA ccoonn lloo SSCCSSII??


  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3..  UUssaarree iill vvoossttrroo ddiissccoo rriiggiiddoo UUDDMMAA ccoonn uunn''iinntteerrffaacccciiaa EEIIDDEE


  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4..  UUssaarree ii vvoossttrrii ddiisscchhii rriiggiiddii ccoonn uunn''iinntteerrffaacccciiaa UUDDMMAA

  Bene, ci sono buone notizie e cattive notizie. La buona notizia  che
  l'interfaccia UDMA pu essere usata sia con i dischi rigidi UDMA e 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 ci sono numerose patch disponibili per i
  kernel attualmente esistenti. 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5..  IInntteerrffaaccccee PPCCII UUDDMMAA nnoonn aa bboorrddoo


  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. Pu essere trovata anche preinstallata 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 la avete 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, in questo caso avrete bisogno
  di ricorrere a strani stratagemmi.



  55..11..  PPrroommiissee UUllttrraa3333


  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 e pu o non pu esserci in modelli pi recenti.

  I kernel 2.0.35 e successivi e tutti i kernel 2.2.x supportano
  l'Ultra33 e non dovreste avere problemi installando una distribuzione
  basata su questi kernel. Tuttavia i pi vecchi kernel stabili (2.0.34
  e precedenti) non lo supportano, e poich molte distribuzioni pi
  vecchie di Linux includono questi vecchi kernel si possono 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).

  IInnssttaallllaarree LLiinnuuxx ccoonn ll''UUllttrraa3333

  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.

  RReedd HHaatt 55..1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 una 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 sopra, e riavviate dal
  dischetto di avvio. Ora, digitate "linux ide2= _(_q_u_e_s_t_o _q_u_a_n_d_o _d_a_t_e _i
  _n_u_m_e_r_i _c_o_m_e _m_o_s_t_r_a_t_o _s_o_p_r_a_) ide3=_(_a_l_t_r_i _n_u_m_e_r_i_) ".

  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.

  RReedd HHaatt 55..00 e SSllaacckkwwaarree 33..4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 non tener conto
  della non necessaria ide0 con la 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 rescue, 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, avrete un po' da improvvisare ma il processo
  dovrebbe essere lo stesso come sopra.

  _I_M_P_O_R_T_A_N_T_E_: Senza la patch (discussa nella sezione ``UDMA-Generic''),
  il kernel nneecceessssiittaa ddii questi parametri di boot per accedere al vostro
  disco rigido! Inoltre  molto importante che quando configurate LILO
  sia sul disco rigido che sul floppy d'avvio, diate eessaattttaammeennttee ggllii
  sstteessssii ppaarraammeettrrii 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 ad un normale floppy di boot (fatto con "make
  zdisk"), ddoovveettee 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 hanno 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 state usando un lettore CD-ROM IDE connesso alla vostra
  interfaccia a bordo per l'installazione, 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.


  IInnssttaallllaarree LLiinnuuxx ccoonn ll''UUllttrraa3333

  Se non riuscite a far funzionare il rimedio software potete provare un
  approccio molto pi brutale!  Qui c' 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.  NNBB:: se non avete
  familiarit con i processi di connessione dei dischi IDE, lleeggggeettee ii
  mmaannuuaallii 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 _v_e_r_a_m_e_n_t_e
  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 usando LILO,
  riconfigurate LILO per usare la nuova posizione del disco (la
  configurazione di LILO  al di fuori dello scopo di questo documento,
  se non sapete come fare leggete il LILO mini-HOWTO), 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 no
  (per esempio la mia  /dev/hde7), allora usate l'appropriato numero di
  partizione.  Riavviate. Il vostro sistema ora dovrebbe funzionare
  bene.

  AApppplliiccaarree llee ppaattcchh ppeerr ll''UUllttrraa3333

  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.

  UUssaarree 22 sscchheeddee UUllttrraa3333 iinn uunnaa mmaacccchhiinnaa

  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5..22..  PPrroommiissee UUllttrraa6666


  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.dyer.vanderbilt.edu/server/udma/, 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 avrete
  da tirare i medesimi sporchi trucchi come per l'Ultra33 nella sezione
  sopra.


  55..33..  AArrttoopp AATTPP885500UUFF

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


  55..44..  AAggggiiuunnggeerree ffiillee ddii ddiissppoossiittiivvoo


  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6..  IInntteerrffaaccccee UUDDMMAA aa bboorrddoo..

  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6..11..  IInntteell FFXX,, HHXX,, VVXX,, TTXX,, ee LLXX


  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6..22..  IIll VVIIAA VVPP22 ee ii cchhiippsseett ccoonn eessssoo ccoommppaattiibbiillii


  Anche questa interfaccia pu essere rilevata automaticamente in
  modalit EIDE dal kernel senza patch, ma se avete una di queste,
  vorrete sicuramente applicare una patch cos potrete ottenere un
  volume di traffico pi veloce ed eliminare gli irritanti messaggi
  "dispositivo PCI sconosciuto". Una  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 ``UDMA-
  Generic''.


  66..33..  TTXX PPrroo ee aallttrree sscchheeddee ''PPrroo''


  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.



  77..  UUDDMMAA--GGeenneerriicc

  La patch UDMA generic, modificata da Andr Balsa
  <mailto:andrebalsa@altern.org>, Andre Hedrick
  <mailto:hedrick@Astro.Dyer.Vanderbilt.Edu>, e Michel Aubry
  <mailto:giovanni@sudfr.com> dal driver originale di Mark Lord per la
  TRITON DMA, fornisce il supporto UDMA per i seguenti chipset (dalla
  versione 0.3)

    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.

  L'Udma-generic, conosciuta anche come la Grand Unified UDMA Patch
  (GUUP - pronunciata "goop"),  stata inclusa nella patch Jumbo che
  include altre caratteristiche utili quali la rilevazione automatica
  della memoria oltre i 64 Mb e la rilevazione della velocit del clock
  della CPU.  Sfortunatamente questa patch  scomparsa e non sono
  completamente sicuro di dove trovare questa patch ora, cos invece uno
  potrebbe andare su http://www.dyer.vanderbilt.edu/server/udma/ dove si
  pu trovare una patch per l'IDE/UDMA per gli attuali kernel 2.0.x e
  2.2.x, che ora include il supporto per i chipset HPT343 e ALi15x3.
  Qui vi sono alcune note dell'autore:



       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8..  AAttttiivvaarree ee ddiissaattttiivvaarree ll''UUDDMMAA



  Normalmente un kernel UDMA-consapevole abiliter automaticamente il
  supporto per l'UDMA per i dischi e le interfacce che lo supportano.
  Tuttavia a partire dal kernel 2.1.113 i trasferimenti dal disco in
  UDMA sono disabilitati come predefinizione, a meno che non abbiate
  specificatamente configurato il kernel per rilevarlo automaticamente.
  Questo pu sembrare un inconveniente, ma molti dischi e molte
  interfacce non funzionano correttamente con il DMA attivato; vedere la
  lista nera per l'UDMA sotto.


  88..11..  UUssaarree ii ppaarraammeettrrii ddii bboooott ppeerr iill kkeerrnneell

  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). 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8..22..  UUssaarree hhddppaarrmm

  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 corrente di hdparm, 3.5i mentre sto scrivendo, 
  disponibile su http://www.dyer.vanderbilt.edu/server/udma/.

  Compilatelo e installatelo con qualcosa di simile:



       cd /usr/src
       tar zxvf /tmp/download/hdparm-3.5.tar.gz
       cd hdparm-3.3
       cat /tmp/download/hdparm-3.5i.patch | patch -p0
       make
       if [ -f /sbin/hdparm ]; then rm -f /sbin/hdparm ; fi
       make install
       cp /usr/local/sbin/hdparm /sbin/hdparm



  PPeerr aabbiilliittaarree iill DDMMAA ppeerr uunn ddiissccoo rriiggiiddoo:: hdparm -d1 /dev/hda

  PPeerr ddiissaabbiilliittaarree iill DDMMAA ppeerr uunn ddiissccoo rriiggiiddoo:: hdparm -d0 /dev/hda

  PPeerr mmiissuurraarree llaa vveelloocciitt ddii ttrraassffeerriimmeennttoo ddii uunn ddiissccoo rriiggiiddoo:: hdparm
  -Tt /dev/hda

  PPeerr vveeddeerree qquuaallii ooppzziioonnii ssoonnoo aabbiilliittaattee ppeerr uunn ddiissccoo rriiggiiddoo:: hdparm
  /dev/hda

  PPeerr vveeddeerree ppii iinnffoorrmmaazziioonnii ssuull vvoossttrroo ddiissccoo rriiggiiddoo ddii qquueellllee cchhee
  vvoolleevvaattee ssaappeerree:: 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9..  PPrroobblleemmii

  99..11..  LLaa lliissttaa nneerraa ppeerr ll''UUDDMMAA


  I seguenti dischi sono sulla lista nera. NNoonn potrete usare l'UDMA con
  questi dischi poich forse potrebbe danneggiare i dati.


    Western Digital WDC AC22100H

  La porzione UDMA della patch Jumbo-2.0.35-9 disabiliter
  automaticamente il DMA per questo disco.


  99..22..  AAvveettee oovveerrccllooccccaattoo??


  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 (supposti compatibili) dischi
       UDMA 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9..33..  IIll vvoossttrroo BBIIOOSS  aaggggiioorrnnaattoo??


  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)
  inizialmente 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9..44..  SSee aannccoorraa nnoonn rriieessccoo aa ffaarrlloo ffuunnzziioonnaarree!!


  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.


  1100..  SSee aavveettee aallccuunnee iinnffoorrmmaazziioonnii ssuullllee nnoovviitt ddeellll''UUDDMMAA cchhee nnoonn ssoonnoo
  iinncclluussee iinn qquueessttoo mmiinnii hhoowwttoo......

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



