Hi Matthias,

Thank you for the reply.

Am 23.12.2013 12:15, schrieb Matthias Bolte:
>
> I think there could be two reasons for this problem:
>
> 1) There is a bug in libusbx, your specific usage pattern triggers it
> and in the end your transfer is lost. Are you using the latest
> release/git version? If not you should update to check if the problem
> got fixed in the meantime.

I tried that with the latest releases of both libusb 1.0.9 and libusbx 
1.0.17. The same problem appeared.

>
> 2) There is a bug in your USB device. Once you start streaming data in
> (b) your device doesn't send periodic status transfers (a) anymore.

My device is a Cypress PSoC 5 LP. Of course it is always possible that 
some bug is present in their API (or in my code), although I try to keep 
it as simple as possible for testing. I just check if the endpoint 
buffer is ready to accept new data and fill it if this is the case.

>
> A third reason could be a problem in the OS USB stack, but I think
> that's very unlikely. On which OS did you test this? Does it happen on
> different OSs, or is it specific to one OS?

Originally, the problem occurred on my Beaglebone Black with Angstrom 
Embedded Linux (Kernel 3.8).
Now I tested the code on my Win XP machine and the code seems to work as 
expected there, at least most of the time. But from time to time after a 
large bulk in transfer the periodic transfer again stop to occur. Very 
strange, now I have it running for many minutes without any problems...

What I don't do is delete and reallocate the transfers before 
resubmitting them. I only configure the transfer struct to point to a 
new buffer where required. Could this be a problem? According to the 
docs, when using the asynch interface it is a benefit to reuse transfers 
like I do.

>
> To debug this further you could look at the USB traffic using
> Wireshark (or other USB monitoring tools) to see where the periodic
> status transfer is lost. If you can see it in Wireshark, but not in
> your application then it is lost in libusbx. If you don't see it in
> Wireshark then your device might not be sending it at all.

Thanks for the hint. I will investigate this further.

Best regards,

Anguel

------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to