Skip to contentSkip to conversation

Getting ScanLogic USB-ATAPI Adapter to work

PATCH In review Rene Engelhard 4 participants 5 messages Jan 7, 2002 – Jan 10, 2002

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Getting ScanLogic USB-ATAPI Adapter to work

Hi Greg, hi Kernel-Hackers,

a long time ago I bought the Adapter mentioned above and got it working.

Now, 6 months after that I bought it, my testing is over and I got the
result: The device is working by changing the usb-storage sources; this has not affected any other thing. All my devices (3 of USB) runs perfectly.

So I send you this patch.

It's against 2.5.2-pre9 and the patch from Alan with the comment that you need SCSI Support is applied in my tree, so this is needed before applying this patch (but I saw you did it Greg, you can do this)

Because of testing this patch 6 months, I do not consider to say that this patch is experimental, so I did not write $CONFIG_EXPERIMENTAL at the end of the dep_mbool statement.

I have attached it to this mail.

Rene

Documentation/Configure.help +10 -0
diff -urN linux/Documentation/Configure.help linux.new/Documentation/Configure.help
@@ -13492,6 +13492,16 @@
   Support for the Freecom USB to IDE/ATAPI adaptor.
   Freecom has a web page at <http://www.freecom.de/>.
 
+ScanLogic USB-ATAPI Bridge support
+CONFIG_USB_STORAGE_SCANLOGIC
+  Support for the ScanLogic USB to IDE/ATAPI adapter.
+  For german people: This is the adapter shipped from ATELCO.
+  For details, see
+  http://plichta.cs.uni-dortmund.de/~rene/linux/kernel/patches/scanlogic/
+  and http://www.qbik.ch/usb/devices/showdev.php?id=491
+  
+  Say Y here if you have this device, otherwise say N.
+
 Microtech CompactFlash/SmartMedia reader
 CONFIG_USB_STORAGE_DPCM
   Say Y here to support the Microtech ZiO! CompactFlash/SmartMedia
drivers/usb/Config.in +1 -0
diff -urN linux/drivers/usb/Config.in linux.new/drivers/usb/Config.in
@@ -38,6 +38,7 @@
 else
 dep_tristate '  USB Mass Storage support' CONFIG_USB_STORAGE $CONFIG_USB $CONFIG_SCSI
    dep_mbool '    USB Mass Storage verbose debug' CONFIG_USB_STORAGE_DEBUG $CONFIG_USB_STORAGE
+   dep_mbool '    ScanLogic USB/ATAPI bridge' CONFIG_USB_STORAGE_SCANLOGIC $CONFIG_USB_STORAGE
    dep_mbool '    Datafab MDCFE-B Compact Flash Reader support' CONFIG_USB_STORAGE_DATAFAB $CONFIG_USB_STORAGE $CONFIG_EXPERIMENTAL
    dep_mbool '    Freecom USB/ATAPI Bridge support' CONFIG_USB_STORAGE_FREECOM  $CONFIG_USB_STORAGE
    dep_mbool '    ISD-200 USB/ATA Bridge support' CONFIG_USB_STORAGE_ISD200 $CONFIG_USB_STORAGE
drivers/usb/storage/transport.c +5 -0
diff -urN linux/drivers/usb/storage/transport.c linux.new/drivers/usb/storage/transport.c
@@ -1157,7 +1157,12 @@
 		  le32_to_cpu(bcs.Signature), bcs.Tag, 
 		  bcs.Residue, bcs.Status);
 	if (bcs.Signature != cpu_to_le32(US_BULK_CS_SIGN) || 
+#ifndef CONFIG_USB_STORAGE_SCANLOGIC
+            /* This device has a bug how it communicates via USB,
+	     * if the following line is not included, the the device
+	     * runs */
 	    bcs.Tag != bcb.Tag || 
+#endif	    
 	    bcs.Status > US_BULK_STAT_PHASE || partial != 13) {
 		US_DEBUGP("Bulk logical error\n");
 		return USB_STOR_TRANSPORT_ERROR;
drivers/usb/storage/unusual_devs.h +7 -0
diff -urN linux/drivers/usb/storage/unusual_devs.h linux.new/drivers/usb/storage/unusual_devs.h
@@ -37,6 +37,13 @@
  * then by ProductID.
  */
 
+#ifdef CONFIG_USB_STORAGE_SCANLOGIC
+UNUSUAL_DEV(  0x04ce, 0x0002, 0x0000, 0x0200,
+		"ScanLogic Corp.",
+		"USB to IDE",
+		US_SC_8020, US_PR_BULK, NULL, 0),
+
+#endif
 UNUSUAL_DEV(  0x03ee, 0x0000, 0x0000, 0x0245, 
 		"Mitsumi",
 		"CD-R/RW Drive",
#1 lore raw
Quoted 12 lines · Rene Engelhard

Hi Greg, hi Kernel-Hackers,

a long time ago I bought the Adapter mentioned above and got it working.

Now, 6 months after that I bought it, my testing is over and I got the
result: The device is working by changing the usb-storage sources; this has not affected any other thing. All my devices (3 of USB) runs perfectly.

So I send you this patch.

Quoted 8 lines

It's against 2.5.2-pre9 and the patch from Alan with the comment that you need SCSI Support is applied in my tree, so this is needed before applying this patch (but I saw you did it Greg, you can do this)

Because of testing this patch 6 months, I do not consider to say that this patch is experimental, so I did not write $CONFIG_EXPERIMENTAL at the end of the dep_mbool statement.

I sent a patch to unusual_devs.h but didn't get any response yet. I need to set "CONFIG_SCSI_MULTI_LUN=y" and use the second device for CompactFlash.
No other needed change here:

UNUSUAL_DEV( 0x04ce, 0x0002, 0x0074, 0x0074,

                "ScanLogic",
                "SL11R-IDE",
                US_SC_SCSI, US_PR_BULK, NULL,
                US_FL_FIX_INQUIRY),
#2 lore raw
In reply to Rene Engelhard
Quoted 7 lines · Peter Wächtler

I sent a patch to unusual_devs.h but didn't get any response yet. I need to set "CONFIG_SCSI_MULTI_LUN=y" and use the second device for CompactFlash.
No other needed change here:

Quoted 5 lines

UNUSUAL_DEV( 0x04ce, 0x0002, 0x0074, 0x0074,

                "ScanLogic",
                "SL11R-IDE",
                US_SC_SCSI, US_PR_BULK, NULL,
                US_FL_FIX_INQUIRY),

Yes, I saw it in the unusual_devs.h in 2.5.2-pre8 and above but it does not help to get my mentioned device working.

My patch does.

Rene

#3 lore raw
In reply to Rene Engelhard
Quoted 8 lines · Rene Engelhard

Hi Greg, hi Kernel-Hackers,

a long time ago I bought the Adapter mentioned above and got it working.

Now, 6 months after that I bought it, my testing is over and I got the
result: The device is working by changing the usb-storage sources; this has not affected any other thing. All my devices (3 of USB) runs perfectly.

I sent a fool-proof patch to the MAINTAINER 6 (nine!) months before and discussed this on usb-devel. The MAINTAINER has chosen to reject this patch (for private discussions whith the manufacturer about standards comliance) and leave users alone ! Although I proposed to him to disable all QUIRKS and Worksarounds for buggy hardware in his tree and see if the system still is running he stayed stubborn. As UNUSUAL_DEVS is quite large he is inconsequent for no apparent reason.

P.S. Please use this patch:
- Don't bloat Config.in with with unnecessary decisions, just fix the bugger automatically.
- Be non-intrusive to other devices.

Gunther

--- linux-2.4.6-ac1-orig/drivers/usb/storage/transport.c Wed Apr 18
20:49:12 2001
+++ linux/drivers/usb/storage/transport.c Sat Jul 21 12:18:32 2001
@@ -1180,7 +1180,7 @@

                  le32_to_cpu(bcs.Signature), bcs.Tag,
                  bcs.Residue, bcs.Status);
        if (bcs.Signature != cpu_to_le32(US_BULK_CS_SIGN) ||
-           bcs.Tag != bcb.Tag ||
+           ((bcs.Tag != bcb.Tag) && !(us->flags & US_FL_QUIRKS_TAG)) ||
            bcs.Status > US_BULK_STAT_PHASE || partial != 13) {
                US_DEBUGP("Bulk logical error\n");
                return USB_STOR_TRANSPORT_ERROR;

--- linux-2.4.6-ac1-orig/drivers/usb/storage/usb.h Sun Jul 8 19:53:50
2001
+++ linux/drivers/usb/storage/usb.h Sat Jul 21 12:05:15 2001
@@ -100,6 +100,8 @@
#define US_FL_IGNORE_SER 0x00000010 /* Ignore the serial number given
*/

 #define US_FL_SCM_MULT_TARG   0x00000020 /* supports multiple targets */
 #define US_FL_FIX_INQUIRY     0x00000040 /* INQUIRY response needs fixing */
+#define US_FL_QUIRKS_TAG      0x00000080 /* the buggy device doesn't echo the

tag
+ in the status response !*/

#define USB_STOR_STRING_LEN 32

--- linux-2.4.6-ac1-orig/drivers/usb/storage/unusual_devs.h Sun Jul 8
19:53:50 2001
+++ linux/drivers/usb/storage/unusual_devs.h Sat Jul 21 12:06:55 2001
@@ -59,6 +59,12 @@

                "FinePix 1400Zoom",
                US_SC_8070, US_PR_CBI, NULL, US_FL_FIX_INQUIRY),

+// Firmware 2.60 needs US_FL_QUIRKS_TAG here ! Bugger device. +UNUSUAL_DEV( 0x04ce, 0x0002, 0x0000, 0x9999,

+                "Scanlogic",
+                "SL11R USBIDE",
+                US_SC_SCSI, US_PR_BULK, NULL, US_FL_QUIRKS_TAG),
+
 UNUSUAL_DEV(  0x04e6, 0x0001, 0x0200, 0x0200,
                "Matshita",
                "LS-120",
#4 lore raw
Quoted 2 lines · Leif Sawyer

do not apply gunther's patch, please.

I'm not applying any patch, unless Matt (the usb-storage maintainer) says it is ok to do so :)

thanks,

greg k-h