[6457] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

Re: NEC 6x external scsi cdrom with kernel 2.2.3?

daemon@ATHENA.MIT.EDU (Jens Axboe)
Tue May 4 08:59:29 1999

Date: 	Tue, 4 May 1999 13:46:42 +0200
From: Jens Axboe <axboe@image.dk>
To: Tuan Hoang <tuan@optimus.mitre.org>
Cc: linux-scsi@vger.rutgers.edu, linux-kernel@vger.rutgers.edu
In-Reply-To: <Pine.LNX.4.04.9903161118380.2149-100000@optimus.mitre.org>; from Tuan Hoang on Tue, Mar 16, 1999 at 11:25:50AM -0500


--3uo+9/B/ebqu+fSQ
Content-Type: text/plain; charset=us-ascii

On Tue, Mar 16 1999, Tuan Hoang wrote:
> Hi,
> 
> I used to have a plextor 12x scsi internal (worked fine) but now I'm 
> stuck with an external nec 6x scsi.  xcdroast doesn't seem
> to recognize an cd's which I have inside the cdrom.  I can
> mount the cdrom on it but I noticed that in dmesg that
> it says that there are illegal requests before hand.
> 
> sr1: CDROM (ioctl) reports ILLEGAL REQUEST.
> sr1: CDROM (ioctl) reports ILLEGAL REQUEST.
> sr1: CDROM (ioctl) reports ILLEGAL REQUEST.
> sr1: CDROM (ioctl) reports ILLEGAL REQUEST.
> ISO 9660 Extensions: RRIP_1991A
> 
> I'm using an adaptec 2940 ultra pci scsi on a Tyan board with
> an AMD K6-2 350.  Also I'm using Red Hat 5.2 with all the updated rpms
> as of this writing and kernel 2.2.3.
> I'm wondering if the illegal requests are what's causing xcdroast to fail.

I recently bumped into this myself. It seems the NEC drive fails the
capabilites probe and the sense check only checks for invalid opcode,
where the probe will result in a invalid field in cdb. Could you try
this patch? Or get 2.2.7-ac1, which included it and lots of other
things for shutting up the SCSI CD-ROM subsystem a bit.

-- 
*  Jens Axboe <axboe@image.dk>
*  Linux CD-ROM Maintainer

--3uo+9/B/ebqu+fSQ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="sr_ioctl.diff"

diff -ur --exclude-from /home/axboe/cdrom/exclude-from virgin/drivers/scsi/sr_ioctl.c linux/drivers/scsi/sr_ioctl.c
--- virgin/drivers/scsi/sr_ioctl.c	Thu Feb 25 01:27:54 1999
+++ linux/drivers/scsi/sr_ioctl.c	Sun Apr 25 18:55:06 1999
@@ -120,9 +122,11 @@
             if (!quiet)
 		printk(KERN_ERR "sr%d: CDROM (ioctl) reports ILLEGAL "
 		       "REQUEST.\n", target);
-            if (SCpnt->sense_buffer[12] == 0x20 &&
+            if ((SCpnt->sense_buffer[12] == 0x20 ||
+	        SCpnt->sense_buffer[12] == 0x24) &&
                 SCpnt->sense_buffer[13] == 0x00) {
                 /* sense: Invalid command operation code */
+                /* or Invalid field in cdb */
                 err = -EDRIVE_CANT_DO_THIS;
             } else {
                 err = -EINVAL;

--3uo+9/B/ebqu+fSQ--

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu

home help back first fref pref prev next nref lref last post