Subject: Re: USB 2.0 support - problems?
To: Jaromir Dolecek <jdolecek@NetBSD.org>
From: Lennart Augustsson <lennart@augustsson.net>
List: tech-kern
Date: 01/06/2004 22:05:59
Jaromir Dolecek wrote:
> Lennart Augustsson wrote:
> 
>>The EHCI driver lacks support for interrupt isochronous transfers.
>>Interrupt transfers are not difficult, it's just not done.
> 
> 
> What does this mean? Certain devices not working, devices
> randomly locking, or kernel panic?
Certain devices will just not work.


> 
> 
>>There might also be some issues with the data toggle, I never
>>managed to test if that works properly under all conditions.
> 
> 
> What effect would have an incorrectly cleared/pending data toggle?
Bulk data transfers would stop working, because the wrong toggle
is sent/recvd.


>  
> 
>>The meaty part to implement is the support for USB 2.0 hubs.
>>They are quite compolicated since the need to be able to do
>>"transaction translation", i.e., converting to/from USB 2 and USB 1.
>>So the hub driver needs to handle and schedule these things.
> 
> 
> I somehow thought this is done by the hardware. Why would
> the driver need to be involved?

It's done by hardware, but software has to be involved in scheduling
where in the frame different devices get to go.  If you read the
chapter on hubs in the USB 2.0 spec you can see the complexity.

	-- Lennart