bonjour à tous
j'ai un gros problème concernant l'émulation scsi pour mon graveur de CD.
(Question#1: on m'a dit que c'était "mieux" de graver avec l'émulation
scsi, c'est exact ?)
Le problème a l'air de venir du chargement du module ide-scsi : dès que
j'essaye de le charger (que ce soit manuellement avec modprobe, ou quand je
tente un "cdrecord -scanbus"), le système rentre dans une boucle infinie
(voir + bas).
Voilà ma configuration:
j'ai deux disques durs (hda / hdb) sur le premier bus ide
j'ai un graveur de CD Samsung SW-240B (hdc) sur le second bus ide
J'ai un kernel 2.4.22, compilé avec les options suivantes (M pour
module, Y pour "en dur"):
loopback device support : M
scsi support (scsi_mod) : M
scsi cdrom support (sr_mod) : M
scsi generic support (sg) : M
scsi emulation support (ide-scsi) : M
include atapi-cdrom (ide-cd) : M
iso9660 cdrom FS : M
microsoft joliet cdrom : Y
Dans mon modules.conf, j'ai les lignes suivantes (d'après les
indications d'Alexis de Lattre):
alias scd0 sr_mod #load sr_mod upon access of scd0
alias scd1 sr_mod
alias scd2 sr_mod
alias scd3 sr_mod
pre-install sg modprobe ide-scsi #load ide-scsi before sg
pre-install sr_mod modprobe ide-scsi #load ide-scsi before sr_mod
pre-install ide-scsi modprobe ide-cd #load ide-cd before ide-scsi
J'ai ajouté "hdc=ide-scsi" dans lilo.conf:
image=/vmlinuz
label=Linux
append="hdc=ide-scsi acpi=off"
read-only
# restricted
# alias=1
Question#2 :
j'ai lu des choses contradictoires à ce sujet. J'ai lu que cette ligne
était inutile quand
ide-scsi était compilé en module (ce qui est mon cas). D'autres disent
le contraire.
De plus certains affirment que pour les kernels récents, la syntaxe
n'est pas "hdX=ide-scsi"
mais "hdX=scsi".
Qui/que faut-il croire ???
Bon, maintenant, prenons un exemple:
Je boote sur mon linux, syslog me donne:
[...]
kernel: ide_setup: hdc=ide-scsi
[...]
kernel: Uniform Multi-Platform E-IDE driver Revision: 7.00b eta4-2.4
kernel: ide: Assuming 33MHz system bus speed for PIO modes; override
with idebus=xx
kernel: ICH2: IDE controller at PCI slot 00:1f.1
kernel: ICH2: chipset revision 18
kernel: ICH2: not 100%% native mode: will probe irqs later
kernel: ide0: BM-DMA at 0xa800-0xa807, BIOS settings: h da:DMA, hdb:DMA
kernel: ide1: BM-DMA at 0xa808-0xa80f, BIOS settings: h dc:DMA, hdd:pio
kernel: hda: WDC WD400BB-75AUA1, ATA DISK drive
kernel: hdb: WDC WD1200BB-00CAA1, ATA DISK drive
kernel: blk: queue c02b8840, I/O limit 4095Mb (mask 0xfffff fff)
kernel: blk: queue c02b897c, I/O limit 4095Mb (mask 0xfffff fff)
kernel: hdc: SAMSUNG CD-R/RW SW-240B, ATAPI CD/DVD-ROM driv e
kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
kernel: ide1 at 0x170-0x177,0x376 on irq 15
kernel: hda: attached ide-disk driver.
kernel: hda: host protected area => 1
kernel: hda: 78165360 sectors (40021 MB) w/2048KiB Cache, C
HS=4865/255/63, UDMA(100)
kernel: hdb: attached ide-disk driver.
kernel: hdb: host protected area => 1
kernel: hdb: 234441648 sectors (120034 MB) w/2048KiB Cache,
CHS=14593/255/63, UDMA(100)
kernel: Partition check:
kernel: hda: hda1 hda2 hda3
kernel: hdb: hdb1 hdb2
Aucune indication sur l'émulation scsi, à part la première ligne, mais
bon, ça doit être normal
puisque c'est en module.
Question#3: c'est normal ou pas ?
Ensuite, je mets un CD audio dans mon lecteur, et je tente de le monter:
# mount -t iso9660 /dev/scd0 /graveur
et là ça plante, ça ne répond plus.
J'ouvre une seconde console et je regarde mon syslog :
kernel: SCSI subsystem driver Revision: 1.00
kernel: hdc: attached ide-scsi driver.
kernel: scsi0 : SCSI host adapter emulation for IDE ATAPI ddevices
kernel: scsi : aborting command due to timeout : pid 0, scssi0, channel
0, id 0, lun 0 Inquiry 00 00 00 ff 00
hdc: lost interrupt
kernel: ide-scsi: The scsi wants to send us more data than expected -
discarding data
kernel: ide-scsi: [[ 12 0 0 0 ff 0 0 0 0 0 0 0 ]
kernel: ]
kernel: ide-scsi: expected 256 got 352 limit 256
kernel: hdc: lost interrupt
kernel: ide-scsi: The scsi wants to send us more data than expected -
discarding data
kernel: ide-scsi: [[ 12 0 0 0 ff 0 0 0 0 0 0 0 ]
kernel: ]
kernel: ide-scsi: expected 256 got 352 limit 256
kernel: hdc: lost interrupt
kernel: ide-scsi: The scsi wants to send us more data than expected -
discarding data
kernel: ide-scsi: [[ 12 0 0 0 ff 0 0 0 0 0 0 0 ]
[... boucle infinie]
Question#4: comment arrêter cette boucle sans avoir à rebooter (je
commence à fatiguer, à force !)
Par curiosité, je regarde les modules qui sont chargés :
# lsmod
Module Size Used by Not tainted
ide-scsi 10320 2 (initializing)
ide-cd 32352 0
scsi_mod 85504 1 (autoclean) [ide-scsi]
cdrom 28512 0 (autoclean) [ide-cd]
[...]
Aucun d'entre-eux n'étaient chargés au démarrage.
ide-scsi reste en "initializing". Le problème vient de là, j'imagine.
Par curiosité aussi, je regarde dans /proc/scsi/scsi:
# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: Model: Rev:
Type: <NULL> ANSI SCSI revision: ffffffff
Pas étonnant, vous me direz...
Bon, je ne sais plus que faire, ni ou regarder.
J'ai essayé pas mal de choses, passé des heures sur google et sur les
forums...
Question#5 (la plus importante): Que faire ???
Si quelqu'un a une piste, je le remercie d'avance.
Ah oui ! juste une chose encore : mon graveur fonctionne parfaitement
quand je
l'utilise sous windows 2000, qui traine dans un coin de mon disque dur
(ça, c'est à la limite du supportable !). Ce n'est donc (apparemment)
pas un
problème matériel.
A +
Marcos