Newsgroup: it.comp.os.linux.sys
Titolo: Per esperti,EmulazioneSCSI per Lettore CDROM Ide Dannato problema

Uso linux mandrake 8.2 e all'inizio utilizzavo senza problemi il mio 
*lettore* (non masterizzatore) ide-cd, montato con l'opzione supermount in 
/mnt/cdrom attraverso il file device /dev/hdd.
Un bel giorno decisi di utilizzare l'emulazione scsi per poter masterizzare 
 direttamente, cioè senza creare delle immagini iso, da questo lettore al 
mio masterizzatore attaccato alla porta parallela, a causa di insufficente 
spazio per le immagini iso.
Così ho ricompilato il kernel, sia col modulo ide-cd che col modulo 
ide-scsi, sia entrambi inclusi nel kernel, la prima volta che ho compilato, 
sia entrambi come moduli, la seconda volta, ma senza risultati, come si 
vedrà.
Ho aggiunto poi la classica append "hdd=ide-scsi" al file lilo.conf; ho 
reinstallato lilo, ho cambiato /etc/fstab, come poi farò vedere, e ho 
rebottato. Al comando cdrecord --scanbus, tutto mi viene riconosciuto, ed 
infatti eccolo qua:
[root@localhost luca]$ cdrecord --scanbus
scsibus0:
        0,0,0     0) 'PIONEER ' 'DVD-ROM DVD-104 ' '1.23' Removable CD-ROM
Provo la masterizzazione diretta e tutto funziona alla grande.
Decido allora di passare a vedere se oltre alla emulazione scsi, posso 
ancora leggere i dati su un cd di dati. E qui casca l'asino! Non va più un 
bel cazzo!
Infatti:
[root@localhost luca]$ ls /mnt/cdrom
ls: /mnt/cdrom: Input/output error
Dopo essermi girate le palle, sono andato a rivedere /etc/fstab, per vedere 
se era corretto. La linea di /etc/fstab incriminata è questa:
/mnt/cdrom /mnt/cdrom supermount 
dev=/dev/scd0,fs=iso9660,ro,--,iocharset=iso8859-15 0 0
E guarda caso è corretta, perchè se prima mi riferivo al cdrom ide con 
/dev/hdd, adesso dovrà usare /dev/scd0, che naturalmente son presenti in 
/dev. Cambio quindi scd0 con sr0 o sda, giusto per riprovare e tentare, ma 
niente. Inoltre, al comando mount ottengo che il /dev/scd0 è montato.
Ho provato quindi la ricompilazione in vari modi come dicevo sopra e a 
montaggi e smontaggi manuali del filesystem su ide-cdrom in emulazione.
Ma niente, al comando ls c'e' sempre lo stesso errore: i/o error.
Vado quindi a vedermi i messaggi del kernel con un bel dmesg e cosa trovo?
ide-scsi: scd0: unsupported command in request queue (0)
per ogni ls che avevo fatto. Al posto di scd0 sostituiteci inoltre sr0,sda, 
in quanto ho provato con tutto. (so che sda è per i dischi scasi, ma quando 
sei incazzato provi anche con i file dev della lavatrice)
Insomma, spero di esser stato completo. Non rispondetemi dicendo di provare 
a , provare b, provare c...ho provato tutto e non sono un novellino. 
Chiedete chiarimenti se volete ma datemi sta zozza di soluzione.
Saluti.

 Chiedete chiarimenti se volete ma datemi sta zozza di soluzione.
La soluzione non la so.
Quindi ti dico cosa succede e cosa puoi provare.
Quel msg di errore salta fuori quando nella ready queue dei comandi da
processare dal modulo ide-scsi salta fuori un cmd con codice sconosciuto e
!= dal 90 che ci si aspetta, e che viene impostato in fase di accodamento.
Nel tuo caso il codice e' 0, come viene printk()ato.
Puo' naturalmente essere un qualche bug del kernel, e se vuoi investigare
puoi andare alla riga 56 di ide-scsi.c
#define IDESCSI_DEBUG_LOG               0
e 
#define IDESCSI_DEBUG_LOG               1
cosi' dal log dovrebbe darti maggiori informazioni sulla coda di comandi
prima di effettuare il controllo che ti scazza.
-- 
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://cowo.yoda2000.net
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
           -<! Failure is not an option...it's bundled with Microsoft !>-

Non ti arrabbiare, hai un setup piuttosto singolare ed è probabile che 
ci sia un problema nel kernel. Io, nella tua situazione, scriverei alla 
mailing list degli sviluppatori del kernel, 
linux-...@vger.kernel.org
, ma non prima di aver provato a installare 
un'altro kernel.
Potresti aver trovato un nuovo bug del kernel!! Questo non ti vale un 
premio in danaro o una stretta di mano di Linus Torvalds con foto 
ricordo, perché non saresti il primo nè tantomeno l'ultimo.
Saluti

 bel cazzo!
Logico. Molto probabilmente hai dimenticato qualcosa quando hai
ricompilato il kernel. Per l'emulazione SCSI devi abilitare:
SCSI support
SCSI CD-ROM support
SCSI generic support
SCSI emulation support
Inoltre ti consiglio di abilitare:
Probe all LUNs on each SCSI device
Verbose SCSI error reporting
Io ho tutto questo e l'emulazione funziona (sia con il lettore,
sia con il masterizzatore)
Henryx

Probe all LUNs on each SCSI device
Questo č meglio di no, con l'emulazione SCSI non funziona tanto bene.
-- 
Saluti,
    Mardy
http://castellina.org/interlingua


Se tu togli la riga nel fstab e poi dai : modprobe ide-cd, e poi mount
/dev/hdd  /<directory-libera-che-vuoi> , dovrebbe andare.
Invece il mio problema, quasi uguale - MDK 8.1, kernel ricompilato
2.4.18 - mi riconosce il bus scsi emulato con cdrecord e mi consente
la masterizzazione; ma ugualmente non posso caricare il masterizzatore
ne' con mount  /dev/sr0, ne' /dev/scd0, ne' /dev/sg0 perche' mi dice
che non e' un valido block device o non e' un block device.
Posso montarlo con: rmmod ide-scsi e poi modprobe ide-cd e con mount
/dev/hdc /mnt.
Ho provato a ricompilare il kernel con il supporto al devfs, a
ricompilarlo senza, ma niente da fare, sempre uguale.
Il problema deve stare, penso nella /dev. 
Ma che fare?
Gabryele