Hey Rob:
More information...
Here is a clip of the log with debugging enabled:
usb-storage: *** thread sleeping.
usb-storage: queuecommand() called
usb-storage: *** thread awakened.
usb-storage: Command MODE_SENSE (6 bytes)
usb-storage: 1a 00 3f 00 08 00 00 00 00 00 1c c0
usb-storage: CB_reset() called
usb-storage: CB_reset: clearing endpoint halt
And the clip out of sddr09.c:
if (srb->cmnd[0] == MODE_SENSE) {
// Read-write error recovery page: there needs
to
// be a check for write-protect here
if ( (srb->cmnd[2] & 0x3F) == 0x01 ) {
if (ptr==NULL || srb->request_bufflen<4)
return USB_STOR_TRANSPORT_ERROR;
memcpy(ptr, mode_page_01, sizeof(mode_page_01));
return USB_STOR_TRANSPORT_GOOD;
}
// FIXME: sense buffer?
return USB_STOR_TRANSPORT_ERROR;
If I understand things correctly, srb->cmnd[2] is 0x3F so sddr09
returns an error status. sd.c seems to ibe snooping for is the
write protect bit (buffer[2] & 0x80).
I'll give the next step a try and let you know in the morning (return
mode page
1 and a good status).
regards
-Willy
. I'll probably have to investigate the ALLOW MEDIUM REMOVAL
command,
but
. the MODE SENSE command is a little puzzling... Can you provide a
kernel
. log of the command that gets sent to the driver? The driver is
supposed
. to handle one MODE SENSE command, but if there are more it should
. handle, I should probably build those in also
.
. Thanks,
.
. --Rob
.
. Willy wrote:
.
. > Greetings:
. >
. > I hope this is of interest to Matthew Dharm...
. >
. > Playing with a recently arrived SanDisk SDDR09
. > (box marking SDDR-09-01).
. >
. > It appears that this device does not want to see
. > "ALLOW MEDIUM REMOVAL" or "MODE SENSE".
. >
. > With these commands delivered to the device, a timeout
. > occurs. A modification to "usb.c" to eliminate these commands,
. > in a manner similar to processing the START_STOP command,
. > seems to eliminate the timeout. (adding flags to
unusual_devs.h
. > and usb.h in a manner similar to US_FL_START_STOP).
. >
. > Note that I've not attempted to provide any data to the
MODE_SENSE
. > request, just skipped it like START_STOP does...
. >
. > Kernal 2.4.2 pasted into Redhat "fisher"
. >
. > regards
. > -Willy
. > William Robison
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
http://lists.sourceforge.net/lists/listinfo/linux-usb-devel