Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
libata [Le 14/07/2008, 20:03]
Skippy le Grand Gourou
libata [Le 01/09/2022, 00:06] (Version actuelle)
moths-art Passage de http à https sur les liens externes (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
 +{{tag>​brouillon kernel}}
 +
 +----
 +
 ====== libATA ====== ====== libATA ======
  
-La libATA est une bibliothèque pour le [[noyau]] [[linux]] introduite lors de la version 2.6.18. Elle est censée permettre de gérer tous les transferts [[http://​fr.wikipedia.org/​wiki/​Advanced_Technology_Attachment|ATA]] et [[http://​fr.wikipedia.org/​wiki/​ATAPI|ATAPI]] //via// le sous-système [[http://​fr.wikipedia.org/​wiki/​SCSI|SCSI]].+La libATA est une bibliothèque pour le [[:kernel|noyau]] [[:linux]] introduite lors de la version 2.6.18. Elle est censée permettre de gérer tous les transferts [[https://​fr.wikipedia.org/​wiki/​Advanced_Technology_Attachment|ATA]] et [[http://​fr.wikipedia.org/​wiki/​ATAPI|ATAPI]] //via// le sous-système [[http://​fr.wikipedia.org/​wiki/​SCSI|SCSI]].
  
 C'est « grâce » à elle que vos partitions apparaissent sous la forme **/​dev/​sdX** au lieu de **/​dev/​hdX** depuis qu'​Ubuntu a fait le choix d'​utiliser les modules liés à cette bibliothèque par défaut. C'est aussi à cause d'elle que vous rencontrez peut-être des performances catastrophiques,​ des problèmes de prise en charge du [[http://​fr.wikipedia.org/​wiki/​Accès_direct_à_la_mémoire|DMA]],​ ou autre option traditionnellement activée par [[hdparm]]. C'est « grâce » à elle que vos partitions apparaissent sous la forme **/​dev/​sdX** au lieu de **/​dev/​hdX** depuis qu'​Ubuntu a fait le choix d'​utiliser les modules liés à cette bibliothèque par défaut. C'est aussi à cause d'elle que vous rencontrez peut-être des performances catastrophiques,​ des problèmes de prise en charge du [[http://​fr.wikipedia.org/​wiki/​Accès_direct_à_la_mémoire|DMA]],​ ou autre option traditionnellement activée par [[hdparm]].
Ligne 12: Ligne 16:
  
 Vous avez décidé d'​activer le DMA et la prise en charge de l'I/O 32bits (ou tout autre option) sur votre disque dur (ou votre graveur DVD), en utilisant la commande [[hdparm]]. Et là, c'est le drame : Vous avez décidé d'​activer le DMA et la prise en charge de l'I/O 32bits (ou tout autre option) sur votre disque dur (ou votre graveur DVD), en utilisant la commande [[hdparm]]. Et là, c'est le drame :
-  $ sudo hdparm -d1 -c1 /dev/sda +<​code>​sudo hdparm -d1 -c1 /dev/sda</​code>​ 
-  /dev/sda: +<​file>​ 
-  setting 32-bit IO_support flag to 1 +/dev/sda: 
-  HDIO_SET_32BIT failed: Invalid argument +setting 32-bit IO_support flag to 1 
-  IO_support = 0 (default) (16-bit) +HDIO_SET_32BIT failed: Invalid argument 
-  HDIO_GET_DMA failed: Inappropriate ioctl for device+IO_support = 0 (default) (16-bit) 
 +HDIO_GET_DMA failed: Inappropriate ioctl for device 
 +</​file>​
  
 Pas d'​inquiétude : la libATA active par défaut le DMA sur tous les périphériques compatibles. La prise en charge de l'I/O 32bits n'est pour l'​instant disponible que sur un nombre limité de périphériques,​ et ce n'est pas la priorité des développeurs de la libATA, car les situations où le besoin s'en fait sentir sont relativement rares. Lorsque c'est possible, cette option est également activée par défaut. Pas d'​inquiétude : la libATA active par défaut le DMA sur tous les périphériques compatibles. La prise en charge de l'I/O 32bits n'est pour l'​instant disponible que sur un nombre limité de périphériques,​ et ce n'est pas la priorité des développeurs de la libATA, car les situations où le besoin s'en fait sentir sont relativement rares. Lorsque c'est possible, cette option est également activée par défaut.
Ligne 24: Ligne 30:
  
 Si votre disque est lent, si la lecture d'un DVD est saccadée, s'il vous faut plusieurs heures pour graver quelques centaines de Mo, alors vous avez peut-être réellement un problème avec la libATA. Commencez par effectuer le test suivant sur le périphérique problématique (dans cet exemple, /dev/sda) : Si votre disque est lent, si la lecture d'un DVD est saccadée, s'il vous faut plusieurs heures pour graver quelques centaines de Mo, alors vous avez peut-être réellement un problème avec la libATA. Commencez par effectuer le test suivant sur le périphérique problématique (dans cet exemple, /dev/sda) :
-  ​sudo hdparm -T /dev/sda+<​code>​sudo hdparm -T /dev/sda</​code>​
  
 Si le résultat est de plusieurs centaines de Mo par seconde, votre problème est ailleurs. En revanche, si le résultat donne quelques Mo voire des centaines de ko par seconde, alors votre problème vient vraisemblablement de la libATA : votre matériel n'est pas (encore) correctement pris en charge. C'est en particulier vrai pour les cartes mères Intel fonctionnant en mode « combiné ». Si le résultat est de plusieurs centaines de Mo par seconde, votre problème est ailleurs. En revanche, si le résultat donne quelques Mo voire des centaines de ko par seconde, alors votre problème vient vraisemblablement de la libATA : votre matériel n'est pas (encore) correctement pris en charge. C'est en particulier vrai pour les cartes mères Intel fonctionnant en mode « combiné ».
Ligne 32: Ligne 38:
 Il existe plusieurs solutions préconisées. Elles sont présentées ici par ordre (supposé) de préférence de la part des développeurs de la libATA. Si l'une d'elle ne fonctionne pas, passez à la suivante. Il existe plusieurs solutions préconisées. Elles sont présentées ici par ordre (supposé) de préférence de la part des développeurs de la libATA. Si l'une d'elle ne fonctionne pas, passez à la suivante.
  
-Elles sont surtout valables pour les cartes mères Intel proposant le mode « combiné », qui permet aux modes [[http://​fr.wikipedia.org/​wiki/​PATA_(informatique)|PATA]] (comprendre [[http://​fr.wikipedia.org/​wiki/​Integrated_drive_electronics|IDE]]) et [[http://​fr.wikipedia.org/​wiki/​SATA|SATA]] de fonctionner comme une seule fonction [[http://​fr.wikipedia.org/​wiki/​Peripheral_Component_Interconnect|PCI]],​ mais entre en conflit avec la libATA, les pilotes IDE et la libATA essayant de gérer le même matériel. Le principe est donc de n'​utiliser soit QUE la libATA, soit QUE les pilotes IDE.+Elles sont surtout valables pour les cartes mères Intel proposant le mode « combiné », qui permet aux modes [[https://​fr.wikipedia.org/​wiki/​PATA_(informatique)|PATA]] (comprendre [[http://​fr.wikipedia.org/​wiki/​Integrated_drive_electronics|IDE]]) et [[http://​fr.wikipedia.org/​wiki/​SATA|SATA]] de fonctionner comme une seule fonction [[http://​fr.wikipedia.org/​wiki/​Peripheral_Component_Interconnect|PCI]],​ mais entre en conflit avec la libATA, les pilotes IDE et la libATA essayant de gérer le même matériel. Le principe est donc de n'​utiliser soit QUE la libATA, soit QUE les pilotes IDE.
  
-<note important>​Si vous choisissez une solution qui utilise les pilotes IDE, vos disques vont redevenir du type /dev/hdX. N'​oubliez pas de modifier les fichiers /etc/fstab en conséquence ! Le label de la [[http://​doc.ubuntu-fr.org/​windows/​swap|swap]] va également changer, donc prévoyez aussi [[http://​doc.ubuntu-fr.org/​problemes_usplash#​solution1|cette petite correction]].</​note>​+<note important>​Si vous choisissez une solution qui utilise les pilotes IDE, vos disques vont redevenir du type /dev/hdX. N'​oubliez pas de modifier les fichiers /etc/fstab en conséquence ! Le label de la [[:swap]] va également changer.</​note>​
  
 ==== Dans le BIOS ==== ==== Dans le BIOS ====
Ligne 50: Ligne 56:
  
 Désactiver les modules liés à la libATA. Dans le fichier **/​etc/​modprobe.d/​blacklist**,​ ajouter les lines suivantes (toutes ne sont pas forcément nécessaires,​ vous pouvez faire des tests si vous le souhaitez) : Désactiver les modules liés à la libATA. Dans le fichier **/​etc/​modprobe.d/​blacklist**,​ ajouter les lines suivantes (toutes ne sont pas forcément nécessaires,​ vous pouvez faire des tests si vous le souhaitez) :
-  ​blacklist pata_atiixp +<​file>​ 
-  blacklist pata_acpi +blacklist pata_atiixp 
-  blacklist sg +blacklist pata_acpi 
-  blacklist sr_mod +blacklist sg 
-  blacklist sd_mod+blacklist sr_mod 
 +blacklist sd_mod 
 +</​file>​
  
 === Par le noyau === === Par le noyau ===
  
-Vous pouvez également [[kernel|recompiler le noyau]] en désactivant complètement la libATA (CONFIG_ATA) et en activant CONFIG_BLK_DEV_IDE_SATA.+Vous pouvez également [[:kernel|recompiler le noyau]] en désactivant complètement la libATA (CONFIG_ATA) et en activant CONFIG_BLK_DEV_IDE_SATA.
  
 === Alternative par le noyau === === Alternative par le noyau ===
  • libata.1216058632.txt.gz
  • Dernière modification: Le 18/04/2011, 14:59
  • (modification externe)