OK, I've applied the following patch to the 2.4.13-12mdk mandrake kernel:
--- linux/drivers/usb/storage/transport.c.orig Tue Dec 4 11:35:08 2001
+++ linux/drivers/usb/storage/transport.c Tue Dec 4 11:37:50 2001
@@ -817,10 +817,11 @@
}
/* was this a command-completion interrupt? */
- if (us->irqbuf[0] && (us->subclass != US_SC_UFI)) {
- US_DEBUGP("-- not a command-completion IRQ\n");
- return;
- }
+/* if (us->irqbuf[0] && (us->subclass != US_SC_UFI)) {
+ * US_DEBUGP("-- not a command-completion IRQ\n");
+ * return;
+ * }
+ */
/* was this a wanted interrupt? */
if (!atomic_read(us->ip_wanted)) {
But I'm not having much luck I think:
Dec 4 15:22:24 tweety kernel: hub.c: USB new device connect on bus1/2,
assigned device number 2
Dec 4 15:22:24 tweety kernel: usb.c: USB device 2 (vend/prod
0x54c/0x58) is not claimed by any active driver.
Dec 4 15:22:24 tweety kernel: Initializing USB Mass Storage driver...
Dec 4 15:22:24 tweety kernel: usb.c: registered new driver usb-storage
Dec 4 15:22:24 tweety kernel: usb-storage: act_altsettting is 0
Dec 4 15:22:24 tweety kernel: usb-storage: id_index calculated to be: 68
Dec 4 15:22:24 tweety kernel: usb-storage: Array length appears to be: 77
Dec 4 15:22:24 tweety kernel: usb-storage: USB Mass Storage device detected
Dec 4 15:22:24 tweety kernel: usb-storage: Endpoints: In: 0xcb395ac8
Out: 0xcb395ab4 Int: 0xcb395aa0 (Period 1)
Dec 4 15:22:24 tweety kernel: usb-storage: New GUID
054c00580000000000000000
Dec 4 15:22:24 tweety kernel: usb-storage: Transport:
Control/Bulk/Interrupt
Dec 4 15:22:24 tweety kernel: usb-storage: Protocol: 8070i
Dec 4 15:22:24 tweety kernel: usb-storage: Allocating IRQ for CBI transport
Dec 4 15:22:24 tweety kernel: usb-storage: usb_submit_urb() returns 0
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread sleeping.
Dec 4 15:22:24 tweety kernel: scsi1 : SCSI emulation for USB Mass
Storage devices
Dec 4 15:22:24 tweety kernel: usb-storage: queuecommand() called
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread awakened.
Dec 4 15:22:24 tweety kernel: usb-storage: Command INQUIRY (6 bytes)
Dec 4 15:22:24 tweety kernel: usb-storage: 12 00 00 00 ff 00 52 cb 00
00 f7 ca
Dec 4 15:22:24 tweety kernel: usb-storage: Call to
usb_stor_control_msg() returned 12
Dec 4 15:22:24 tweety kernel: usb-storage: usb_stor_transfer_partial():
xfer 255 bytes
Dec 4 15:22:24 tweety kernel: usb-storage: USB IRQ recieved for device
on host 1
Dec 4 15:22:24 tweety kernel: usb-storage: -- IRQ data length is 2
Dec 4 15:22:24 tweety kernel: usb-storage: -- IRQ state is 0
Dec 4 15:22:24 tweety kernel: usb-storage: -- Interrupt Status (0x3a, 0x0)
Dec 4 15:22:24 tweety kernel: usb-storage: -- Current value of ip_waitq
is: 0
Dec 4 15:22:24 tweety kernel: usb-storage: usb_stor_bulk_msg() returned
0 xferred 56/255
Dec 4 15:22:24 tweety kernel: usb-storage: CBI data stage result is 0x1
Dec 4 15:22:24 tweety kernel: usb-storage: Current value of ip_waitq is: 1
Dec 4 15:22:24 tweety kernel: usb-storage: Got interrupt data (0x3a, 0x0)
Dec 4 15:22:24 tweety kernel: usb-storage: CBI IRQ data showed reserved
bType 58
Dec 4 15:22:24 tweety kernel: usb-storage: CB_reset() called
Dec 4 15:22:24 tweety kernel: usb-uhci.c: interrupt, status 3, frame# 364
Dec 4 15:22:24 tweety kernel: usb-storage: CB[I] soft reset failed -32
Dec 4 15:22:24 tweety kernel: usb-storage: -- transport indicates
transport failure
Dec 4 15:22:24 tweety kernel: usb-storage: Fixing INQUIRY data to show
SCSI rev 2
Dec 4 15:22:24 tweety kernel: usb-storage: scsi cmd done, result=0x70000
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread sleeping.
Dec 4 15:22:24 tweety kernel: usb-storage: queuecommand() called
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread awakened.
Dec 4 15:22:24 tweety kernel: usb-storage: Command INQUIRY (6 bytes)
Dec 4 15:22:24 tweety kernel: usb-storage: 12 00 00 00 ff 00 52 cb 00
00 f7 ca
Dec 4 15:22:24 tweety kernel: usb-storage: Call to
usb_stor_control_msg() returned 12
Dec 4 15:22:24 tweety kernel: usb-storage: usb_stor_transfer_partial():
xfer 255 bytes
Dec 4 15:22:24 tweety kernel: usb-storage: USB IRQ recieved for device
on host 1
Dec 4 15:22:24 tweety kernel: usb-storage: -- IRQ data length is 2
Dec 4 15:22:24 tweety kernel: usb-storage: -- IRQ state is 0
Dec 4 15:22:24 tweety kernel: usb-storage: -- Interrupt Status (0x3a, 0x0)
Dec 4 15:22:24 tweety kernel: usb-storage: -- Current value of ip_waitq
is: 0
Dec 4 15:22:24 tweety kernel: usb-storage: usb_stor_bulk_msg() returned
0 xferred 56/255
Dec 4 15:22:24 tweety kernel: usb-storage: CBI data stage result is 0x1
Dec 4 15:22:24 tweety kernel: usb-storage: Current value of ip_waitq is: 1
Dec 4 15:22:24 tweety kernel: usb-storage: Got interrupt data (0x3a, 0x0)
Dec 4 15:22:24 tweety kernel: usb-storage: CBI IRQ data showed reserved
bType 58
Dec 4 15:22:24 tweety kernel: usb-storage: CB_reset() called
Dec 4 15:22:24 tweety kernel: usb-storage: CB[I] soft reset failed -32
Dec 4 15:22:24 tweety kernel: usb-storage: -- transport indicates
transport failure
Dec 4 15:22:24 tweety kernel: usb-storage: Fixing INQUIRY data to show
SCSI rev 2
Dec 4 15:22:24 tweety kernel: usb-storage: scsi cmd done, result=0x70000
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread sleeping.
Dec 4 15:22:24 tweety kernel: usb-storage: queuecommand() called
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread awakened.
Dec 4 15:22:24 tweety kernel: usb-storage: Command INQUIRY (6 bytes)
Dec 4 15:22:24 tweety kernel: usb-storage: 12 00 00 00 ff 00 52 cb 00
00 f7 ca
Dec 4 15:22:24 tweety kernel: usb-storage: Call to
usb_stor_control_msg() returned 12
Dec 4 15:22:24 tweety kernel: usb-storage: usb_stor_transfer_partial():
xfer 255 bytes
Dec 4 15:22:24 tweety kernel: usb-storage: USB IRQ recieved for device
on host 1
Dec 4 15:22:24 tweety kernel: usb-storage: -- IRQ data length is 2
Dec 4 15:22:24 tweety kernel: usb-storage: -- IRQ state is 0
Dec 4 15:22:24 tweety kernel: usb-storage: -- Interrupt Status (0x3a, 0x0)
Dec 4 15:22:24 tweety kernel: usb-storage: -- Current value of ip_waitq
is: 0
Dec 4 15:22:24 tweety kernel: usb-storage: usb_stor_bulk_msg() returned
0 xferred 56/255
Dec 4 15:22:24 tweety kernel: usb-storage: CBI data stage result is 0x1
Dec 4 15:22:24 tweety kernel: usb-storage: Current value of ip_waitq is: 1
Dec 4 15:22:24 tweety kernel: usb-storage: Got interrupt data (0x3a, 0x0)
Dec 4 15:22:24 tweety kernel: usb-storage: CBI IRQ data showed reserved
bType 58
Dec 4 15:22:24 tweety kernel: usb-storage: CB_reset() called
Dec 4 15:22:24 tweety kernel: usb-storage: CB[I] soft reset failed -32
Dec 4 15:22:24 tweety kernel: usb-storage: -- transport indicates
transport failure
Dec 4 15:22:24 tweety kernel: usb-storage: Fixing INQUIRY data to show
SCSI rev 2
Dec 4 15:22:24 tweety kernel: usb-storage: scsi cmd done, result=0x70000
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread sleeping.
Dec 4 15:22:24 tweety kernel: usb-storage: queuecommand() called
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread awakened.
Dec 4 15:22:24 tweety kernel: usb-storage: Bad target number (1/0)
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread sleeping.
Dec 4 15:22:24 tweety kernel: usb-storage: queuecommand() called
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread awakened.
Dec 4 15:22:24 tweety kernel: usb-storage: Bad target number (2/0)
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread sleeping.
Dec 4 15:22:24 tweety kernel: usb-storage: queuecommand() called
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread awakened.
Dec 4 15:22:24 tweety kernel: usb-storage: Bad target number (3/0)
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread sleeping.
Dec 4 15:22:24 tweety kernel: usb-storage: queuecommand() called
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread awakened.
Dec 4 15:22:24 tweety kernel: usb-storage: Bad target number (4/0)
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread sleeping.
Dec 4 15:22:24 tweety kernel: usb-storage: queuecommand() called
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread awakened.
Dec 4 15:22:24 tweety kernel: usb-storage: Bad target number (5/0)
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread sleeping.
Dec 4 15:22:24 tweety kernel: usb-storage: queuecommand() called
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread awakened.
Dec 4 15:22:24 tweety kernel: usb-storage: Bad target number (6/0)
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread sleeping.
Dec 4 15:22:24 tweety kernel: usb-storage: queuecommand() called
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread awakened.
Dec 4 15:22:24 tweety kernel: usb-storage: Bad target number (7/0)
Dec 4 15:22:24 tweety kernel: usb-storage: *** thread sleeping.
Dec 4 15:22:24 tweety kernel: WARNING: USB Mass Storage data integrity
not assured
Dec 4 15:22:24 tweety kernel: USB Mass Storage device found at 2
Dec 4 15:22:24 tweety kernel: USB Mass Storage support registered.
Dec 4 15:22:48 tweety ntpd[1110]: kernel time discipline status change 41
>That's the right piece of code. Let's see if this works before we worry
>about how it will affect other devices.
>
>Matt
>
>On Fri, Nov 30, 2001 at 09:31:54AM -0500, Pete Toscano wrote:
>
>>Well, I have a few free cycles today and a Clie that I just got syncing
>>and would love to get working as a usb_storage device, soooo.....
>>
>>I'm compiling this up now, but I think this is the part of transport.c
>>that you were talking about, is it not?
>>
>> /* was this a command-completion interrupt? */
>> if (us->irqbuf[0] && (us->subclass != US_SC_UFI)) {
>> US_DEBUGP("-- not a command-completion IRQ\n");
>> return;
>> }
>>
>>I've commented this out and I'm rebuilding. How will this affect other
>>USB storage devices? Should things be okay without this check? Is
>>there any way to make it to only skip this check if the attached device
>>is a Clie (and maybe some other PDAs)?
>>
>>I'll report back how things go once I reboot.
>>
>>pete
>>
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users