On Mon, 27 Oct 2003, Manoj Sharma wrote:

> > Although you didn't say, it looks like you are running under Linux 2.4.  
> > Try using 2.6 and see if that makes any difference.  So far as I know, the
> > 2.6 version of the UHCI driver _will_ schedule other TDs in the same frame
> > as a NAKed data packet for a control endpoint.
> 
> 
> That's correct, I am using 2.4.18 as well as 2.4.20 and it persists for 
> both. I will check it out for 2.6 also.
>  
> 
> > On the other hand, if you only have one USB device attached and it has
> > only endpoint 0, what other TDs could there be for the driver to schedule?  
> > Different control messages for the same endpoint can't be intermixed; one
> > has to finish completely before the next can begin.
> 
> There is only one device connected to the host and it has only control
> endpoint. This is not to intermix different control messages, see there
> are some 10 TDs containing data from one control message, If the UHCI is
> scheduling them vertically, every second TD in the frame causes NAK hence
> there is only one TD getting trasacted per frame. If there is some delay
> introduced between 2 TDs (may be by using a dummy TD), the device may be
> able to finish the first one before it gets the second.

I'm not sure how 2.4 works.  Under 2.6 the UHCI driver uses horizontal
scheduling, not vertical.  It also uses full-speed bandwidth 
reclamation, so it would make many attempts to send the TDs during each 
frame if your device was full-speed.  Since the device is low-speed, that 
explains your difficulty.

If your device is so slow that it can't handle two TDs in a row, what 
makes you think it will be able to handle two TDs that are separated by 
some sort of dummy?

Modifying the driver to create such dummy TDs would be a very non-trivial 
task, and the result probably wouldn't be accepted into the kernel.

Alan Stern



-------------------------------------------------------
This SF.net email is sponsored by: The SF.net Donation Program.
Do you like what SourceForge.net is doing for the Open
Source Community?  Make a contribution, and help us add new
features and functionality. Click here: http://sourceforge.net/donate/
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to