On Tue, 9 Nov 2004, Dietrich Foethke wrote:

> 
> Hello again,
> 
> here comes the complete debug output from syslogd.
> Dietrich
> 
> 
> Nov  9 23:07:21 mabruk kernel: usb 1-1: new full speed USB device using 
> address 2
> Nov  9 23:07:23 mabruk kernel: Initializing USB Mass Storage driver...
> Nov  9 23:07:23 mabruk kernel: usb-storage: USB Mass Storage device detected
> Nov  9 23:07:23 mabruk kernel: usb-storage: altsetting is 0, id_index is 33
> Nov  9 23:07:23 mabruk kernel: usb-storage: -- associate_dev
> Nov  9 23:07:23 mabruk kernel: usb-storage: Vendor: Sony
> Nov  9 23:07:23 mabruk kernel: usb-storage: Product: 
> DSC-S30/S70/S75/505V/F505/F707/F717/P8
> Nov  9 23:07:23 mabruk kernel: usb-storage: Transport: Control/Bulk
> Nov  9 23:07:23 mabruk kernel: usb-storage: Protocol: Transparent SCSI
> Nov  9 23:07:23 mabruk kernel: usb-storage: Endpoints: In: 0xcea8fd20 Out: 
> 0xcea8fd34 Int: 0xcea8fd48 (Period 255)
> Nov  9 23:07:23 mabruk kernel: usb-storage: *** thread sleeping.
> Nov  9 23:07:23 mabruk kernel: scsi1 : SCSI emulation for USB Mass Storage 
> devices
> Nov  9 23:07:23 mabruk kernel: usb-storage: queuecommand called
> Nov  9 23:07:23 mabruk kernel: usb-storage: *** thread awakened.
> Nov  9 23:07:23 mabruk kernel: usb-storage: Command INQUIRY (6 bytes)
> Nov  9 23:07:23 mabruk kernel: usb-storage:  12 00 00 00 24 00
> Nov  9 23:07:23 mabruk kernel: usb-storage: usb_stor_ctrl_transfer: rq=00 
> rqtype=21 value=0000 index=00 len=6
> Nov  9 23:07:23 mabruk kernel: usb-storage: Status code 0; transferred 6/6
> Nov  9 23:07:23 mabruk kernel: usb-storage: -- transfer complete
> Nov  9 23:07:23 mabruk kernel: usb-storage: Call to usb_stor_ctrl_transfer() 
> returned 0
> Nov  9 23:07:23 mabruk kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 
> 36 bytes
> Nov  9 23:07:23 mabruk kernel: usb-storage: Status code 0; transferred 36/36
> Nov  9 23:07:23 mabruk kernel: usb-storage: -- transfer complete
> Nov  9 23:07:23 mabruk kernel: usb-storage: CB data stage result is 0x0
> Nov  9 23:07:23 mabruk kernel: usb-storage: Fixing INQUIRY data to show SCSI 
> rev 2 - was 0
> Nov  9 23:07:23 mabruk kernel: usb-storage: scsi cmd done, result=0x0
> Nov  9 23:07:23 mabruk kernel: usb-storage: *** thread sleeping.
> Nov  9 23:07:23 mabruk kernel:   Vendor: Sony      Model: DSC - F505        
> Rev: 1.06
> Nov  9 23:07:23 mabruk kernel:   Type:   Direct-Access                      
> ANSI SCSI revision: 02

Okay, this problem has come up before.  If you like, you should be able to 
fix it by doing

        echo 'Sony:DSC - F505:0x80400' >/proc/scsi/device_info

as root, at some time when the scsi_mod module is loaded but your device
hasn't been plugged in yet.  Alternatively, the patch below (for 2.6.9)
should provide an easier way to accomplish the same thing.  Let me know
how it works out.

Alan Stern



===== drivers/usb/storage/scsiglue.c 1.87 vs edited =====
--- 1.87/drivers/usb/storage/scsiglue.c 2004-11-01 13:59:21 -05:00
+++ edited/drivers/usb/storage/scsiglue.c       2004-11-10 14:39:53 -05:00
@@ -143,6 +143,11 @@
                sdev->use_10_for_ms = 1;
        }
 
+       /* Some devices choke when they receive a PREVENT-ALLOW MEDIUM
+        * REMOVAL command, so suppress those commands. */
+       if (us->flags & US_FL_NOT_LOCKABLE)
+               sdev->lockable = 0;
+
        /* this is to satisfy the compiler, tho I don't think the 
         * return code is ever checked anywhere. */
        return 0;
===== drivers/usb/storage/usb.h 1.64 vs edited =====
--- 1.64/drivers/usb/storage/usb.h      2004-10-20 12:38:15 -04:00
+++ edited/drivers/usb/storage/usb.h    2004-11-10 14:28:10 -05:00
@@ -73,6 +73,7 @@
 #define US_FL_SCM_MULT_TARG   0x00000020 /* supports multiple targets      */
 #define US_FL_FIX_INQUIRY     0x00000040 /* INQUIRY response needs faking   */
 #define US_FL_FIX_CAPACITY    0x00000080 /* READ CAPACITY response too big  */
+#define US_FL_NOT_LOCKABLE    0x00000200 /* PREVENT/ALLOW not supported        
    */
 
 /* Dynamic flag definitions: used in set_bit() etc. */
 #define US_FLIDX_URB_ACTIVE    18  /* 0x00040000  current_urb is in use  */
===== drivers/usb/storage/unusual_devs.h 1.161 vs edited =====
--- 1.161/drivers/usb/storage/unusual_devs.h    2004-10-20 12:38:15 -04:00
+++ edited/drivers/usb/storage/unusual_devs.h   2004-11-10 14:35:01 -05:00
@@ -180,6 +180,13 @@
                "CD-R/RW Drive",
                US_SC_8070, US_PR_CB, NULL, 0),
 
+/* Reported by Adriaan Penning <[EMAIL PROTECTED]> */
+UNUSUAL_DEV(  0x04da, 0x2372, 0x0000, 0x9999,
+               "Panasonic",
+               "DMC-LCx Camera",
+               US_SC_DEVICE, US_PR_DEVICE, NULL,
+               US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE ),
+
 /* Most of the following entries were developed with the help of
  * Shuttle/SCM directly.
  */
@@ -265,12 +272,11 @@
                US_SC_8070, US_PR_BULK, NULL,
                US_FL_FIX_INQUIRY ),
 
-/* This entry is needed because the device reports Sub=ff */
 UNUSUAL_DEV(  0x054c, 0x0010, 0x0106, 0x0450, 
                "Sony",
                "DSC-S30/S70/S75/505V/F505/F707/F717/P8", 
                US_SC_SCSI, US_PR_DEVICE, NULL,
-               US_FL_SINGLE_LUN | US_FL_MODE_XLATE ),
+               US_FL_SINGLE_LUN | US_FL_NOT_LOCKABLE ),
 
 /* This entry is needed because the device reports Sub=ff */
 UNUSUAL_DEV(  0x054c, 0x0010, 0x0500, 0x0500, 



-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to