Re: full-speed 1.1 device fails with ENOSPC when connected to (non-root) 2.0 hub

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 25 May 2009, Hans de Goede wrote:

> > Doing isochronous transfers to a USB-1.1 device through a USB-2.0 hub
> > is a weak point in the ehci-hcd driver.  (In fact, it's a weak point of
> > the USB-2.0 specification!)
> >
> 
> Yes, it seems this whole bandwidth allocation / sharing thing is a weakpoint.

No, the bandwidth allocation/sharing is fine.  The awkward part is
trying to run a full-speed device through a high-speed translating hub.  
The mechanism for this is delicate and inefficient, and it is not
implemented entirely correctly in ehci-hcd.

> Anyways even though not recommended, isn't this supposed to work ?

Sure.  But this is one area where the driver doesn't do as good a job 
as it could.

> I got the idea to do this after reading:
> http://www.linux-usb.org/usb2.html
> 
> Which sort of makes it sound, that the way to get multiple full-speed
> 1.1 devices to work without bandwidth problem is actually using a hub.

It's a tricky situation, and that page doesn't explain all the nuances.  
For instance, it also depends on the type of hub you use.  Some of them
have only one Transaction Translator, while others have a separate TT
for each port.  These more capable hubs can do a better job of sharing
the bandwidth among multiple devices.

> I'm not claiming the hub in my monitor will be able to handle multiple
> full speed devices (no idea) but shouldn't it be able to handle atleast one?

Yes, it should (probably).  As I said above, ehci-hcd needs some
improvements in this area.

> Note: The being a PITA is not deliberate, I can live with what the workaounds,
> but I'm wondering how this will reflect upon us when encountered by the
> mythical mother in law using the computer.

My mother-in-law uses Mac OS X.  :-)

Yes, it's true, and I have recently started to work on improvements for
ehci-hcd.  But it's a difficult job and it will take a good deal of
time.

One thing you might check for is whether or not
CONFIG_USB_EHCI_TT_NEWSCHED is enabled in your kernel.  It affects 
these sorts of issues.

Alan Stern

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

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux