
                         Le Linux Ultra-DMA Mini Howto

Brion Vibber, brion@pobox.com -- traduction : Maxime Baudin
mbaudin@club-internet.fr

   v2.0, 7 Aot 1998
     _________________________________________________________________

   _Ce document est destin  expliquer comment utiliser des disques et
   des interfaces UltraDMA (aussi connus sous le nom de Ultra-ATA ou bien
   Ultra-33) sous linux. La version la plus rcente de ce document peut
   tre trouve,en version originale,  l'adresse suivante :
   http://pobox.com/~brion/linux/Ultra-DMA.html. Et en version franaise
    : http://www.freenix.org/linux/mini/Ultra-DMA.html._
     _________________________________________________________________

1. Introduction

   Ce document est destin  expliquer comment utiliser des disques et
   des interfaces UltraDMA (aussi connus sous le nom de Ultra-ATA ou bien
   Ultra-33) sous Linux. Dans certains cas, vous n'aurez aucun problme
   pour exploiter ce type de matriel, mais quelques conseils permettront
   d'accrotre ses performances. Dans d'autres cas vous devrez faire
   d'normes efforts simplement pour accder  vos disques.

1.1 Mise en garde

   Les informations contenues dans ce document sont (autant que je sache)
   correctes et devraient fonctionner. Toutefois, il peut y avoir des
   erreurs de frappe, de mystrieuses erreurs de transmission, ou bien
   des incompatibilits dans votre systme qui rendront inefficaces les
   techniques dcrites dans ce document. Alors avant de "faire le malin"
   avec vos disques : FAITES DES SAUVEGARDES DE VOS DONNES VITALES !!!
   Si vous ne faites pas de sauvegardes rgulires, il serait temps de
   commencer pour plus de scurit.

1.2 Remerciements

   Michel Aubry - patch permettant l'utilisation de l'UDMA sur les jeux
   de composants (chipsets) VIA et apparents pour les noyaux <=2.0.33 &
   d'autres infos, patch "grand unified UDMA" pour le 2.0.34 et +

   Andrew Balsa - Pour ses infos gnrales sur l'UDMA et le patch
   gnrique UDMA pour les jeux de composants (chipsets) INTEL TX, SiS et
   VP1

   Maxime Baudin - Traduction franaise

   Bokonon - ``Contrleur'' contre ``interface''

   John G ( prefect@ipass.net) - pour la cration du patch VIA VP2 et
   pour les informations qu'il m'a donnes

   John G. - Patch pour l'UDMA et le VIA plus quelques informations

   Martin Gaitan - pour la carte Promise ide0/ide1

   Andre M. Hedrick - Patch "Grand unified UDMA" pour le noyau 2.0.34+,
   Artop ATP850UF

   Norman Jacobowitz - pour m'avoir donn des infos sur le VIA3

   John Levon - Info sur les jeux de composants TX Pro mobos

   Peter Monta - Info sur l'utilisation de deux cartes Ultra33

   Masayoshi Nakano - Traduction Japonaise

   Gadi Oxman - pour la cration du patch pour la carte Promise Ultra33
   et pour avoir trouv les nombres magiques permettant un contournement
   logiciel du problme.

   Andy Pearce - Suggested adding info on the additional device files for
   hde-h

   Andrei Pitis - LILO patch

   Brion Vibber - Ce document

1.3 Historique de ce document

   V2.0, 7 Aot 1998 : Grosses modifications et restructuration presque
   totale du document en deux parties : les interfaces intgrs aux
   cartes mres et les cartes d'extensions. Ajout du patch "Grand Unified
   UDMA" (composantes du patch Jumbo) pour le noyau 2.0.35. Les
   remerciements sont dsormais dans l'ordre alphabtique. Changement du
   mot "contrleur" par "interface" paraissant plus correct techniquement
   dans beaucoup de cas. Ajout d'info  propos de
   l'activation/dsactivation de l'UDMA, de la liste noire et de bien
   d'autres choses.

   v1.45, 6 Juillet 1998 : mise , jour - Red Hat 5.1 et un patch du
   noyau 2.0.34 pour la carte Promise Ultra33. Patch de LILO permettant
   de dmarrer indpendamment des cartes contrleurs PCI telles que la
   carte Promise Ultra33.

   v1.41, 3 Mai 1998 : Correction de quelques fautes, ajouts des
   traducteurs dans la section Remerciement.

   v1.4, 28 Avril 1998 : Patch gnrique pour L'UDMA, plus quelques
   informations gnrale. Ajout de la section Copie et distribution.

   v1.3, 5 Mars 1998 : infos sur le VIA VP3, de meilleures instructions
   pour les patchs, mise  jour des pointeurs pour patcher la carte
   Promise.

   v1.2, 27 Janvier 1998 : Infos supplmentaires pour l'environnement de
   la carte Promise.

   v1.1, 21 Janvier 1998 : Nouvelles infos sur le jeu de composant VIA,
   installation avec une Promise Ultra33 et validation des modes de
   transfert Bus Master et UDMA.

   v1.0, 19 Janvier 1998 : Plus ou moins complet, premire version en
   SGML.

1.4 Copies et distribution

   Ce document peut tre copi et distribu sans restriction  titre
   d'information. Il ne doit pas tre modifi, except pour tre remis en
   page, sans la permission de l'auteur. Vous pouvez traduire ce document
   dans une autre langue, cependant il est conseill de contacter
   l'auteur en premier lieu, de sorte que les mises  jour de ce document
   vous soient envoyes en mme temps qu'au Linux Documentation Projet.

2. Qu'est ce que l'Ultra DMA et pourquoi l'utiliser

   Voici un rapide survol des diffrentes technologies bases sur l'IDE.

2.1 IDE, EIDE et ATAPI

   Ce sont les "anciens" standards. La plupart des disques et contrleurs
   non-SCSI que l'on trouve actuellement sont, dsormais, au standard
   EIDE. Cependant les disques les plus rcents sont au standard UDMA.

2.2 Bus Master DMA

   Le Bus Master DMA est une technologie permettant d'acclrer le dbit
   de vos disques durs. Elle requirt des cartes mres ainsi que des BIOS
   spcifiques et bien entendu un disque exploitant ces possibilits.

   Vous trouverez de plus amples informations  l'adresse suivante :
   http://developer.intel.com/design/pcisets/busmatr/FAQs.htm

2.3 Ultra-DMA, ou bien Ultra-ATA, ou bien Ultra33 et tous ce qui commence par
Ultra...

   Comme vous pouvez le constater, l'Ultra-DMA a beaucoup de noms,
   appelons-le UDMA.

   L'UDMA est la technologie IDE la plus avance  l'heure actuelle. Elle
   permet d'atteindre des taux de transfert de 33.3 Mb/s, c'est  dire
   deux fois plus que l'EIDE, et pour un prix largement infrieur au
   SCSI. La plupart des nouveaux ordinateurs sont dsormais livrs avec
   des contrleurs et des disques UDMA. Il est aussi possible d'ajouter
   un contrleur UDMA sur un systme pour en augmenter les performances
   (comme la carte Promise Ultra33), mme si vous utilisez de "vieux"
   disques IDE.

   Pour en apprendre plus sur l'UDMA, allez donc jeter un coup d'oeil 
   l'adresse suivante : http://www.quantum.com/src/whitepapers/ultraata/

    noter que la longueur des nappes des disques UDMA doit tre plus
   courte qu'avec du DMA ordinaire, prfrez en gnral des cbles longs
   de 30 cm (12') au maximum.

2.4 Est-ce vraiment le "nec plus Ultra"

   Avant d'aller plus loin, claircissons un malentendu. Le taux de
   transfert de 33 Mb/s indiqu est le _taux de transfert en mode
   rafale_, et ce n'est pas quelque chose que vous verrez trs souvent.
   Pour comprendre, voici un extrait de l'"udma-generic" : UDMA.txt

Les taux de transfert en rafale sont supposs aller de 16.6Mb/s (mode PIO 4) 
16.6Mb/s
(DMA mode 2) et jusqu' 33Mb/s (UDMA). Dans son patch pour le noyau 2.1.55, Kim
-Hoe 
mesur des taux de transfert en rafale avec un analyseur logique : 60ns/mot, ce
 qui
quivaut  33Mb/s.

 noter que ces taux de transfert ne s'appliquent de sur/depuis le cache disque
 (476kB pour le
disque IBM 6.4 Gb) et  mon avis ne sont pas particulirement significatifs pou
r la
majorit des utilisateurs de Linux.


Le noyau de Linux utilise le plus de RAM possible comme cache disque, et donc s
i les donnes
ne sont pas dans le cache du noyau, il y a peu de chances qu'elles soient dans
le cache disque (de
taille moins important).

   Le _taux de transfert continu_, la vitesse  laquelle les donnes
   peuvent tre transfres du disque  la mmoire centrale o elles
   pourront tre utilises, est beaucoup plus significatif. Un moyen
   simple pour mesurer le "taux de transfert continu" est d'utiliser la
   commande hdparm, par exemple " hdparm -Tt /dev/hda" permet de mesurer
   le taux de transfert du premier disque IDE.

Voici quelques informations rassembles aprs de nombreux tests, en utilisant
 l'utilitaire hdparm (crit aussi par Mark Lord) :

Taux de transfert du mode PIO 4 sous Linux :    +/- 5.2 Mb/s

Taux de transfert du DMA mode 2 sous Linux :    +/- 7.2 Mb/s

Taux de transfert de l'UDMA mode 2 sous Linux : +/- 9.8 Mb/s

   Comme vous pouvez le constater, l'UDMA est toujours deux fois plus
   rapide que l'EIDE simple et plus rapide que le bus Mastering.

2.5 Comparer l'UDMA au SCSI

   Je n'ai pas de chiffres  vous donner, mais le consensus gnral est
   que le SCSI haut de gamme donne de bien meilleures performances que
   l'UDMA. Cependant si vous avez rcemment regard les prix des disques
   durs, vouz avez sans doute remarqu que les disques UDMA sont
   largement moins chers. Le rapport qualit/prix est en faveur de l'UDMA
   dans pratiquement tous les cas.

3. Utiliser vos disques UDMA avec une interface EIDE

   C'est relativement simple. Dans la mesure o les disques UDMA
   respectent la compatilibit descendante avec la norme EIDE, vous
   n'avez qu' brancher votre disque sur votre contrleur EIDE comme
   n'importe quel disque et Linux ne devrait avoir aucun problme pour le
   dtecter. Toutefois vous serez bien entendu limit aux taux de
   transfert de l'EIDE.

4. Utiliser vos disques avec une interface UDMA

   Bon, j'ai une bonne nouvelle et une mauvaise nouvelle. La bonne
   nouvelle c'est que le contrleur UDMA peut piloter en mme temps des
   disques UDMA et des disques EIDE, et beaucoup plus rapidement qu'avec
   un contrleur EIDE videmment.

   La mauvaise nouvelle, c'est que l'actuel noyau stable de Linux
   (2.0.35) ne supporte pas parfaitement l'UDMA. Les noyaux de
   dveloppement (actuellement 2.1.114) intgrent un support UDMA, mais
   il existe de nombreux patchs applicables aux noyaux actuels. De plus
   certains disques UDMA possdant leur propre carte intgre, plutt que
   sur la carte mre, requirent soit d'utiliser un patch spcifique soit
   de ruser pour tre fonctionnel. C'est pourquoi ce document existe :
   pour expliquer o trouver les patchs et comment ruser.

5. Cartes d'interfaces UDMA PCI

   Il existe des cartes d'interfaces PCI qui permettent d'utiliser l'UDMA
   sur un ordinateur sans changer de carte mre, ou pour ajouter quatre
   disques supplmentaires sur une machine dont les interfaces intgres
   sont toutes utilises. Elles peuvent aussi tre trouves prinstalles
   sur certains ordinateurs, tels que les Gateway 2000 ou les Dell.

   La plupart de ces cartes ne sont pas supportes par les versions
   stables du noyau (comme le 2.0.35), vous devez appliquer un patch sur
   le noyau ou utiliser un noyau de dveloppement (la srie 2.1.x). Si
   vous devez installer Linux sur un disque prsent sur l'une de ces
   interfaces, vous aurez besoin d'utiliser quelques ruses un peu
   "tordues".

5.1 La carte Promise Ultra33 IDE

   C'est une carte PCI possdant deux canaux UDMA, permettant de
   connecter 4 disques. Toutes les informations concernant les prix, les
   spcificits etc. sont disponibles  l'adresse :
   http://www.promise.com.

   Cette carte est (par exemple) vendue avec les derniers modles Gateway
   2000  base de Pentium II, mais rien ne permet de savoir si elle sera
   livre avec les futurs modles.

   Le noyau 2.0.35 supporte explicitement l'UDMA et les noyaux de
   dveloppement (actuellement 2.1.114) intgrent un support IDE PCI
   gnrique, ce qui inclut la dtection automatique de la Promise
   Ultra33. Toutefois, les anciennes versions stables (2.0.34 et au
   dessous) n'intgrent pas ce support et dans la mesure o la plupart
   des distributions Linux incluent ces anciens noyaux, il peut s'avrer
   un peu difficile d'installer Linux.

   _Installer Linux avec une carte Promise_

   Bien qu'il existe un patch pour ce contrleur, ce n'est pas trs
   vident de l'appliquer et de recompiler votre noyau si Linux n'est pas
   encore install ! Il existe pourtant une solution, qui peut peut-tre
   marcher sur votre systme. Merci  Gadi Oxman pour les informations
   ci-dessous, permettant d'accder  la configuration de la carte.

Si l'on peut accder  une console,  partir de la disquette
d'installation, alors on peut utiliser la commande "cat /proc/pci"
permettant d'afficher les paramtres de la carte:

        RAID bus controller: Promise Technology Unknown device (rev 1).
        Vendor id=105a. Device id=4d33
        Medium devsel.   IRQ12.   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)

et passer en paramtre du noyau la commande suivante:
"ide2=a,b+2 ide3=c,d+2"

    noter que les adresses ne seront srement pas les mmes sur votre
   systme. Par exemple, si l'on prend celles dcrites ci-dessus, la
   commande sera : ''ide2=0xe000,0xd806 ide3=0xd400,0xd006''. Vous devrez
   ventuellement ajouter l'IRQ, ce qui donnera : ''ide2=0xe000,0xd806,12
   ide3=0xd400,0xd006,12''.Si vous n'utilisez que le premier canal IDE de
   la carte (si, par exemple, vous ne possdez qu'un disque, ou deux en
   matre et esclave sur le mme canal), il n'est alors pas ncessaire de
   spcifier ide3.

   _Red Hat 5.1:_ Dmarrer avec la disquette d'amorage et tapez sur la
   touche "enter"  l'invite de commande. Le noyau se chargera puis il
   vous sera demand de choisir une langue, un type de clavier et le type
   d'installation. D'autres informations, telles que le type de support
   contenant les sources, vous seront demandes. Vos rponses  tout cela
   importent peu pour le moment, le tout tant d'arriver  l'tape
   suivante. Ensuite, vous devriez tomber sur un cran avec le message
   suivant : ``Select Installation Path''. Appuyez sur Alt-F2 pour
   obtenir un invite de commande. Tapez ``cat /proc/pci'', notez les
   paramtres comme ci-dessus et redmarrez  partir de la disquette.
   Cette fois-ci, tapez ''linux ide2= _(entrez vos paramtres)_
   ide3=_(encore)_''.Il devrait dsormais tre possible de faire
   l'installation sur votre disque sans difficult, cependant, LILO ne
   pourra probablement pas s'installer ; faites plutt une disquette de
   dmarrage  laquelle vous passerez les paramtres dcrits ci-dessus
   tant que vous n'aurez pas patch LILO ainsi que le noyau.

   Avec la _Red Hat 5.0_ et la _Slackware 3.4_ : elles sont trs
   similaires, mais avec une combine pour que les programmes
   d'installation ignorent /dev/hde-h (ce sont les disques identifiant
   l'ide2 et l'ide3). Pour installer  partir de ces disques ou sur
   ceux-ci, il est ncessaire de "surcharger" une interface ou les deux
   intgres sur votre carte mre. Cependant, assurez-vous de ne pas
   craser un priphrique que vous dsirez installer ; par exemple si
   vous installez Linux  partir d'un lecteur de CD-ROM sur /dev/hdd
   (ide1 - interface intgre) sur un disque dur sur /dev/hde (ide2 - la
   carte Ultra33), vous devrez surcharger le port ide0 (peu important)
   avec le port ide2 et laisser le port ide1 intact. En utilisant les
   numros prcdents vous dmarrerez avec "ide0=0xe000,0xd806". Avec la
   RedHat 5.0 vous aurez une invite de commande en dmarrant avec la
   disquette "rescue" ; la Slackware vous propose cette invite avec la
   disquette d'amorage standard. Cependant la RedHat 5.0 a des
   difficultes pour dmarrer aprs l'installation ; si vous avez des
   problmes, vous pouvez tlcharger une disquette d'amorage Slackware
   sur ftp://ftp.cdrom.com/pub/linux/slackware-3.5/bootdsks.144/ et
   dmarrer avec.

   Avec d'autres distributions Linux, vous devrez improviser un peu, mais
   la procdure devrait tre globalement identique.

   _IMPORTANT :_ Sans le patch (prsent dans le chapitre UDMA
   gnrique), le noyau _a besoin_ de ces paramtres pour accder  vos
   disques. De plus il est indispensable qu' la configuration de LILO
   (que ce soit sur un disque ou sur une disquette) vous donniez
   _exactement les mmes paramtres_ que ceux utiliss  l'installation.
   Autrement votre systme ne dmarrera pas. Il est toujours possible de
   les fournir au prompt de LILO (pressez la touche Majuscule, puis tapez
   ''linux ide2=_...._'')  chaque dmarrage  condition de toujours
   avoir vos paramtres  porte de la main. Il est recommand de patcher
   le noyau le plus vite possible pour ne plus avoir  se soucier de a 
   chaque dmarrage. Une fois dmarr avec le noyau patch, vous n'aurez
   plus jamais  vous soucier de ces paramtres. Autant que je sache, il
   n'y a aucun moyen de passer des paramtres au dmarrage d'une
   disquette contenant un noyau (cre avec la commande ''make zdisk''),
   vous _devrez_donc utiliser LILO ou autres 'loaders' permettant le
   passage de paramtres Au dmarrage.

   Cependant, certains noyaux non patchs ont parfois des difficults
   pour utiliser les adresses ide2 et ide3, mme lorsque les disques sont
   correctement reconnus. Par consquent, si vous n'avez pas russi 
   installer linux  partir des infos ci-dessus, essayez de spcifier les
   adresses ide0 et ide1  la place de ide2 et ide3 (merci  Martin
   Gaitan pour cette technique). Cela remplace alors les contrleurs
   intgrs de votre carte mre (s'il y en a)avec ceux de la carte
   Promise. Notons que si vous avez un lecteur de CDROM IDE, branch sur
   votre carte mre,  partir duquel vous installez Linux, vous devrez
   vous assurer que vous ne supplanterez pas le contrleur sur lequel ce
   lecteur est branch sous peine de ne pas pouvoir lancer l'installation
   ! Si le lecteur de CD est sur hda ou hdb, utilisez le port ide1 pour
   vos disques ; si le lecteur est sur hdc ou hdd, utilisez le port ide0.

   _Installer Linux... puis la carte Promise _

   Si a ne marche toujours pas, vous devrez tenter une approche
   lgrement plus brutale. La mthode suivante fonctionne de faon
   pratiquement garantie, mais elle requiert que vous ouvriez votre
   ordinateur et tripatouilliez dedans. _ATTENTION :_ si vous n'avez pas
   l'habitude de brancher et dbrancher des disques IDE, avant toute
   chose : _lisez les manuels_ livrs avec votre ordinateur, vos disques
   durs et/ou la carte Promise ! Si vous bousillez quelque chose sans
   savoir le rparer, vous pourriez le regretter.

   Cela dit, c'est trs simple. De nos jours, la plupart des cartes mres
   possdent des contrleurs EIDE intgrs. Dconnectez vos disques de la
   carte Promise, et branchez-les sur les contrleurs de votre carte
   mre. Si vous avez d'autres prripriques IDE sur votre carte mre,
   tels qu'un lecteur de CD-ROM ou un ZIP, l'installation sera plus
   facile si vous branchez votre disque UDMA sur un port libre (le
   secondaire si le primaire est utilis), ou si vous retirez
   temporairement un priphrique dont vous n'avez pas immdiatement
   besoin (le lecteur ZIP IDE, ou votre lecteur de bande par exemple).
   Installez Linux, tlchargez et installez le patch pour la carte
   Promise (dcrit dans la section suivante).

   Dsormais, vous voil prt  rebrancher votre disque sur la carte
   Promise.... enfin presque. Pour plus de sret faites une disquette
   d'amorage (cd /usr/src/linux; make zdisk)  partir de laquelle vous
   pourrez dmarrer si LILO ne fonctionne pas. Soyons _trs_ prudent
   :faites-en deux et mettez la seconde de cot pour le moment.

   Bien, maintenant c'est le moment de rflchir un peu... Si vous n'avez
   qu'un disque et qu'il est sur la carte Promise, il est alors srement
   dclar en /dev/hde ( a et b pour le contrleur primaire de la carte
   mre, c et d pour le secondaire). Si vous branchez d'autres disques
   sur la carte Promise, alors le disque esclave sera en /dev/hdf, le
   disque matre du port secondaire sera en /dev/hdg et l'esclave en
   /dev/hdh.

   ditez le fichier /etc/fstab, et changez le nom de toutes les
   partitions des disques que vous dplacez du contrleur de la carte
   mre vers la carte Promise (/dev/hda -> /dev/hde ...). Si vous
   dplacez d'autres priphriques (tels que le CD-ROM, le lecteur ZIP..)
   que vous laissez sur la carte mre, pensez aussi  les renommer comme
   il se doit. Par exemple si votre CD-ROM tait en matre sur le port
   primaire (/dev/hda), puis dplac en /dev/hdc durant l'installation
   (pour pouvoir brancher votre disque dur en /dev/hda) et que vous le
   voulez le remettre en /dev/hda, alors pensez  modifier la fstab.

   Si vous utilisez LILO, n'oubliez pas de le reconfigurer pour que vos
   modifications soient prises en compte (la configuration de LILO sort
   du cadre de ce document, pour en savoir plus sur LILO, consultez le
   LILO mini-Howto), sans quoi vous ne pourrez pas redmarrer,  moins
   d'utiliser la disquette d'amorage prcdemment cre; disquette que
   vous voudrez aussi configurer pour pouvoir dmarrer sur la nouvelle
   partition. Utilisez pour cela la commande rdev. Insrez la disquette
   dans le lecteur puis tapez ''rdev /dev/fd0 /dev/hde1''. Bien entendu
   cela signifie que votre partition root est la premire partition de
   votre disque UDMA. Si ce n'est pas le cas (la mienne est sur /dev/hde7
   par exemple), utilisez videmment le bon numro de partition.

   Redmarrez. Votre systme devrait dsormais fonctionner correctement.

   _Patch pour la carte Promise_

   Les noyaux 2.0.35 et suprieurs incluent un support la carte Promise
   en natif, tlchargez et mettez  jour votre noyau  partir de votre
   distribution Linux ou  partir de http://www.kernel.org.

   Pour avoir plus d'instructions  propos de la compilation d'un noyau,
   consultez le Kernel HOWTO

   _Utiliser deux Ultra33 sur une machine_

   Cela ne fonctionne pas correctement actuellement... Ne le faites pas 
   moins d'tre dispos  bricoler le noyau pour tenter de faire en sorte
   que cela fonctionne.

5.2 Artop ATP850UF

   Cette carte est supporte par le "udma-generic". L'installation de
   Linux sur un systme possdant une telle interface doit tre trs
   similaire  celle effectue pour l'installation de la carte Promise
   Ultra33.

5.3 Ajouter des priphriques

   Les interfaces IDE tertiaire et quaternaire (ide2 et ide3) utilisent
   des priphriques de la forme /dev/hde* jusqu' /dev/hdh*. Sur les
   anciens noyaux, ces priphriques n'taient pas crs automatiquement,
   vous devrez donc les ajouter manuellement pour que tout fonctionne
   correctement.

   Cela peut facilement tre fait si vous avez install les sources du
   noyau Linux. Lancez simplement /usr/src/linux/scripts/MAKEDEV.ide pour
   crer tous les priphriques ncessaires.

6. Les interfaces UDMA intgres

   Ce sont des contrleurs de disques UDMA intgrs aux cartes mres. Ils
   utilisent les E/S IDE standards et sont donc pleinement utilisables 
   des vitesses "non-UDMA" plus lentes tels qu'ils (les contrleurs) sont
   exploits avec des noyaux non patchs (comme ceux fournis lors de
   l'installation de Linux). Par consquent, ces derniers ne devraient
   pas poser de difficults durant la phase d'installation, et les
   patcher pour exploiter la vitesse de l'UDMA tient plus du luxe que
   d'une tape fondamentale.

6.1 Intel FX, HX, VX, TX et LX

   Encore merci  Gadi pour ces infos

Le bus mastering est support sur les jeux de composants  TX  partir du noyau
2.0.31 et suprieur.

   Avec un noyau plus ancien ( comme la version 2.0.30 de la slackware
   3.4) le contrleur fonctionnera comme un contrleur EIDE. Dans tous
   les cas, le contrleur sera automatiquement dtect par le noyau et
   vous ne devriez avoir aucun problme pour l'utiliser.

   Le support UDMA complet pour ces jeux de composants (chipsets) est
   dcrit dans le chapitre: UDMA gnrique.

6.2 Le VIA VPx et les jeux de composants apparents

   Cette interface est immdiatement reconnue par un noyau non patch
   comme un contrleur EIDE, mais si en possdez un, vous serez intress
   par le fait qu'il existe un patch permettant d'un part d'amliorer les
   taux de transfert, et d'autre part de se dbarrasser du message
   "unknown PCI device".

   Vous trouverez un patch  l'adresse http://www.ipass.net/~prefect/. Il
   a t conu pour le jeux de composants VIA VP2/97 que l'on trouve sur
   les cartes mres FIC PA-2007 et PA-2011, mais il devrait fonctionner
   sur des contrleurs apparents. Ce patch fonctionne aussi sur les
   derniers contrleurs VIA VP3, mais ce n'est pas une rgle absolue.

   Ce patch permet uniquemement de faire du Bus Mastering (et pas de
   l'UDMA), mais c'est toujours mieux que le bon vieux mode EIDE. Suivez
   les instructions du site pour activer le Bus Mastering.

   Il existe un autre patch qui supporte toutes les fonctionnalits de
   l'UDMA, disponible  http://www.pyreneesweb.com/Udma/udma.html, crit
   pour le jeux de composants VIA VT82C586B, et qui devrait aussi
   fonctionner sur les VP2, VP3, VPX, P6 et AGP Appolo. Suivez les
   instructions d'installation et de mise en oeuvre, mais il est
   conseill de sauvegarder vos donnes importantes au cas o votre carte
   mre serait incompatible. Cependant, si a marche la premire fois, a
   marchera pour les suivantes.

    noter que ce patch ne fonctionne pas sur le jeu de composants VP1,
   mais ce dernier est support par le patch gnrique.

6.3 TX Pro et autres cartes "Pro"

   L'UDMA n'est pour le moment pas support par les cartes mres TX Pro.
   Ce ne sont pas les mme que les TX mobo, et elles indiquent
   apparemment mal leurs possibilits DMA, d'o le problme. J'ai entendu
   dire que quelqu'un travaillait dessus. Un patch devrait donc
   apparatre dans le futur.

7. UDMA gnrique

   Le patch gnrique pour l'UDMA, modifi par Andr Balsa (
   andrebalsa@altern.org) et Michel Aubry  partir du driver DMA pour le
   jeu de composants Triton (crit par Mark Lord), permet l'utilisation
   du mode UDMA pour les jeux de composants suivants (pour la version
   0.3) :

     * Tous les jeux de composants Intel: FX, HX, VX, TX, LX
     * Tous les jeux de composants SiS (seul le SiS5598 a t test, mais
       toute la famille a le mme priphrique intgr : le SiS5513).
     * Les jeux de composants VIA (seul le 82C586B a t test, mais ils
       sont tous basss sur la mme interface). Un support de diagnostic
       spcifique est disponible pour l'interface  base de VIA.
     * Les cartes interfaces Promise et Artop PCI UDMA. Le support pour
       la carte interface Triones PCI UDMA n'est pas encore inclus.

   Il a t crit pour pouvoir intgrer simplement de nouveaux jeux de
   composants.

   L'UDMA gnrique, aussi connu sous le nom de Grand Unified UDMA patch
   (GUUP - prononcez "goop" (NDT: "goupe"...avec un accent bien d'chez
   nous) ) a t incorpor dans le patch "Jumbo" qui intgre beaucoup
   d'autres caractristiques trs utiles telles que la dtection
   automatique de plus de 64 Mo de mmoire et la dtection de la
   frquence d'horloge du microprocesseur. Vous pouvez obtenir le patch
   Jumbo pour le noyau 2.0.35  http://www.altern.org/andrebalsa/linux/.
   Ce patch devrait aussi s'appliquer sur le noyau 2.0.36pre1 et peut
   tre au del.

   Voici quelques notes de l'auteur :

Les performances avec un disque IBM UDMA sur une bonne carte mre avoisinent le
s
10 Mb/s de taux de transfert maximum (mesur avec hdparm -T -t).

Le jeu de composant Intel TX ne possde qu'une FIFO simple partage pour ses de
ux
contrleurs IDE, par consquent utiliser 2 disques UDMA n'apportera pas de
grandes amliorations par rapport  l'utilisation d'un seul disque.
Par contre le jeu de composant SiS5598 possde deux contrleurs spars, chacun
avec sa
propre FIFO. Thoriquement, on peut approcher les 66 Mb/s de taux de transfert
sur les cartes mres possdant un SiS5598, en utilisant le driver md et en
faisant le transfert entre deux disques. Le jeu de composant SiS5571 est global
ement
identique. Je n'ai pas les spcifications du chipset VIA, je ne peux donc pas
dire grand-chose  leur propos.

Le driver (U)DMA crit par Mark Lord possde des temps de setup
particulirement faibles (temps de latence entre les transfert de donnes). C'e
st
une mthode idale pour des transferts de donnes frquents, avec des
petits
fichiers (comme ceux d'un serveur de news sous Linux), qui peut s'avrer parfoi
s
suprieur  son homologue SCSI.

8. Activer et dsactiver l'UDMA

   Normalement, un noyau intgrant l'UDMA doit automatiquement permettre
   le support UDMA sur les disques et les interfaces adquats. Cependant
   dmarrant  partir du noyau 2.1.113, les transferts DMA sont
   dsactivs par dfaut tant que vous n'aurez pas configur
   spcifiquement votre noyau pour l'activer automatiquement. Cela peut
   vous sembler un inconvnient, mais quelques disques et certaines
   interfaces ne fonctionnent pas correctement avec l'UDMA activ : voyez
   la "liste noire" ci-dessous.

8.1 Donner des paramtres au noyau  l'amorage

   Sur les noyaux 2.1.113 et suprieurs, vous pouvez activer les
   transferts DMA sur les deux disques d'une interface donne en
   utilisant le paramtre ideX=dma, o X est le numro de l'interface (la
   premire est 0).

   Les paramtres de dmarrage du noyau peuvent tre appliqus en
   utilisant LILO, LOADLIN ou la plupart des mtodes d'amorage de Linux.
   Pour plus d'informations, consultez le Bootdisk HOWTO

8.2 Utiliser hdparm

   hdparm est un programme permettant de forcer les paramtres de vos
   disques durs sous Linux. Parmi toutes ses possibilits, vous pouvez
   l'utiliser pour activer ou dsactiver l'UDMA d'un disque et tester son
   taux de transfert continu.

   La plupart des distributions Linux incluent hdparm, mais vous devrez
   appliquer un patch pour inclure le support UDMA. Vous pouvez
   tlcharger hdparm 
   ftp://sunsite.unc.edu/pub/Linux/system/hardware/hdparm-3.3.tar.gz et
   le patch  htmlurl
   name="http://pobox.com/ brion/linux/hdparm-3.3-udma.patch.gz"
   url="http://pobox.com/ brion/linux/hdparm-3.3-udma.patch.gz">.

   Compilez-le et installez-le comme suit :

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

   _Pour activer l'UDMA sur un disque dur :_ hdparm -d1 /dev/hda

   _Pour dsactiver l'UDMA :_ hdparm -d0 /dev/hda

   _Pour mesurer le taux de transfert d'un disque :_ hdparm -Tt /dev/hda

   _Pour voir quelles options sont actives :_ hdparm /dev/hda

   _Pour avoir plus de dtails sur votre disque :_ hdparm -i /dev/hda

   Pour plus de prcisions, lisez le man (``man 8 hdparm'').

9. Problmes

9.1 La liste noire

   Les disques suivants sont sur liste noire. Vous _ne devez pas_
   utiliser l'UDMA avec ces disques sous peine de corrompre vos donnes.

     * Western Digital WDC AC22100H

   La partie UDMA du patch Jumbo-2.0.35-9 dsactivera automatiquement le
   DMA sur ce disque.

9.2 Avez-vous "overclock" votre machine ?

   Si oui, prenez garde ! Voici un extrait de la documentation de
   l'"udma-generic" :

N'OVERCLOCKEZ PAS le bus PCI. La frquence maximum supporte par le bus PCI est
 de
37.5 Mhz. Certains (supposs compatibles) disques UDMA ne fonctionneront mme p
as
 37.5 Mhz, mais devraient tre OK  33.3 Mhz.

Dans tous les cas,ne JAMAIS, JAMAIS configurer le bus PCI a 41.5 Mhz

La frquence RECOMMANDE et sans danger est de 33 Mhz.

9.3 Votre BIOS l'accepte-t-il ?

   Voici un autre extrait de la documentation de l'"udma-generic" :

Le vritale travail impliquant le paramtrage des composants pour les transfert
s DMA
 est ralis principalement par le BIOS de chaque carte mre. Maintenant, bien
 entendu, il faut esprer que le BIOS a t correctement programm...

Par exemple, la carte mre ASUS SP-97V avec son BIOS original (Rev. 1.03)
 aura un dysfonctionnement avec les pilotes modifis pour les modes UMDA et DMA
 mode 2;
 Cela fonctionnera correctement si vous utilisez le mode PIO 4, ou sous Windows
 95 dans tous
 les modes. J'ai tlcharg la dernire image du BIOS (1.06) 
 partir du site Web ASUS et flash l'EPROM avec cette version. Cela fonctionne
 parfaitement depuis (avec un bus  66 Mhz).

Cela nous indique bien que c'est le BIOS qui initialise le contrleur DMA avec
des
 timing spcifiques, Ma rvision de  BIOS initiale avait probablement
 de mauvais timings. Comme les pilotes de Windows 95 les initialise lui-mme(c.
a.d. qu'
 il ne se sert pas du BIOS pour paramtrer les timings de l'interface), je n'av
ais des
 problmes qu'avec les pilotes de Linux, tandis que Windows 95 fonctionnait cor
rectement.

Donc, laissez-moi vous le rpter encore une fois : les pilotes (U)DMA Linux s'
appuient
 sur des donnes du BIOS en supposant qu'elles sont correctes. Si vous avez le
moindre
 problme, vrifiez d'abord que vous avez la dernire rvision du BIOS de
 votre carte mre.

...

Les dernires versions du BIOS sont disponibles sur le site Web de votre fabriq
uant
 de carte mre. "Flasher" une nouvelle image du BIOS est une opration simple,
mais
 vous devez respecter strictement les intructions du manuel de votre carte mre
.

Les dernires rvisions des BIOS Award semblent suffisamment stables pour utili
ser
 l'UDMA. Tout ce qui possde une date avec 1998 devrait tre correct.

9.4 Et si a ne marche toujours pas...

   Si aucune des explications contenues dans ce document ne s'avrent
   utile ou au moins suffisante pour faire fonctionner votre machine, le
   mieux est d'envoyer un message dcrivant prcisment votre problme,
   votre contrleur UDMA (que ce soit sur un carte mre ou fille), si vos
   disques sont UDMA ou non, leur configuration, votre version de Linux
   (distribution + version de noyau) et tout ce qui peut vous sembler
   utile.

10. Si vous avez des infos sur l'UDMA qui ne sont pas recenses ici

   Merveilleux ! Si vous savez des choses que je ne sais pas, envoyez-les
   moi par tous les moyens ( brion@pobox.com) et je les inclurai dans ce
   document le plus rapidement possible.
