On Mon, 17 Jan 2005 [EMAIL PROTECTED] wrote:

> I recently bought a "Micro Innovations" combo USB2.0 / IEEE1394 Cardbus card. 
> The firewire chip is ALi M5253, the USB 1.1/2.0 chip is 5272. 
> 
> USB 2.0 devices under usb-storage always hang. I don't have an exhaustive 
> collection of devices to try with, but at least two different USB-IDE 
> bridges, 
> a CF card reader, and a SanDisk flash drive all show the same symptoms: 
> 
> USB 1.1 devices work fine (even usb-storage) as do IEEE1394 devices using 
> sbp2.
> 
> The device will generally get detected and probe fine, and get attached to the
> SCSI subsystem. After transferring a certain amount of data (maybe 200 - 
> 800kb)
> it hangs, various bus resets are generated, and the device is eventually 
> declared "offlined." Removing and reinserting it works, it reprobes, etc.. but
> the same thing happens again when you try to access it. 
> 
> Usually it works long enough to even mount the device, but not always, and 
> it doesn't matter if you mount or not anyway - even using dd to read the 
> device
> will hang it. 
> 
> Unfortunately I don't have access to any USB2.0 non-storage devices, so I 
> can't
> tell whether it's a problem with the host controller or the storage module.
> 
> I've tried setting max_sector low, to 32 or 64k, to no effect.

Do you mean 32 KB and 64 KB?  Or do you mean that you set max_sectors to 
32 (= 16 KB)?  Actually, I just want to make sure you have tried setting 
max_sectors to something below below 120 (= 61440 bytes) since that's 
where you ran into trouble.

>  I'm pretty sure
> there is nothing running on the machine that would be probing or inquiry-ing
> the device, such as hald. 

Like Matt said, your problems start here:

> Jan 17 15:29:30 knopbox kernel: usb-storage: Command READ_10 (10 bytes)
> Jan 17 15:29:30 knopbox kernel: usb-storage:  28 00 00 00 01 08 00 00 c8 00
> Jan 17 15:29:30 knopbox kernel: usb-storage: Bulk Command S 0x43425355 T 0x1b 
> L 102400 F 128 Trg 0 LUN 0 CL 10
> Jan 17 15:29:30 knopbox kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 
> 31 bytes
> Jan 17 15:29:30 knopbox kernel: usb-storage: Status code 0; transferred 31/31
> Jan 17 15:29:30 knopbox kernel: usb-storage: -- transfer complete
> Jan 17 15:29:30 knopbox kernel: usb-storage: Bulk command transfer result=0
> Jan 17 15:29:30 knopbox kernel: usb-storage: usb_stor_bulk_transfer_sglist: 
> xfer 102400 bytes, 2 entries
> Jan 17 15:29:30 knopbox kernel: usb-storage: Status code -121; transferred 
> 61440/102400
> Jan 17 15:29:30 knopbox kernel: usb-storage: -- short read transfer

Status -121 simply means that not all the requested data was transferred.  

I've seen reports about certain USB host controller chips that have small 
fluctuations in their clocking rate.  Small, but enough to disturb some 
devices when running at high speed.  I don't remember if the ALi chip was 
among the offenders, but it may have been.  The recommendation was to buy 
a USB 2.0 hub and put it between the controller and the device; the hub 
regenerates the clock signals in a clean form that the device can use.

Alternatively and perhaps more easily, you could try replacing your
Cardbus card with a different brand using a different controller.

Alan Stern



-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
Linux-usb-users@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to