cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

KaFu_3122371
New Contributor II

Hello,

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,

David

0 Likes
3 Replies
Rashi_Vatsa
Moderator
Moderator

Hello,

Please let me know how frequent is the problem seen. The traces shared is after the issue is seen. Can you please provide the Lecroy traces when the problem is seen?

Also, let me know when does the FX3 become un responsive, is during the ongoing communication between USB host and fx3 or is it after host application closes and restarts again by sending USB reset.

Please let us know if the problem is seen on multiple USB host and which USB library is used for the host application.

Regards,
Rashi
0 Likes
KaFu_3122371
New Contributor II

Hi Rashi,

I will try to get a trace that starts before the problem is seen and ends after it. It is hard to know if I am setting the right triggers because the problem occurs after hours of leaving it running.

We have only tested with one host box so far. I will try with another box. The Linux host application uses libusb API, FX3 FW with 1.3.4 SDK library.

David

0 Likes
Rashi_Vatsa
Moderator
Moderator

Hello David,

Thank you for details. We will await your response.

Please let me know if you are using an external clock (CLK_IN) or Crystal for providing the clock to FX3. If an external clock is supplied (CLK_IN pin of FX3), please check if CLK is present (or is stable)  when issue is seen.

Regards,
Rashi
0 Likes