For the list searchers out there...

My Mstation MP3 player, also known as Neo 25 IV or SSI America that ses
a Scanlogic SL11R-IDE chip now works on 2.4.22 and will probably work
on earlier 2.4 kernels.

(who else should I send this info to BTW?  the linux-usb-devel list? How
do I get it on the working devices list?)

First off, it has to be firmware rev 2.6, instructions for doing that
are in the working devices list at www.linux-usb.org, currently the 
bit you want is
http://www.qbik.ch/usb/devices/showdev.php?id=491
else search on "Neo" or "Scanlogic".

Note that most of the sites given to get stuff from are no longer with
us...
other places to check are
http://www.ssiamerica.com/
http://www.neomp3.com.tw/index1.htm

Unfortunately I can't remember which set of instructions I used that
worked, I tried 'em all!  I think the file was USB2IDE26C.zip and the
instructions from the SSI America site, using a qide.exe prog or
similar.  You will need a windows box to do the job, and if it's W98 you
will need the W98 driver.

Then you have to patch the usb-storage stuff.

I used a patch that was on the linux-usb-devel list, but it was wonky
and had to be hand edited, for some reason all the variations of this
patch had bcs.Tag != bcb.Tag instead of bcs->Tag != bcb->Tag

The patch was attached to
http://marc.theaimsgroup.com/?l=linux-usb-devel&m=102373791005844&w=2 

I found it had various non-translatable characters in it, and that . vs
-> bug.  So I hand edited the files rather than patching them straigh
straight.

Here's the diff -U output:

--- transport.c-dist    2003-10-18 16:16:36.000000000 +1000
+++ transport.c 2003-10-18 16:24:18.000000000 +1000
@@ -1252,5 +1252,5 @@
                  bcs->Residue, bcs->Status);
        if ((bcs->Signature != cpu_to_le32(US_BULK_CS_SIGN) &&
bcs->Signature != cpu_to_le32(US_BULK_CS_OLYMPUS_SIGN)) ||
-           bcs->Tag != bcb->Tag || 
+       ((bcs->Tag != bcb->Tag ) && (!(us->flags & US_FL_SL_IDE_BUG))) ||
            bcs->Status > US_BULK_STAT_PHASE || partial != 13) {
                US_DEBUGP("Bulk logical error\n");

--- unusual_devs.h-dist 2003-10-18 16:09:49.000000000 +1000
+++ unusual_devs.h      2003-10-18 16:16:29.000000000 +1000
@@ -131,4 +131,11 @@
                US_FL_FIX_INQUIRY),
 
+UNUSUAL_DEV(  0x04ce, 0x0002, 0x0260, 0x0260,
+               "ScanLogic",
+               "SL11R-IDE unknown HW rev",
+               US_SC_SCSI, US_PR_BULK, NULL,
+               US_FL_SL_IDE_BUG ),
+
+

--- usb.h-dist  2003-10-18 16:17:23.000000000 +1000
+++ usb.h       2003-10-18 16:17:41.000000000 +1000
@@ -104,6 +104,7 @@
 #define US_FL_FIX_INQUIRY     0x00000040 /* INQUIRY response needs fixing */
 #define US_FL_FIX_CAPACITY    0x00000080 /* READ_CAPACITY response too big */
 
+#define US_FL_SL_IDE_BUG      0x00000100 /* ScanLogic usb-ide workaround */
 #define USB_STOR_STRING_LEN 32


Thanks to all the bods who helped with this!

Zebee


-------------------------------------------------------
This SF.net email sponsored by: Enterprise Linux Forum Conference & Expo
The Event For Linux Datacenter Solutions & Strategies in The Enterprise 
Linux in the Boardroom; in the Front Office; & in the Server Room 
http://www.enterpriselinuxforum.com
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to