Ceci est une ancienne révision du document !
CD Rom
Il peut arriver de tomber sur des lecteurs CD-Roms capricieux, mal supportés.
Cette page ne concerne pas l'optimisation des lecteurs CD (allez voir ici si c'est votre cas), mais bel et bien des solutions de dépannage si votre lecteur CD ne fonctionne pas ou mal.
Nous allons aborder ici tout ce qui se rapporte aux CD-Rom :
- Carte-mère, contrôleur IDE
- Graveur CD-Rom
- Lecteur de DVD-Rom
- Lecteurs de disques externes
- Lecteurs de disques avec interface propriétaire.
Introduction
Les CD-Roms régissent à des normes strictes : IDE, ATAPI, etc…
Nous abordons ici les problèmes spécifiques aux CD-Roms, mais il ne faut pas oublier que celui-ci est directement en rapport avec la carte-mère. Le cas le plus fréquent peut-être celui du conflit d'IRQ, auquel cas, certaines commandes comme "irqpoll" peuvent vous rendre service (voir ici par exemple).
Modules
Nous commencerons bien évidemment par rappeler le principe de fonctionnement de tout matériel sous Linux : cette page vous résumera une bonne partie de ce qui peut être intéressant à savoir sur les modules.
Concernant les CD-Roms, voici les modules susceptibles de nous intéresser :
kernel/drivers/ide kernel/drivers/cdrom
ide-core & ide-cd sont les 2 modules de bases.
Vient ensuite les module de CD-Rom. Dans ce dossier, vous aurez bien entendu le module de base "cdrom", qui permet de faire fonctionner 99% du matériel existant.
fichier fstab
Le fichier /etc/fstab/ est d'une grande importance, car c'est lui qui paramètre le montage du CD-Rom :
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
Ci-dessus, la ligne basique d'un fichier fstab pour un lecteur de CD-Rom
dmesg
Il peut être utile ici de rappeler cette commande de base :
dmesg vous permettra de voir des informations sur l'état du système. Il vous permettra par exemple d'identifier vos disques :
dmesg | grep hd
Plus d'informations
Pour avoir plus d'informations sur ces modules, plusieurs choix possibles :
- Installer le paquet linux-doc (Puis aller dans /usr/share/doc/linux-doc-2.6.20/Documentation/cdrom )
- Installer le paquet linux-source (Puis aller dans /usr/src/ et extraire l'archive linux-source-2.XXX)
- Récupérer un noyau de kernel.org (Et faire comme au-dessus)
- Googler…
Configuration avancée
Certains CD-Roms sont vraiment capricieux, notamment ceux un petit-peu anciens, car les développeurs ont tendance à adapter les distributions pour le matériel récent, et il arrive ainsi que d'une distribution à l'autre, il faille bricoler le système pour faire fonctionner correctement le CD-Rom.
Dans mon cas par exemple, mon CD-Rom fonctionnait sans problème sur Ubuntu 5.10, mais à partir du noyau 2.6.15 (donc a partir de Ubuntu 6.06), j'ai du rajouter l'option "irqpoll" pour commencer (!) à faire fonctionner le lecteur-CD.
Il peut donc être aussi intéressant de se tourner vers la compilation d'un noyau de la branche 2.4.x (ou d'une distribution utilisant de tels noyaux, comme l'excellente DSL, basée également sur Debian).
async
Il est possible que certains lecteurs ne puissent utiliser le mode synchrone avec le CD-Rom. Dans ce cas, il faut éditer le fichier /etc/fstab/ et rajouter l'option "async" :
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto,async 0 0
( : si il n'y a ni "async" ni "sync", lequel est utilisé ??)
DMA
Le DMA est une option qui une fois activé accélère les transferts.
Il se peut que votre CD-Rom n'aime pas trop cela, il faudra donc utiliser hdparm :
hdparm -d0 /dev/hdc ## Ou hdc est VOTRE lecteur
N'oubliez pas d'éditer le fichier /etc/hdparm.conf en retirant les # à la fin du fichier, puis en mettant ceci (ou quelque-chose se rapprochant) :
command_line { hdparm -d0 /dev/hdc }
Options démarrage
Comme indiqué plus haut dans la page, des options de lancement peuvent aussi rendre service.
La plupart sont listées dans les documentations officielles, notamment dans le fichier "kernel-parameters.txt" (dans /usr/share/doc/linux-doc-2.6.20/Documentation si vous avez installé le paquet linux-doc par exemple).
Problèmes
Mon Lecteur CD marche sous Windows©, mais pas sous Linux
Et bien dans ce cas, profitons-en pour soutirer des informations pouvant être utiles !!
Par exemple, rendez-vous dans le gestionnaire de périphériques, puis dans les propriétés :
On voit bien ici que mon Mitsumi CR-4801 TE n'est pas configuré en synchrone (équivalent à l'option "async" donc), et que le DMA est désactivé.
Mon lecteur CD ne fonctionne plus au bout d'un temps X d'utilisation
Utilisez dmesg pour obtenir quelques informations utiles :
dmesg
Si il s'agit de problèmes d'interruption, ça peut concerner les IRQs et donc la carte-mère…
(…)
Autres problèmes
Il existe une méthode pour faire passer un CD-Rom comme périphérique SCSI (avec un module nommé "ide-scsi").
Ce module se trouve dans "/kernel/drivers/scsi/" (je vous recommande d'utiliser modconf).
Plus d'informations : scsi_emulation