Le Linux Ultra-DMA Mini Howto Brion Vibber, brion@pobox.com -- traduction : Maxime Baudin mbaudin@club-internet.fr v2.0, 7 Ao�t 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 r�cente de ce document peut �tre trouv�e,en version originale, � l'adresse suivante : http://pobox.com/~brion/linux/Ultra-DMA.html. Et en version fran�aise � : 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 probl�me pour exploiter ce type de mat�riel, mais quelques conseils permettront d'accro�tre ses performances. Dans d'autres cas vous devrez faire d'�normes efforts simplement pour acc�der � 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 myst�rieuses erreurs de transmission, ou bien des incompatibilit�s dans votre syst�me qui rendront inefficaces les techniques d�crites dans ce document. Alors avant de "faire le malin" avec vos disques : FAITES DES SAUVEGARDES DE VOS DONN�ES VITALES !!! Si vous ne faites pas de sauvegardes r�guli�res, il serait temps de commencer pour plus de s�curit�. 1.2 Remerciements Michel Aubry - patch permettant l'utilisation de l'UDMA sur les jeux de composants (chipsets) VIA et apparent�s pour les noyaux <=2.0.33 & d'autres infos, patch "grand unified UDMA" pour le 2.0.34 et + Andrew Balsa - Pour ses infos g�n�rales sur l'UDMA et le patch g�n�rique UDMA pour les jeux de composants (chipsets) INTEL TX, SiS et VP1 Maxime Baudin - Traduction fran�aise Bokonon - ``Contr�leur'' contre ``interface'' John G ( prefect@ipass.net) - pour la cr�ation du patch VIA VP2 et pour les informations qu'il m'a donn�es 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 cr�ation du patch pour la carte Promise Ultra33 et pour avoir trouv� les nombres magiques permettant un contournement logiciel du probl�me. 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 Ao�t 1998 : Grosses modifications et restructuration presque totale du document en deux parties : les interfaces int�gr�s aux cartes m�res et les cartes d'extensions. Ajout du patch "Grand Unified UDMA" (composantes du patch Jumbo) pour le noyau 2.0.35. Les remerciements sont d�sormais dans l'ordre alphab�tique. Changement du mot "contr�leur" par "interface" paraissant plus correct techniquement dans beaucoup de cas. Ajout d'info � propos de l'activation/d�sactivation 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 d�marrer ind�pendamment des cartes contr�leurs 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 g�n�rique pour L'UDMA, plus quelques informations g�n�rale. 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 suppl�mentaires 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, premi�re 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 envoy�es en m�me temps qu'au Linux Documentation Projet. 2. Qu'est ce que l'Ultra DMA et pourquoi l'utiliser Voici un rapide survol des diff�rentes technologies bas�es sur l'IDE. 2.1 IDE, EIDE et ATAPI Ce sont les "anciens" standards. La plupart des disques et contr�leurs non-SCSI que l'on trouve actuellement sont, d�sormais, au standard EIDE. Cependant les disques les plus r�cents sont au standard UDMA. 2.2 Bus Master DMA Le Bus Master DMA est une technologie permettant d'acc�l�rer le d�bit de vos disques durs. Elle requi�rt des cartes m�res ainsi que des BIOS sp�cifiques et bien entendu un disque exploitant ces possibilit�s. 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 avanc�e � 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 inf�rieur au SCSI. La plupart des nouveaux ordinateurs sont d�sormais livr�s avec des contr�leurs et des disques UDMA. Il est aussi possible d'ajouter un contr�leur UDMA sur un syst�me pour en augmenter les performances (comme la carte Promise Ultra33), m�me 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, pr�f�rez en g�n�ral des c�bles 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 tr�s souvent. Pour comprendre, voici un extrait de l'"udma-generic" : UDMA.txt Les taux de transfert en rafale sont suppos�s 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 particuli�rement 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 donn�es 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 donn�es peuvent �tre transf�r�es du disque � la m�moire centrale o� elles pourront �tre utilis�es, 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 rassembl�es apr�s 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 g�n�ral est que le SCSI haut de gamme donne de bien meilleures performances que l'UDMA. Cependant si vous avez r�cemment 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 contr�leur EIDE comme n'importe quel disque et Linux ne devrait avoir aucun probl�me pour le d�tecter. 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 contr�leur UDMA peut piloter en m�me temps des disques UDMA et des disques EIDE, et beaucoup plus rapidement qu'avec un contr�leur 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 d�veloppement (actuellement 2.1.114) int�grent un support UDMA, mais il existe de nombreux patchs applicables aux noyaux actuels. De plus certains disques UDMA poss�dant leur propre carte int�gr�e, plut�t que sur la carte m�re, requi�rent soit d'utiliser un patch sp�cifique 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 m�re, ou pour ajouter quatre disques suppl�mentaires sur une machine dont les interfaces int�gr�es sont toutes utilis�es. Elles peuvent aussi �tre trouv�es pr�install�es sur certains ordinateurs, tels que les Gateway 2000 ou les Dell. La plupart de ces cartes ne sont pas support�es par les versions stables du noyau (comme le 2.0.35), vous devez appliquer un patch sur le noyau ou utiliser un noyau de d�veloppement (la s�rie 2.1.x). Si vous devez installer Linux sur un disque pr�sent 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 poss�dant deux canaux UDMA, permettant de connecter 4 disques. Toutes les informations concernant les prix, les sp�cificit�s etc. sont disponibles � l'adresse : http://www.promise.com. Cette carte est (par exemple) vendue avec les derniers mod�les Gateway 2000 � base de Pentium II, mais rien ne permet de savoir si elle sera livr�e avec les futurs mod�les. Le noyau 2.0.35 supporte explicitement l'UDMA et les noyaux de d�veloppement (actuellement 2.1.114) int�grent un support IDE PCI g�n�rique, ce qui inclut la d�tection automatique de la Promise Ultra33. Toutefois, les anciennes versions stables (2.0.34 et au dessous) n'int�grent pas ce support et dans la mesure o� la plupart des distributions Linux incluent ces anciens noyaux, il peut s'av�rer un peu difficile d'installer Linux. _Installer Linux avec une carte Promise_ Bien qu'il existe un patch pour ce contr�leur, ce n'est pas tr�s �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 syst�me. Merci � Gadi Oxman pour les informations ci-dessous, permettant d'acc�der � la configuration de la carte. Si l'on peut acc�der � une console, � partir de la disquette d'installation, alors on peut utiliser la commande "cat /proc/pci" permettant d'afficher les param�tres 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 param�tre du noyau la commande suivante: "ide2=a,b+2 ide3=c,d+2" � noter que les adresses ne seront s�rement pas les m�mes sur votre syst�me. Par exemple, si l'on prend celles d�crites 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 poss�dez qu'un disque, ou deux en ma�tre et esclave sur le m�me canal), il n'est alors pas n�cessaire de sp�cifier ide3. _Red Hat 5.1:_ D�marrer avec la disquette d'amor�age 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 demand�es. Vos r�ponses � 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 param�tres comme ci-dessus et red�marrez � partir de la disquette. Cette fois-ci, tapez ''linux ide2= _(entrez vos param�tres)_ ide3=_(encore)_''.Il devrait d�sormais �tre possible de faire l'installation sur votre disque sans difficult�, cependant, LILO ne pourra probablement pas s'installer ; faites plut�t une disquette de d�marrage � laquelle vous passerez les param�tres d�crits 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 tr�s 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 n�cessaire de "surcharger" une interface ou les deux int�gr�es sur votre carte m�re. Cependant, assurez-vous de ne pas �craser un p�riph�rique que vous d�sirez installer ; par exemple si vous installez Linux � partir d'un lecteur de CD-ROM sur /dev/hdd (ide1 - interface int�gr�e) 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 num�ros pr�c�dents vous d�marrerez avec "ide0=0xe000,0xd806". Avec la RedHat 5.0 vous aurez une invite de commande en d�marrant avec la disquette "rescue" ; la Slackware vous propose cette invite avec la disquette d'amor�age standard. Cependant la RedHat 5.0 a des difficult�es pour d�marrer apr�s l'installation ; si vous avez des probl�mes, vous pouvez t�l�charger une disquette d'amor�age Slackware sur ftp://ftp.cdrom.com/pub/linux/slackware-3.5/bootdsks.144/ et d�marrer avec. Avec d'autres distributions Linux, vous devrez improviser un peu, mais la proc�dure devrait �tre globalement identique. _IMPORTANT :_ Sans le patch (pr�sent� dans le chapitre UDMA g�n�rique), le noyau _a besoin_ de ces param�tres pour acc�der � 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 m�mes param�tres_ que ceux utilis�s � l'installation. Autrement votre syst�me ne d�marrera pas. Il est toujours possible de les fournir au prompt de LILO (pressez la touche Majuscule, puis tapez ''linux ide2=_...._'') � chaque d�marrage � condition de toujours avoir vos param�tres � port�e de la main. Il est recommand� de patcher le noyau le plus vite possible pour ne plus avoir � se soucier de �a � chaque d�marrage. Une fois d�marr� avec le noyau patch�, vous n'aurez plus jamais � vous soucier de ces param�tres. Autant que je sache, il n'y a aucun moyen de passer des param�tres au d�marrage d'une disquette contenant un noyau (cr�e avec la commande ''make zdisk''), vous _devrez_donc utiliser LILO ou autres 'loaders' permettant le passage de param�tres Au d�marrage. Cependant, certains noyaux non patch�s ont parfois des difficult�s pour utiliser les adresses ide2 et ide3, m�me lorsque les disques sont correctement reconnus. Par cons�quent, si vous n'avez pas r�ussi � installer linux � partir des infos ci-dessus, essayez de sp�cifier les adresses ide0 et ide1 � la place de ide2 et ide3 (merci � Martin Gaitan pour cette technique). Cela remplace alors les contr�leurs int�gr�s de votre carte m�re (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 m�re, � partir duquel vous installez Linux, vous devrez vous assurer que vous ne supplanterez pas le contr�leur 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 l�g�rement plus brutale. La m�thode suivante fonctionne de fa�on pratiquement garantie, mais elle requiert que vous ouvriez votre ordinateur et tripatouilliez dedans. _ATTENTION :_ si vous n'avez pas l'habitude de brancher et d�brancher des disques IDE, avant toute chose : _lisez les manuels_ livr�s avec votre ordinateur, vos disques durs et/ou la carte Promise ! Si vous bousillez quelque chose sans savoir le r�parer, vous pourriez le regretter. Cela dit, c'est tr�s simple. De nos jours, la plupart des cartes m�res poss�dent des contr�leurs EIDE int�gr�s. D�connectez vos disques de la carte Promise, et branchez-les sur les contr�leurs de votre carte m�re. Si vous avez d'autres pr�rip�riques IDE sur votre carte m�re, 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 p�riph�rique dont vous n'avez pas imm�diatement besoin (le lecteur ZIP IDE, ou votre lecteur de bande par exemple). Installez Linux, t�l�chargez et installez le patch pour la carte Promise (d�crit dans la section suivante). D�sormais, vous voil� pr�t � rebrancher votre disque sur la carte Promise.... enfin presque. Pour plus de s�ret� faites une disquette d'amor�age (cd /usr/src/linux; make zdisk) � partir de laquelle vous pourrez d�marrer si LILO ne fonctionne pas. Soyons _tr�s_ prudent :faites-en deux et mettez la seconde de cot� pour le moment. Bien, maintenant c'est le moment de r�fl�chir un peu... Si vous n'avez qu'un disque et qu'il est sur la carte Promise, il est alors s�rement d�clar� en /dev/hde ( a et b pour le contr�leur primaire de la carte m�re, 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 ma�tre 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 d�placez du contr�leur de la carte m�re vers la carte Promise (/dev/hda -> /dev/hde ...). Si vous d�placez d'autres p�riph�riques (tels que le CD-ROM, le lecteur ZIP..) que vous laissez sur la carte m�re, pensez aussi � les renommer comme il se doit. Par exemple si votre CD-ROM �tait en ma�tre sur le port primaire (/dev/hda), puis d�plac� 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 red�marrer, � moins d'utiliser la disquette d'amor�age pr�c�demment cr��e; disquette que vous voudrez aussi configurer pour pouvoir d�marrer sur la nouvelle partition. Utilisez pour cela la commande rdev. Ins�rez la disquette dans le lecteur puis tapez ''rdev /dev/fd0 /dev/hde1''. Bien entendu cela signifie que votre partition root est la premi�re partition de votre disque UDMA. Si ce n'est pas le cas (la mienne est sur /dev/hde7 par exemple), utilisez �videmment le bon num�ro de partition. Red�marrez. Votre syst�me devrait d�sormais fonctionner correctement. _Patch pour la carte Promise_ Les noyaux 2.0.35 et sup�rieurs incluent un support la carte Promise en natif, t�l�chargez 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 support�e par le "udma-generic". L'installation de Linux sur un syst�me poss�dant une telle interface doit �tre tr�s similaire � celle effectu�e pour l'installation de la carte Promise Ultra33. 5.3 Ajouter des p�riph�riques Les interfaces IDE tertiaire et quaternaire (ide2 et ide3) utilisent des p�riph�riques de la forme /dev/hde* jusqu'� /dev/hdh*. Sur les anciens noyaux, ces p�riph�riques n'�taient pas cr��s 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 cr�er tous les p�riph�riques n�cessaires. 6. Les interfaces UDMA int�gr�es Ce sont des contr�leurs de disques UDMA int�gr�s aux cartes m�res. Ils utilisent les E/S IDE standards et sont donc pleinement utilisables � des vitesses "non-UDMA" plus lentes tels qu'ils (les contr�leurs) sont exploit�s avec des noyaux non patch�s (comme ceux fournis lors de l'installation de Linux). Par cons�quent, ces derniers ne devraient pas poser de difficult�s 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 sup�rieur. Avec un noyau plus ancien ( comme la version 2.0.30 de la slackware 3.4) le contr�leur fonctionnera comme un contr�leur EIDE. Dans tous les cas, le contr�leur sera automatiquement d�tect� par le noyau et vous ne devriez avoir aucun probl�me pour l'utiliser. Le support UDMA complet pour ces jeux de composants (chipsets) est d�crit dans le chapitre: UDMA g�n�rique. 6.2 Le VIA VPx et les jeux de composants apparent�s Cette interface est imm�diatement reconnue par un noyau non patch� comme un contr�leur EIDE, mais si en poss�dez un, vous serez int�ress� par le fait qu'il existe un patch permettant d'un part d'am�liorer les taux de transfert, et d'autre part de se d�barrasser du message "unknown PCI device". Vous trouverez un patch � l'adresse http://www.ipass.net/~prefect/. Il a �t� con�u pour le jeux de composants VIA VP2/97 que l'on trouve sur les cartes m�res FIC PA-2007 et PA-2011, mais il devrait fonctionner sur des contr�leurs apparent�s. Ce patch fonctionne aussi sur les derniers contr�leurs VIA VP3, mais ce n'est pas une r�gle 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 fonctionnalit�s 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 donn�es importantes au cas o� votre carte m�re serait incompatible. Cependant, si �a marche la premi�re 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 g�n�rique. 6.3 TX Pro et autres cartes "Pro" L'UDMA n'est pour le moment pas support� par les cartes m�res TX Pro. Ce ne sont pas les m�me que les TX mobo, et elles indiquent apparemment mal leurs possibilit�s DMA, d'o� le probl�me. J'ai entendu dire que quelqu'un travaillait dessus. Un patch devrait donc appara�tre dans le futur. 7. UDMA g�n�rique Le patch g�n�rique 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 m�me p�riph�rique int�gr� : le SiS5513). * Les jeux de composants VIA (seul le 82C586B a �t� test�, mais ils sont tous bass�s sur la m�me interface). Un support de diagnostic sp�cifique 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 int�grer simplement de nouveaux jeux de composants. L'UDMA g�n�rique, 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 int�gre beaucoup d'autres caract�ristiques tr�s utiles telles que la d�tection automatique de plus de 64 Mo de m�moire et la d�tection de la fr�quence 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 m�re avoisinent le s 10 Mb/s de taux de transfert maximum (mesur� avec hdparm -T -t). Le jeu de composant Intel TX ne poss�de qu'une FIFO simple partag�e pour ses de ux contr�leurs IDE, par cons�quent utiliser 2 disques UDMA n'apportera pas de grandes am�liorations par rapport � l'utilisation d'un seul disque. Par contre le jeu de composant SiS5598 poss�de deux contr�leurs s�par�s, chacun avec sa propre FIFO. Th�oriquement, on peut approcher les 66 Mb/s de taux de transfert sur les cartes m�res poss�dant 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 sp�cifications du chipset VIA, je ne peux donc pas dire grand-chose � leur propos. Le driver (U)DMA �crit par Mark Lord poss�de des temps de setup particuli�rement faibles (temps de latence entre les transfert de donn�es). C'e st une m�thode id�ale pour des transferts de donn�es fr�quents, avec des petits fichiers (comme ceux d'un serveur de news sous Linux), qui peut s'av�rer parfoi s sup�rieur � son homologue SCSI. 8. Activer et d�sactiver l'UDMA Normalement, un noyau int�grant l'UDMA doit automatiquement permettre le support UDMA sur les disques et les interfaces ad�quats. Cependant d�marrant � partir du noyau 2.1.113, les transferts DMA sont d�sactiv�s par d�faut tant que vous n'aurez pas configur� sp�cifiquement votre noyau pour l'activer automatiquement. Cela peut vous sembler un inconv�nient, mais quelques disques et certaines interfaces ne fonctionnent pas correctement avec l'UDMA activ� : voyez la "liste noire" ci-dessous. 8.1 Donner des param�tres au noyau � l'amor�age Sur les noyaux 2.1.113 et sup�rieurs, vous pouvez activer les transferts DMA sur les deux disques d'une interface donn�e en utilisant le param�tre ideX=dma, o� X est le num�ro de l'interface (la premi�re est 0). Les param�tres de d�marrage du noyau peuvent �tre appliqu�s en utilisant LILO, LOADLIN ou la plupart des m�todes d'amor�age de Linux. Pour plus d'informations, consultez le Bootdisk HOWTO 8.2 Utiliser hdparm hdparm est un programme permettant de forcer les param�tres de vos disques durs sous Linux. Parmi toutes ses possibilit�s, vous pouvez l'utiliser pour activer ou d�sactiver 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 t�l�charger 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 d�sactiver l'UDMA :_ hdparm -d0 /dev/hda _Pour mesurer le taux de transfert d'un disque :_ hdparm -Tt /dev/hda _Pour voir quelles options sont activ�es :_ hdparm /dev/hda _Pour avoir plus de d�tails sur votre disque :_ hdparm -i /dev/hda Pour plus de pr�cisions, lisez le man (``man 8 hdparm''). 9. Probl�mes 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 donn�es. * Western Digital WDC AC22100H La partie UDMA du patch Jumbo-2.0.35-9 d�sactivera 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 fr�quence maximum support�e par le bus PCI est de 37.5 Mhz. Certains (suppos�s compatibles) disques UDMA ne fonctionneront m�me 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 fr�quence RECOMMAND�E 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 v�ritale travail impliquant le param�trage des composants pour les transfert s DMA est r�alis� principalement par le BIOS de chaque carte m�re. Maintenant, bien entendu, il faut esp�rer que le BIOS a �t� correctement programm�... Par exemple, la carte m�re ASUS SP-97V avec son BIOS original (Rev. 1.03) aura un dysfonctionnement avec les pilotes modifi�s 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 t�l�charg� la derni�re 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 contr�leur DMA avec des timing sp�cifiques, Ma r�vision de BIOS initiale avait probablement de mauvais timings. Comme les pilotes de Windows 95 les initialise lui-m�me(c. a.d. qu' il ne se sert pas du BIOS pour param�trer les timings de l'interface), je n'av ais des probl�mes qu'avec les pilotes de Linux, tandis que Windows 95 fonctionnait cor rectement. Donc, laissez-moi vous le r�p�ter encore une fois : les pilotes (U)DMA Linux s' appuient sur des donn�es du BIOS en supposant qu'elles sont correctes. Si vous avez le moindre probl�me, v�rifiez d'abord que vous avez la derni�re r�vision du BIOS de votre carte m�re. ... Les derni�res versions du BIOS sont disponibles sur le site Web de votre fabriq uant de carte m�re. "Flasher" une nouvelle image du BIOS est une op�ration simple, mais vous devez respecter strictement les intructions du manuel de votre carte m�re . Les derni�res r�visions des BIOS Award semblent suffisamment stables pour utili ser l'UDMA. Tout ce qui poss�de 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'av�rent utile ou au moins suffisante pour faire fonctionner votre machine, le mieux est d'envoyer un message d�crivant pr�cis�ment votre probl�me, votre contr�leur UDMA (que ce soit sur un carte m�re 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 recens�es 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.