Please send your messages to the mailing list as well as to me.
On Fri, 15 Jul 2005, Johannes Clemens wrote:
> hi,
>
> > What shows up in the system log when you plug in the drive?
> > There should
> > be a line saying something like:
> >
> > sr0: scsi3-mmc drive: ...
> >
> > What else is on that line?
>
> the lines in /var/log/messages are:
> Jul 15 17:44:21 server kernel: hub.c: new USB device 00:07.2-1, assigned
> address 2
> Jul 15 17:44:21 server kernel: scsi0 : SCSI emulation for USB Mass
> Storage devices
> Jul 15 17:44:21 server kernel: Vendor: HL-DT-ST Model: DVDRAM
> GSA-5163D Rev: A103
> Jul 15 17:44:21 server kernel: Type: CD-ROM
> ANSI SCSI revision: 02
> Jul 15 17:44:21 server kernel: Attached scsi CD-ROM sr0 at scsi0,
> channel 0, id 0, lun 0
> Jul 15 17:44:21 server kernel: sr0: scsi-1 drive
> Jul 15 17:44:21 server kernel: WARNING: USB Mass Storage data integrity
> not assured
> Jul 15 17:44:21 server kernel: USB Mass Storage device found at 2
The "sr0: scsi-1 drive" means the Linux thinks your drive is a CD-ROM, not
a DVD-RAM.
> can you help me?? ;)
Maybe. This patch may be enough to get things working. The patch is
written for 2.4.30 -- I don't have a copy of 2.4.26 here -- but it ought
to apply okay.
Alan Stern
--- a/drivers/scsi/sr.c 2003-06-13 10:51:36.000000000 -0400
+++ b/drivers/scsi/sr.c 2005-07-15 12:19:06.000000000 -0400
@@ -691,7 +691,7 @@
void get_capabilities(int i)
{
- unsigned char cmd[6];
+ unsigned char cmd[10];
unsigned char *buffer;
int rc, n;
@@ -713,12 +713,12 @@
printk(KERN_ERR "sr: out of memory.\n");
return;
}
- cmd[0] = MODE_SENSE;
+ memset(cmd, 0, sizeof(cmd));
+ cmd[0] = MODE_SENSE_10;
cmd[1] = (scsi_CDs[i].device->scsi_level <= SCSI_2) ?
((scsi_CDs[i].device->lun << 5) & 0xe0) : 0;
cmd[2] = 0x2a;
- cmd[4] = 128;
- cmd[3] = cmd[5] = 0;
+ cmd[8] = 128;
rc = sr_do_ioctl(i, cmd, buffer, 128, 1, SCSI_DATA_READ, NULL);
if (rc) {
@@ -731,7 +731,7 @@
printk("sr%i: scsi-1 drive\n", i);
return;
}
- n = buffer[3] + 4;
+ n = 8 + buffer[6]*256 + buffer[7];
scsi_CDs[i].cdi.speed = ((buffer[n + 8] << 8) + buffer[n + 9]) / 176;
scsi_CDs[i].readcd_known = 1;
scsi_CDs[i].readcd_cdda = buffer[n + 5] & 0x01;
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users