Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

New Contributor II


I am having a problem with my FX3 application where the FX3 no longer respond on the USB3 lines or I2C lines (the two ways I can communicate with it).

The test we are doing is having the host application start up, connect to the FX3, send USB reset and then normal startup actions like set configuration, do some application specific stuff, then finally close down host application. This is repeated every 5 seconds. Everything runs well until hours later, when FX3 would suddenly not respond to the host computer anymore. The host computer is running Linux and the USB driver would throw errors such as "Cannot disable (err = -32)" when the USB3 connect goes away or "Cannot set link state" when trying to restart the connection in the kernel logs. I have a separate debug through FX3's I2C lines for my application and that does not respond either. I also have the watchdog timer set, but it is not tripping and resetting the FX3 either. After the FX3 reached this state, trying to connect the FX3 to different host computers, Windows or Linux, results in the same problem where the FX3 does not respond or enumerate.

The FX3 is externally powered and AFAIK the power was/is steady when this problem occurs. The only way to get the FX3 to respond again is to toggle its reset line or do a power cycle.

Please find the attached trace captures using the Advisor T3 analyzer from LeCroy. The 14:16 trace was taken as follows:

  1. Ran the test described above until FX3 no longer responds as mentioned.
  2. Disconnected the USB3 cable from FX3.
  3. Added the analyzer in between host and FX3.
  4. Started recording on the analyzer.
  5. Reconnected USB3 to FX3.

IIRC, the 14:18 trace was similar, except steps 2, 3 and 5 were replaced with simply restarting the host computer. The host computer is running Linux and the kernel logs showed "Cannot set link state" messages.

Thank  you,


3 Replies