Re: cxacru usb_bulk_msg() firmware upload 36x slower with OHCI vs.UHCI

From: Alan Stern
Date: Wed Nov 18 2009 - 17:25:44 EST


On Wed, 18 Nov 2009, Simon Arlott wrote:

> > What happens with other sorts of devices, such as a USB flash drive?
>
> On my desktop, I don't usually use the OHCI controller directly, but
> through hubs on EHCI. I do have an USB Audio device which works ok
> using OHCI.
>
> The firmware load fails over EHCI (via a hub) despite running even faster:
> [89633.219403] cxacru: sending fw 0x3 size 0x8000 to #7000
> [89633.220147] cxacru: sending fw 0x3 size 0x8000 to #e000
> [89633.220530] cxacru: sending fw 0x3 size 0x8000 to #15000
> [89633.220774] cxacru: sending fw 0x3 size 0x8000 to #1c000
> [89633.220898] cxacru: sending fw 0x3 size 0x8000 to #23000
> [89633.221286] cxacru: sending fw 0x3 size 0x8000 to #2a000
>
> 338µs per 32KB... which is 775mbit/s+ and doesn't make sense

It sure doesn't. EHCI can't send bulk data faster than 52 KB/ms, which
is 615 us per 32 KB. I wonder if the time values above are correct.

> I can write a 10MB file to an USB flash drive over OHCI, and umount+sync
> takes around 13 seconds.

Yes, that's about right. It leads me to wonder if something funny is
going on with the device, or least with the firmware-loading part of
it. Odd that it works differently with UHCI and OHCI, though. There
shouldn't be any differences visible to the device. You don't have
anything else attached to the same bus, do you?

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/