I am using the Beagle USB 5000 v2 SuperSpeed Protocol Analyzer - Standard Edition with the Data Center Software to resolve a USB 3.0 issue with a Basler industrial camera device. The Beagle USB 5000 v2 analyzer reports PHY Errors for all USB 3.0 packets. I have tried other slave devices (cameras, mobile phones), different cables, and different hosts (ARM and Intel), but the results remain the same - PHY Errors and no enumeration on the host.
A summary of the attempts I have made so far:
The setup I am using:
I am not sure how to proceed. If you have any suggestions, I would really appreciate it.
Response from Technical Support:Thanks for your question! There are various scenarios that can cause PHY errors. In one scenario, PHY errors are “normal” while the link is being established during “training”. If the link has been established, there are specific bus events that can cause such errors to occur.
The Beagle USB 5000 v2 SuperSpeed analyzer has an active front-end circuitry between the USB 3.0 host and USB 3.0 device. This front-end re-transmits the signals between the host and device as the signals pass through the analyzer. When the link comes out of an idle state, it is not uncommon for there to be some number of PHY errors while the link is being established. Once the link is established, PHY errors should no longer occur.
The USB 3.0 training includes the TSEQ, TS1, and TS2 sequences.
During the training period, each link sends training sequences. TSEQ, TS1, and TS2 sequences are sent both upstream and downstream. Here is a summary of the training sequence:
It is normal for PHY errors to occur during the training period, as the transceiver clock (in the transmitter link) and the receiver clock (in the receiver link) are different. During the training period, the receiver clock is compared to the transmitter clock; the receiver clock is not yet trained to the transmitter clock.
After the training period is finished (after the last TS2 is transmitted), PHY errors are no longer expected.
When the Beagle USB 5000 v2 analyzer detects a small number of PHY errors during training period, those errors are not marked in red. However, if significantly more number of PHY errors are detected during the training period than expected, then the PHY errors are marked in red.
The link is normally trained in 1-2 us.
The Low Frequency Periodic Signaling (LFPS) is used by USB ports to communicate across a link that is under training, in warm reset, or in a low power state. The LFPS type is determined by the burst and repeat times of a signal, as well as the LTSSM state.
Sometimes, the PHY error is a special-case bus event that will match the following errors:
While the PHY Error collapses these errors into a single match, you can distinguish some of the errors in the captured data. Here is what you can look for:
PHY errors also occur due to electrical inconsistencies. For your setup, we suggest inserting a self-powered SuperSpeed hub between your Beagle USB 5000 v2 analyzer and your target device and the host. This could resolve the problem, if electrical inconsistencies are the cause.
Another possibility is using hardware filters in Complex Matching to restrict the amount of data stored in capture buffer. To see an example of using this feature, take a look at this video:
For more information about this setup, please refer to the section USB Device Settings in the Data Center Software User Manual.
We hope this answers your questions. Additional resources that you may find helpful include the following:
If you want more information, feel free to contact us with your questions, or request a demo that applies to your application.