normelement un lecteur de Cd comme celui de KDE utilise /dev/cdrom.
Avec devfs, /dev/cdrom pointe vers /dev/cdroms/cdrom0. Or ce device créé à l'initialisation on the fly devrait être le bon.
Pour le forcer à redétecter ( on ne sait jamais ), il suffit de faire :
> rm -fr /lib/dev-state
puis reboot.
Si vraiment cela ne s'arrange pas alors faire pointer vers le bon devices. Pour un lecteur IDE émulé en SCSI ou un SCSI c'est soit /dev/scd0, soit /dev/sg0, soit /dev/sr0.
Quelques explication concernant devfs et le nommage des périphériques. Ma configuration est 2 lecteurs SCSI ( graveur et DVDROM ) + 1 lecteur IDE émulé SCSI ( graveur ) + 1 DVDROM IDE.
[will@bastard will]$ ls -l /dev/cdrom*
lr-xr-xr-x 1 root root 13 oct 19 08:16 /dev/cdrom -> cdroms/cdrom0
lr-xr-xr-x 1 root root 13 oct 19 08:16 /dev/cdrom0 -> cdroms/cdrom0
lr-xr-xr-x 1 root root 13 oct 19 08:16 /dev/cdrom2 -> cdroms/cdrom2
lr-xr-xr-x 1 root root 13 oct 19 08:16 /dev/cdrom5 -> cdroms/cdrom5
lr-xr-xr-x 1 root root 13 oct 19 08:16 /dev/cdrom7 -> cdroms/cdrom7
/dev/cdroms:
total 0
lr-xr-xr-x 1 root root 33 jan 1 1970 cdrom0 -> ../ide/host0/bus1/target1/lun0/cd
brw------- 1 will cdrom 11, 0 oct 8 14:21 cdrom2
brw------- 1 will cdrom 11, 1 oct 8 14:21 cdrom5
brw------- 1 will cdrom 11, 2 oct 8 14:21 cdrom7
On voit bien que /dev/cdrom* sont des liens qui pintent vers le bons devices. Le device IDE ( DVDROM IDE ) est directement désigné.
/dev/cdroms/cdrom0 pointe vers ../ide/host0/bus1/target1/lun0/cd, en fait c'est /dev/ide/host0/bus1/target1/lun0/cd .
bus1 = secondary
target1 = slave
( on commence à partir de 0 ).
Maintenant on ne peux vraiment savoir où pointe les devices SCSI.
essayons les noms génériques ( sg = Scsi Generic ) :
[will@bastard will]$ ls -l /dev/sg*
lr-xr-xr-x 1 root root 36 oct 19 08:16 /dev/sg0 -> scsi/host0/bus0/target0/lun0/generic
lr-xr-xr-x 1 root root 36 oct 19 08:16 /dev/sg1 -> scsi/host0/bus0/target1/lun0/generic
lr-xr-xr-x 1 root root 36 oct 19 08:16 /dev/sg2 -> scsi/host0/bus0/target2/lun0/generic
lr-xr-xr-x 1 root root 36 oct 19 08:16 /dev/sg3 -> scsi/host0/bus0/target4/lun0/generic
lr-xr-xr-x 1 root root 36 oct 19 08:16 /dev/sg4 -> scsi/host0/bus0/target5/lun0/generic
lr-xr-xr-x 1 root root 36 oct 19 08:16 /dev/sg5 -> scsi/host1/bus0/target0/lun0/generic
/dev/sg:
total 0
lr-xr-xr-x 1 root root 39 oct 19 08:16 c0b0t0u0 -> ../scsi/host0/bus0/target0/lun0/generic
lr-xr-xr-x 1 root root 39 oct 19 08:16 c0b0t1u0 -> ../scsi/host0/bus0/target1/lun0/generic
lr-xr-xr-x 1 root root 39 oct 19 08:16 c0b0t2u0 -> ../scsi/host0/bus0/target2/lun0/generic
lr-xr-xr-x 1 root root 39 oct 19 08:16 c0b0t4u0 -> ../scsi/host0/bus0/target4/lun0/generic
lr-xr-xr-x 1 root root 39 oct 19 08:16 c0b0t5u0 -> ../scsi/host0/bus0/target5/lun0/generic
lr-xr-xr-x 1 root root 39 oct 19 08:16 c1b0t0u0 -> ../scsi/host1/bus0/target0/lun0/generic
Petite précision :
j'ai 3 HD SCSI avec des ID de 0,1,2
le graveur et DVDROM scsi on des ID de 4,5.
La carte une adaptec a bien sur un ID de 7.
On remarque qu'il y a autant de sg* que de périphérriques SCSI ( 5 = 4 + 1 émulé ).
Ensuite /dev/sgx n'est qu'un lien vers le vrai device. Ainsi /dev/sg0 n'est qu'un lien vers scsi/host0/bus0/target0/lun0/generic soit /dev/scsi/host0/bus0/target0/lun0/generic.
Pour bien comprendre le nom je vais prendre un autre sg :
/dev/sg2 -> scsi/host0/bus0/target2/lun0/generic
Par déduction on sze rend compte que target désigne l'ID sur la carte SCSI ( target2 = ID 2 ).
Pour comprendre le reste prenons un autre exmple ( bien choisi ).
/dev/sg5 -> scsi/host1/bus0/target0/lun0/generic
On remarque que host est passé à 1. on en déduit que l'on se retrouve face au lecteur IDE émulé en SCSI.
host0 désigne la première carte SCSI. dans mon cas c'est l'adaptec.
host1 désigne une 2e carte SCSI. Cette carte est bien sûr virtuelle et elle ne sert qu'a rattacher le lecteur IDE émulé en SCSI. On remarque que dès le début il prend un ID de 0. Si on émule un 2 lecteur IDE, seul l'ID changera.
lun désigne les unité logique ( Logical UNit ) sachant que l'on peut faire en sorte qu'un périph scsi ai plusieurs ID logiques.
Analysons la 2e partie.
/dev/sg:
total 0
lr-xr-xr-x 1 root root 39 oct 19 08:16 c0b0t0u0 -> ../scsi/host0/bus0/target0/lun0/generic
lr-xr-xr-x 1 root root 39 oct 19 08:16 c0b0t1u0 -> ../scsi/host0/bus0/target1/lun0/generic
lr-xr-xr-x 1 root root 39 oct 19 08:16 c0b0t2u0 -> ../scsi/host0/bus0/target2/lun0/generic
lr-xr-xr-x 1 root root 39 oct 19 08:16 c0b0t4u0 -> ../scsi/host0/bus0/target4/lun0/generic
lr-xr-xr-x 1 root root 39 oct 19 08:16 c0b0t5u0 -> ../scsi/host0/bus0/target5/lun0/generic
lr-xr-xr-x 1 root root 39 oct 19 08:16 c1b0t0u0 -> ../scsi/host1/bus0/target0/lun0/generic
dans le répertoire /dev/sg/ on trouve des dev au noms bizarres qui pointent vers les bons devices SCSI
Ainsi /dev/sg/c0b0t4u0 -> ../scsi/host0/bus0/target4/lun0/generic et /dev/sg/c1b0t0u0 -> ../scsi/host1/bus0/target0/lun0/generic
En analysant le nom on se rend compte qu'en fait les noms sont simples et logiques et ne sont qu'une forme condensée.
Ainsi /dev/sg/c0b0t4u0 -> ../scsi/host0/bus0/target4/lun0/generic
/dev/scsi/host0/bus0/target4/lun0/generic désigne la première carte SCSI ( host0 ) sur son premier bus ( bus0 ) avec un périph ayant un ID de 4 ( target4 ) et sans unité logique ( soit par défaut 0 d'où lun0 ). Ca donne 0 0 4 0
Maintenant analysons le nom cabalistique : c0b0t4u0
Si on regarde bien on retrouve 0 0 4 0.
on commence a se faire une idée. Pour être sûr prennons le cas du lecteur émulé : c1b0t0u0 -> /dev/scsi/host1/bus0/target0/lun0/generic
on a c1b0t0u0 soit 1 0 0 0
et oui ce n'est que la forme condensée.
c0 = card 0 = 1ere carte SCSI <=> host0
b0 = bus 0 = 1er bus de la carte SCSI <=> bus0
t4 = target 4 = Id de 4 <=> target4
u0 = unit 0 = unité logique 0 <=> lun 0
Donc on fait c'est très simple et cela permet de manier le nom complet du périphérique sans se taper une grande ligne et le jonglage dans des répertoire.
Continuons sur l'analyse des périphériques SCSI. normalement les cdroms SCSI sont désigné par /dev/scdx avec scd = Scsi CDrom.
[will@bastard will]$ ls -l /dev/scd*
lr-xr-xr-x 1 root root 31 oct 19 08:16 /dev/scd0 -> scsi/host0/bus0/target4/lun0/cd
lr-xr-xr-x 1 root root 31 oct 19 08:16 /dev/scd1 -> scsi/host0/bus0/target5/lun0/cd
lr-xr-xr-x 1 root root 31 oct 19 08:16 /dev/scd2 -> scsi/host1/bus0/target0/lun0/cd
Encore une fois cela pointe vers le vrai device désigné par son nom complet.
On remarque la terminaison en cd car cette fois on interroge le lien spécifique des cdroms SCSI. Ceux pour /dev/sg eux se terminaient en generic car on interrogeait pour les periph scsi en général.
Il existe un autre nom pour désigné les CDROMS SCSI : /dev/srx ( sr = Scsi Reader ).
[will@bastard will]$ ls -l /dev/sr*
total 0
lr-xr-xr-x 1 root root 34 oct 19 08:16 c0b0t4u0 -> ../scsi/host0/bus0/target4/lun0/cd
lr-xr-xr-x 1 root root 34 oct 19 08:16 c0b0t5u0 -> ../scsi/host0/bus0/target5/lun0/cd
lr-xr-xr-x 1 root root 34 oct 19 08:16 c1b0t0u0 -> ../scsi/host1/bus0/target0/lun0/cd
Pas de devices. ils sont regroupé dans le rep /dev/sr/ qui contient le nom abrégé qui pointe vers le bon device ( c0b0t4u0 -> ../scsi/host0/bus0/target4/lun0/cd )
Voili voilà.
Note : Tout ce qui précède est essentiellement constitué de déductions.
[edtdd]--Message édité par Dark_Schneider--[/edtdd]
---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php