Hello,

I have some problems with data transfers to an INT out endpoint.
Maybe someone can help me....

I am running Linux 2.4.17 and usb-uhci.

The target device wants to get an INT out transfer every 2 ms,
with a maximum paket size of 64 Bytes, and the actual paket
size taylored to the amount of free bytes in the devices' input buffer.

So I have set up a periodic INT transfer, but was not able to modify
the transfer size from inside the completion handler.

IMO this asymmetric behavior of the INT transfer is a design weakness.
Maybe it should be addressed in 2.5.x ?

So I have tried to use one-shot-INT transfers. The first thing I have noticed
is that is is not possible to submit the next transfer from the completion
handler of the previous one. So, inside the completion handler, I have set
a flag and submit the next transfer later. 

IMO this is also a design weakness. For a one-shot-transfer, the completion
handler says: "I'm done with it", and why should I don't do the next transfer?
Maybe this is also an issue for 2.5.x? I remember there was a thread for
this topic at linux-usb-devel...

I wonder if the design with setting a flag in the completion handler and
submitting the next paket later is race-free on SMP systems, but this is
not my problem today... The submitting of the next urb is done inside
the completion handler of another endpoint. 

Note that I don't unlink the INT urbs. I think that one-shot-INTs are doing
the unlink automatic. Right?

My problem with this approach is: only the *first* INT urb is actually
transfering data to the device. All the following urbs are executing
fine (no errors, no urb->status != 0), but the usb device one the
other side don't get any data!

(I know that the same device is running fine on MS Windows).

I have no USB analyser here at home, and I am on holiday now...

It is clear that I have to have a closer look at the problem... but in the
meantime: does someone has an insight of what is going on?
Which is the best solution to serve the device? Did I do something wrong?

best regards
Wolfgang

-- 
"We're back to the times when men were men
 and wrote their own device drivers."
-Linus Torvalds-

_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to