On Mon, May 06, 2019 at 09:36:34AM +0200, Matthias Br??ndli wrote:
> > Pure theory: What if this intermittent issue would be an issue with a 
> > certain sequence of packetlengths, some of them on the boundary of the 
> > maximum size for that endpoint and endpointtype, that are not handled 
> > properly at one or both sides, causing a glitch/retransmission/faillure, 
> > resulting in the application-level visible underruns ?
> > How would you measure that ? How could you optimize the packetlengths 
> > so that the issue is quicker to reproduce ? Or avoid the issue by
> > anticipating and avoiding such packetsequences ?
> 
> It's a possible hypothesis, but I don't see how to test it easily.

The ellisys protocol analyser supports an external trigger,
and does support recording the USB enumeration, then pause and
record into a circular buffer for indefinite time.

Then the trick is to wait and detect your underrun, in your 
UHD apllication, and send a charachter to a usb serialport conncted 
via another usb hostcontroller/root port, to this coaxial 
trigger input. Configure the trigger to stop capturing, and analyse
the USB traffic around the underrun.
This timestamping is not perfect, but you should be in a few
10s msec of the underrun.

If there is a USB bulk endpoint underrun visible in the ellisys log, 
other ways of filling that endpoint in time could be tried, 
in hostcontroller driver, libusb, uhd, or your application.
Scheduling and prioritisation of all software components can be
double-checked.

Mark-Jan


_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to