> On Fri, 24 Oct 2003, Manoj Sharma wrote: > > > I have a low speed display device with just a control endpoint. When some > > large data is sent on the control endpoint, it is able to ACK for first > > data packet in a frame, but it NAKs for the next data packet so the rest > > of the frame goes waste because UHCI doesn't schedule any other TD in that > > frame. > > > > In UHCI driver (usb-uhci.c), I tried inserting TDs with 0 byte of data in > > between 2 genuine TDs for that device but the device NAKs even for a 0 > > byte data packet. > > > > Is there any way to introduce some sort of delay between 2 TDs so that the > > device gets time to process the first one? any other suggestion pls? > > 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. Thanks manoj ------------------------------------------------------- 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