Hi there,

I recently bought a Sony DSC P-10 digital camera which is a USB 2.0 mass storage device. Unfortunately the usb-storage driver included in 2.4.21 does not recognize it. After I did some simple modifications (attachted to this mail) to the usb-storage driver it works perfectly well.

FYI: The descriptor looks like that:
ID 054c:0010 Sony Corp. DSC-S30/S70/S75/F505V/F505/FD92 Cybershot/Mavica Digital Camera
...
bNumEndpoints 3
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 255
bInterfaceProtocol 1
...
it's a plain and simple "bulk without interrrupt" device.


Please test, refine and apply this patch to the current kernel trees.

Deti


diff -ru linux-2.4.21/drivers/usb/storage/protocol.h 
/usr/src/linux-2.4.21/drivers/usb/storage/protocol.h
--- linux-2.4.21/drivers/usb/storage/protocol.h 2001-11-22 20:49:34.000000000 +0100
+++ /usr/src/linux-2.4.21/drivers/usb/storage/protocol.h        2003-07-05 
14:00:19.000000000 +0200
@@ -54,8 +54,9 @@
 #define US_SC_8070     0x05            /* Removable media */
 #define US_SC_SCSI     0x06            /* Transparent */
 #define US_SC_ISD200    0x07            /* ISD200 ATA */
+#define US_SC_SONY     0xff            /* Sony vendor specific */
 #define US_SC_MIN      US_SC_RBC
-#define US_SC_MAX      US_SC_ISD200
+#define US_SC_MAX      US_SC_SONY
 
 extern void usb_stor_ATAPI_command(Scsi_Cmnd*, struct us_data*);
 extern void usb_stor_qic157_command(Scsi_Cmnd*, struct us_data*);
--- linux-2.4.21/drivers/usb/storage/usb.c      2003-06-13 16:51:37.000000000 +0200
+++ /usr/src/linux-2.4.21/drivers/usb/storage/usb.c     2003-07-05 14:08:47.000000000 
+0200
@@ -155,6 +155,8 @@
        { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_UFI, US_PR_BULK) },
        { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_8070, US_PR_BULK) },
        { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_SCSI, US_PR_BULK) },
+       
+       { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_SONY, US_PR_CB) },
 
        /* Terminating entry */
        { }
@@ -231,6 +233,9 @@
        { useProtocol: US_SC_SCSI,
          useTransport: US_PR_BULK},
 
+       { useProtocol: US_SC_RBC,
+         useTransport: US_PR_CB},
+
        /* Terminating entry */
        { 0 }
 };

Reply via email to