Vous venez d’installer linux sur votre nouveau PC flambant neuf et il vous paraît aussi rapide que votre ancien pentium 166, ne criez pas tout de suite à l’arnaque ! Il est, en effet, fort probable que linux, dans un souci de compatibilité maximale, ne soit pas paramétré pour exploiter au maximum toutes les capacités de votre matériel. Voici en quelques étapes simples, la procédure à suivre pour vérifier la configuration de votre contrôleur IDE, activez le support de lultra DMA et testez la rapidité de votre disque.
Tout dabord, vous devrez vous assurer de deux choses :
1) Vérifier que le package hdparm soit présent sur votre système (voir article sur linstallation des packages sous Redhat, mandrake et debian)
2) Vérifier que le support de lultra DMA et de votre contrôleur IDE soit activé dans le noyau.
Pour le second point, pas de panique car toutes les options sont généralement activées par défaut pour ce qui concerne le support de lultra DMA et de votre contrôleur. Il peut cependant arriver que vous deviez activer le support du DMA ou de votre chipset si vous utilisez un contrôleur peu courant (une carte IDE PCI un peu « exotique » par exemple) ou tout simplement si cela nest pas activé par défaut. Un moyen très simple de vérifier que votre matériel est bien supporté par votre système linux est de taper la commande dmesg. Celle-ci va vous lister lensemble des messages envoyés par le noyau depuis le démarrage de la machine.
Vous devriez entre autres, trouver des lignes qui ressemblent à cela :
VP_IDE: IDE controller at PCI slot 0000:00:11.1 VP_IDE: chipset revision 6 VP_IDE: not 100% native mode: will probe irqs later VP_IDE: VIA vt8233 (rev 00) IDE UDMA100 controller on pci0000:00:11.1 ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:pio Dans ce cas précis, il sagit dun contrôleur VIA mais vous pourriez en trouver dautres : Intel, ALI, AMD ; NVidia, CMD, Promise ou encore Highpoint pour citer les plus courants.
Si pour une raison ou pour une autre, votre matériel nétait pas supporté, vous devrez en activer le support dans le noyau et recompiler celui-ci (voir notre article consacré à la compilation du noyau pour plus dinformations à ce sujet).
Une fois la question du support résolue, voici les étapes à suivre :
1) Il vous faut vérifier létat de la configuration de lultra DMA à laide de hdparm. Pour ce faire, tapez la commande suivante en root : hdparm c d /dev/hdx où hdx correspond à votre disque dur (par exemple hda pour le premier disque situé sur le premier canal IDE, ce qui correspond à la majeure partie des configurations).
Vous devriez obtenir un résultat de ce type : golgoth:/# hdparm -c -d /dev/hda /dev/hda: IO_support = 1 (32-bit) using_dma = 1 (on) golgoth:/#
2) Si vous obtenez la valeur 1 pour les deux lignes, votre système est configuré de manière optimale. Si ce nest pas le cas, tapez la commande suivante pour optimiser le système : hdparm c1 d1 /dev/hdx. Si cette commande sexécute sans problème, vérifier létat avec hdparm c d /dev/hdx, vous devriez obtenir des valeurs 1 pour chaque ligne.
3) Vous pouvez maintenant tester la configuration avec la commande hdparm tT /dev/hdx.
Voici un exemple de résultat :
golgoth:/# hdparm -t -T /dev/hda /dev/hda: Timing buffer-cache reads: 900 MB in 2.01 seconds = 448.05 MB/sec Timing buffered disk reads: 80 MB in 3.04 seconds = 26.31 MB/sec Pour information, ces résultats ont été obtenus avec un disque de 20Gb 7200Tpm ultra ATA 66 connecté sur une carte mère avec un chipset VIA KT266A. Cette valeur est une moyenne de 10 essais afin dobtenir un résultat valable.
Cette commande affiche donc le débit en méga bytes par seconde obtenu lors dun test de lecture dans la mémoire cache du disque (Timing buffer-cache reads) et sur le disque lui-même (Timing buffered disk reads).
Afin de montrer l’importance de lactivation de ces 2 paramètres, voici les résultats obtenus avec les différentes combinaisons de ces 2 paramètres :
| c=0 | c=1 |
d=0 | 3.42 MB/sec | 6.03 MB/sec |
d=1 | 26.29 MB/sec | 26.31 MB/sec |
On voit que dans notre configuration, le mode 32 bits na de limportance que dans le cas où lultra DMA est désactivé.
Pour terminer, on notera la présence dun autre paramètre qui peut avoir de limportance dans certains cas où linux ne détecte pas correctement vos interfaces IDE. Ce paramètre permet de forcer la vitesse du canal IDE associé à votre disque. Pour ce faire, il suffit dutiliser le paramètre Xyy avec yy pouvant prendre les valeurs suivantes en fonction du débit :
Valeur de yy | Mode Ultra DMA | Débit Maximum (MB/s) |
64 | Mode 0 | 16.7 |
65 | Mode 1 | 25.0 |
66 | Mode 2 | 33.3 |
67 | Mode 3 | 44.4 |
68 | Mode 4 | 66.7 |
69 | Mode 5 | 100.0 |
70 | Mode 6 | 133.3 |
Dans la pratique, vous utiliserez un des 4 paramètres suivants :
-X66 si votre disque est ultra dma 33
-X68 si votre disque est ultra dma 66
-X69 si votre disque est ultra dma 100
-X70 si votre disque est ultra dma 133Par exemple, la commande sera hdparm X68 /dev/hda pour forcer le mode ultra dma 66 sur le disque hda.
N’oublions pas quil est absolument inutile de mettre le paramètre X70 si votre disque est ultra dma 133 mais que votre carte mère ou votre carte IDE PCI ne supporte que lultra DMA 66 au maximum et inversément (carte mère ultra dma 100 et disque ultra dma 33 par exemple). Vous devez donc mettre ce paramètre pour quil corresponde à la vitesse maximale supportée par votre disque ET votre contrôleur IDE. Dans notre exemple, lajout de ce paramètre na rien changé car linux a tout détecté correctement dès le départ.
Hdparm est un outil très puissant et il propose encore beaucoup dautres paramètres que nous vous déconseillons fortement dutiliser sous peine de rendre votre système instable ou même dendommager votre disque, vous voilà prévenu !
Pour poster vos commentaires et posez vos questions, rendez-vous sur notre forum : [url=http://forum.tplpc.com/index.php?showtopic=14]Comment activer l’ultra DMA sous Linux ?[/url].