Bug 1723

Summary: USB ZIP DRIVE DOES _NOT_ WORK.
Product: Drivers Reporter: Anthony de Almeida Lopes (guerrilla_thought)
Component: USBAssignee: Mike Anderson (andmike)
Status: REJECTED INVALID    
Severity: normal CC: bunk, nacc
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.4.22 and 2.6.0-test11 and 2.6.0 Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 5089    

Description Anthony de Almeida Lopes 2003-12-21 18:38:32 UTC
Distribution: gentoo/ppc 1.4 (current rsync'd at dec 12 6:42pm PST)
Hardware Environment: G3 PPC 266Mhz
Software Environment: ? gentoo/ppc ?
Problem Description: USB Mass Storage/IOMEGA Zip Complete Fail.
More Info: I'm currently using USB mouse, printer and keyboard with no problem
whatsoever. 

Steps to reproduce:
use .config below... and try to mount IOMEGA USB Zip through /dev/sda (which
should actually show up as /dev/sda1 or /dev/sda4, right??)

I want to preface this by saying I've posted this on many lists, forums and
so on... I'm only resorting to the developers because I've exahusted all
other resources........ The following is the post that I put to my distrobutions
forum....
But first my stats:
Gentoo/PPC
266Mhz G3 PPC
USB Keyboard: working
USB Mouse: perfect
USB Printer: works
Kernel: 2.4.22 also trying 2.6.0 and 2.6.0-test11

IF YOU WANT MORE ERROR MESSAGES/LOGS or dmesg OUTPUT PLEASE LET ME KNOW...
I'm willing to work with anybody who has any idea what iis wrong....
(guerrilla_thought(at)gmx.de)

Okay. I've recompiled the kernel litterally DOZENS of times... This is
insane!
I can to get my USB Zip drive to work no matter what I do. I've got hotplug,
usbutils, I've got usb-mass storage, scsi (and scsi ide emulation)

I should mention I've tried on the 2.6.0 and 2.4.22 kerels. I've tried both
vfat, msdos and hfs filesystems.

"/dev/scsi/host2/bus0/target0/lun0: I/O error: dev 00:00, sector 0"

at the moment there is no /dev/sda1 or 2 or 3 or 4... only /dev/sda
fdisk /dev/sda says it can't open it. Sometimes when I put a disk into the
zip drive it makes loud disk spinning noises repeatedly, over and over and
over... (this is only supposed to happen once) ive researched on google and
all
that and i really am at a loss.

Okay.. I do have OHCI (and UHCI)
heres part of my .config
Code:

CONFIG_USB=y
CONFIG_USB_DEBUG=y
CONFIG_USB_DEVICEFS=y
CONFIG_USB_UHCI_ALT=y
CONFIG_USB_OHCI=y
CONFIG_USB_STORAGE=m
CONFIG_USB_STORAGE_DEBUG=y
CONFIG_USB_PRINTER=y
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT=y
CONFIG_USB_SERIAL=m


Like I said before, everything that is a module, has at one point or another
also been tried as an in-kernel.

I know for a fact that USB works because my (this)keyboard, mouse and
printer (which all work) are USB.

And heres my SCSI


Code:

CONFIG_SCSI=m
CONFIG_SCSI_DEBUG_QUEUES=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_MESH=m
CONFIG_SCSI_MESH_SYNC_RATE=5
CONFIG_SCSI_MESH_RESET_DELAY_MS=4000


and all of these have been tried as in-kernel and module.
note too that MESH is low-level driver SCSI for my PPC.
I also have IDE SCSI emulation as M and at other times in-kernel as wel...
Ok here are some more error messages I found.. I'm still hunting for more in
my logs






Code:

usb-storage: Bad target number (4/0)
usb-storage: *** thread sleeping.
usb-storage: queuecommand() called
usb-storage: *** thread awakened.
usb-storage: Bad target number (5/0)
usb-storage: *** thread sleeping.
usb-storage: queuecommand() called
usb-storage: *** thread awakened.
usb-storage: Bad target number (6/0)
usb-storage: *** thread sleeping.
usb-storage: queuecommand() called


These repeat themselves forever (a while at least).

here are some errors from /var/log/kernel/current

Code:

Dec 20 01:17:52 [kernel] scsi2: ERROR on channel 0, id 0, lun 0, CDB: 0x28
00 00 00 00 00 00 00 08 00
Dec 20 01:20:23 [kernel] scsi1 : SCSI emulation for USB Mass Storage devices
Dec 20 01:21:16 [kernel] Attached scsi removable disk sda at scsi1, channel
0, id 0, lun 0
Dec 20 01:39:49 [kernel] Attached scsi removable disk sda at scsi1, channel
0, id 0, lun 0

Dec 20 02:06:13 [kernel] scsi1: ERROR on channel 0, id 0, lun 0, CDB: 0x28
00 00 00 00 a8 00 00 68 00
Dec 20 02:06:13 [kernel] scsi1: ERROR on channel 0, id 0, lun 0, CDB: 0x28
00 00 00 00 a9 00 00 67 00
Dec 20 02:06:13 [kernel] scsi1: ERROR on channel 0, id 0, lun 0, CDB: 0x28
00 00 00 00 aa 00 00 66 00
Dec 20 02:06:13 [kernel


and that actually goes on forever until i disconnect the drive and/or unload
the modules.... At one point I had a 9MB log file/directory....

and just for reference this is mounts output:

Code:

# mount /dev/sda /mnt/usbzip -t hfs
mount: wrong fs type, bad option, bad superblock on /dev/sda,
       or too many mounted file systems


or plain
Code:

#fdisk /dev/sda
Unable to read /dev/sda


And I want to also note that during all of thise the light on the zip drive
does blink. And often it makes spinning noises ad infinutm.

I also want to note I tried the patch for (submitted to
linux-usb-devel@lists.sourceforge.net) to
/usr/src/linux/drivers/usb/storage/transport.c
I also tried commenting out that section of code.
-------------------- PATCH----------------------------
diff -Nru a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c
--- a/drivers/usb/storage/transport.c   Wed Oct 22 14:52:52 2003
+++ b/drivers/usb/storage/transport.c   Wed Oct 22 14:52:52 2003
@@ -821,6 +821,8 @@
                }
        }
 
+#if 0
+       /* Removed because some devices do not follow the spec. */
        /* If not UFI, we interpret the data as a result code 
         * The first byte should always be a 0x0
         * The second byte & 0x0F should be 0x0 for good, otherwise error 
@@ -830,6 +832,7 @@
                                us->iobuf[0]);
                return USB_STOR_TRANSPORT_ERROR;
        }
+#endif
 
        switch (us->iobuf[1] & 0x0F) {
                case 0x00: 
---------------------------------------------------------------------
code:
/* If not UFI, we interpret the data as a result code
* The first byte should always be a 0x0
* The second byte & 0x0F should be 0x0 for good, otherwise error
*/
/*if (us->iobuf[0]) {
*      US_DEBUGP("CBI IRQ data showed reserved bType %d\n",
*                      us->iobuf[0]);
*      return USB_STOR_TRANSPORT_ERROR;
*}
*/


I don't know why I bothered with the patch above, but I'm getting severly
desperate.....

If you are interested the below URL's are from my distrobutions (Gentoo) forums.... 

http://forums.gentoo.org/viewtopic.php?t=107764&postdays=0&postorder=asc&highlight=usb+mass+storage&start=0




Anyway... Thanks for any help you can give...... I'll keep digging on
google, forums and other lists too....
If anyone at all can help me with this I'd soooo appreciate it.... I just am
running out of things to try... This is insane...,.

--tony
Comment 1 Adrian Bunk 2005-07-03 09:04:27 UTC
Is this problem still present in recent 2.6 kernels?
Comment 2 Greg Kroah-Hartman 2005-08-18 16:16:57 UTC
Closing this due to lack of activity.