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
