I2C SPI USB CAN eSPI Cable Testing View All Videos Quick Start Guides Software Downloads App Notes White Papers User Manuals Knowledge Base Sales Support About Us
Products Blog Sales Support Contact Search
What Causes PHY Errors in USB 3.0 and How Can I Correct Them?
Rena Ayeras

Question from the Customer:

I am working with Active Optical Cables (AOCs), and I am using the Beagle USB 5000 v2 SuperSpeed Protocol Analyzer - Ultimate Edition. I am having a problem diagnosing one of the USB 3.0 Standard-A to USB Micro-B cables with an industrial USB 3.0 vision camera (JAI GO-5000C-USB).  When I connect the camera directly to my PC with an AOC, it works without any issues. However, when I connect and use the Beagle USB 5000 v2 analyzer between the camera and the PC, the camera continuously restarts and never successfully connects.

Do you have any tips for establishing a successful connection using active cables? I see there are several PHY (physical layer) errors on the trace – what causes those errors?

Response from Technical Support:

Thanks for your questions! PHY errors often occur during USB training while the link is being established but should not occur afterwards.

The Beagle USB 5000 v2 analyzer has an active front-end circuitry between the USB 3.0 host and the USB 3.0 device that re-transmits the signal between the host and device as it passes through the analyzer. When the link comes out of idle state, it is typical for PHY errors to occur while the link is being established during training.  Once the link is established, PHY errors should be uncommon. Most likely, electrical inconsistencies cause PHY errors to occur after USB training.

We will start with explaining USB training, then finish off with our recommendation for establishing the connection for your setup.

USB 3.0 Training

The Low Frequency Periodic Signaling (LFPS) is used by USB ports to communicate across a link that is under training. The link is in either a warm reset state or a low power state. The LFPS type is determined based on the burst and repeat times of a signal, as well as the LTSSM state.

To establish a link, USB 3.0 has training that includes the TSEQ, TS1, and TS2 states. During the training period, each link sends training sequences; both upstream and downstream devices send TSEQ, TS1, and TS2 sequences in that order. The training period begins when one link sends TSEQ, and is completed after both links send their last TS2. Here is a summary of what happens:

  1. The link first sends multiple TSEQ states.
  2. Then the link sends TS1 states.
  3. After the link has a specific number of clean TS1, the link starts to send TS2.

The link is usually trained in 1-2 us. The time that it takes for the uplink to be trained is measured from the time that the first TS1 state of both links appears, until the time of the first downlink TS2 sequences.

How PHY Errors Occur During Training

It is normal for some PHY errors to occur during the training period. This is because 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.

Initially, the receiver clock is not yet trained to the transmitter clock.

  • If the receiver clock is faster than the transmitter clock, then the receiver link adds sub symbols.
  • If the receiver clock slower than the transmitter clock, then the receiver link misses symbols.

After the training period has completed - after the last TS2 state, PHY errors are no longer expected.

How the Analyzer Manages PHY Errors

The Beagle USB 5000 v2 analyzer handles errors that occur during and after training.

PHY Errors during Training

When the Beagle USB 5000 v2 analyzer detects some PHY errors during training period, they are not marked in red on the display. When the Beagle USB 5000 v2 analyzer detects a significant number of PHY errors during training period, more than expected, then the PHY errors are marked in red.

PHY Errors after Training

Sometimes, a PHY Error is a special-case bus event that matches the following error conditions:

  • Disparity Error
  • Elastic Buffer under-run
  • Elastic Buffer over-run
  • 8b/10b Decode Error

Although the PHY Error collapses these 4 errors into a single match, it is possible to distinguish some of the different errors in the captured data.

  • When an elastic buffer under-run error occurs, an EDB symbol (K28.3) is inserted into the data stream to fill the under-run.
  • When an 8b/10b Decode Error occurs, a SUB symbol (K28.4) is substituted in place of the bad 10b symbol in the data stream.

Here is a video that could be helpful for troubleshooting: Using Data Center Software's LTSSM View for USB 3.0 Debugging.

PHY errors can also occur due to electrical inconsistencies.

Recommendation for Correcting PHY Errors

For resolving electrical inconsistencies, we recommend placing a self-powered SuperSpeed hub between your Beagle USB 5000 v2 analyzer and your target device/host.

A hub in the setup would act as re-driver for the signals, which could maintain the consistency of signal integrity. If you need more information about signal performance, we recommend contacting the cable manufacturer. There may be issues with a cable that does not fulfill the requirements and specifications of your setup.

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.

Request a Demo