SuperSpeed interoperability with USB 3.0 controllers

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hey folks...

   

We've got several PCs here with various USB 3.0 controllers.  ASMedia and NEC as well as a new Z77-based PC with the controller integrated into the chipset.

   

We have varying levels of success with the FX3 coming up SuperSpeed on these.  Most PCs run Win7-64, although we've also tried Win7-32 and have a Win8 (Customer Preview) desktop.  The Z77 appears to work fine.  The others are a bit confused.

   

They all work when the FX3 comes up as a USB 2.0 host.  Upon renumeration, however, the devices sometimes never come up.  Sometimes come up after several (20+) seconds.  This is with all sorts of cable lengths from 1m to 3m.  Our USB 3.0 memory sticks come up reliably on all.

   

Has anyone else experienced such a varying level of success getting the FX3 to enumerate as SuperSpeed?  Any known pitfalls?  We'd expect a REALLY hard time with our customers if this was common among them.

   

Note that these issues persist with our own device board as well as the Cypress DVK.

0 Likes
21 Replies
Anonymous
Not applicable

We are having similar problems using the ASMedia  XHCI Controller. 

   

 Even when it enumerates for superspeed, the bus eventually fails when trying to move data.  We see an IN  STATUS_CANCELED followed by an ABORT_PIPE OUT.

   

We also have the problems that our device will not enumerate on USB 2.0.

0 Likes
Anonymous
Not applicable

Same thing happens with a Renesas Electronics controller.

   

I also noticed that running USBBulkLoopAuto sample design running on our board and on the FX DVK Device Board has the sample problem...only enumerates 2.0.

   

When I reboot the PC with the ASMedia USB Controller, both my project and USBBulkAuto come up in superspeed.  It seems to stop enumerating superspeed after my device aborts during data transfers.

0 Likes
Anonymous
Not applicable

Thanks for the feedback.  I'm curious if anyone has investigated these issues thoroughly.  Are they driver problems?  Signal integrity issues?

   

-

   

These problems don't appear to be listed in the errata for the FX3, so they apparently weren't addressed going from -ES to production parts.  Are they not Cypress problems?  Why do the non-Cypress parts work just fine -- devices such as USB 3.0 memory sticks, etc?

0 Likes
leda_289486
Level 5
Level 5
10 sign-ins 5 sign-ins 100 replies posted

Hi,

   

similar problems with Renesas controller. It enumerates as SuperSpeed but after few seconds transfers stops. Error is located on driver (controller/PC) side and is not able to handle it : replug is necessary to rework.

   

With Z77 Ivy Bridge architecture, for now, we have not this kind of problem and everything seems to work nominally. No error seen.

0 Likes
Anonymous
Not applicable

We don't have a full USB 3.0 - capable signal analyzer, but we're able to monitor traffic with a Beagle bus monitor.  We see what appears to be a lot of PHY errors and training signals going around.  This traffic is not present with the USB 3.0 memory sticks (e.g. Muskin 32 GB).

   

-

   

Does anyone have a bus analyzer available they can check signal integrity of the FX3 versus other USB 3.0 products?  Is the host controller responsible for all training and equalization settings?  If so, is there a driver-based solution to this sort of issue?

0 Likes
Anonymous
Not applicable

We are using a LeCroy AdvisorT3 to look at the USB 3.0.  We are seeing what they call Interpacket Symbols - IPS, but we never see any bad CRCs or other data.  It only shows Unknown Packets as a problem.  It's like the FX3 starts spewing garbage.

   

When using our device and the data coming from the GPIF interface, it fails.  When we use our device and the USBBulkLoopAuto sample application, we do not see the garbage.

0 Likes
Anonymous
Not applicable

Hi,

   

We've seen issues with certain host controller and host controller driver version since it is also maturing. http://www.cypress.com/?id=4&rID=58617 is a KB article on one of them. We root-caused them and didn't find any which suggested issue with FX3. So we froze the configuration of host controllers plus drivers we were working with and debugged any reported issues with new setups (internal as well as external).

   

We've tested with a whole bunch of host controllers and hubs to make sure it is all good. Please create tech support case (MyAccount -> MyCases) for specific scenarios and our guys should be able to help you figure out what is wrong and how to fix it.

   

Regards,

   

Anand

0 Likes
Anonymous
Not applicable

Since the usability with USB 3.0 host controllers seems to be somewhat variable, is there a way to detect within the firmware boot process that full enumeration did not take place at SuperSpeed and to try to do a USBConnect at HighSpeed mode?

   

-

   

This would provide a sort of reliable fallback mechanism in cases where SuperSpeed is not enumerating properly.

0 Likes
Anonymous
Not applicable

You can always add code to check whether the enumeration went till set configuration and force back to highspeed mode based on that. But I would recommend having a setup which reliably enumerates in Superspeed and use only that for development purposes..

   

Regards,

   

Anand

0 Likes
Anonymous
Not applicable

For development purposes, that's fine.  But for production, the concern is a customer gets a device that doesn't operate with their SuperSpeed controller and has no fallback mechanism -- i.e. dead device.

0 Likes
Anonymous
Not applicable

Jake,

   

We've extensively tested our SDK. As and when new host controllers are released we test with them as well. When issues are reported we're replicating them and fixing them as well.

   

From what I'm aware of our stack will reliably fall back to USB2.0 if it is not able to enumerate in USB3.0. I would recommend creating a support case (MyAccount -> MyCases) with the necessary host controller details and CATC trace so that we can permanently fix it in our SDK.

   

Regards,

   

Anand

0 Likes
Anonymous
Not applicable

Update on this thread...  The FX3 is working just fine with our product / firmware from both USB 3.0 ports on the new MacBook Pro with Retina.  We see around 270 MB/s read and write performance.  About 10-20% less than the best we've seen on Windows 7.

0 Likes
Anonymous
Not applicable

Update on this thread...  The FX3 is working just fine with our product / firmware from both USB 3.0 ports on the new MacBook Pro with Retina.  We see around 270 MB/s read and write performance.  About 10-20% less than the best we've seen on Windows 7.

0 Likes
Anonymous
Not applicable

Is there any Length restriction of USB3.0 Cable for FX3 controller?

   

With 5metre USB3.0 cable, FX3 was working fine and detected as USB3.0 device. But with 4metre extension cable with 1metre USB3.0 cable FX3 was not detected as USB3.0 device?

   

 

   

Thanks,

   

Kasthuri Rangan V

0 Likes
Anonymous
Not applicable

 Hi Ranga,

   

 

   

This should not be the case. Are you using your custom board or DVK? Is the behaviour seen with DVK as well? Please ensure you follow the hardwarre guidelines specified in http://www.cypress.com/?rID=53203. If it is your custom board, please create a tech support at www.cypress.com -> Supprot -> Technical Support. One of our engineers can review the schematic and board files for you.

   

 

   

Regards,

   

Gayathri

0 Likes
Anonymous
Not applicable

Hi Gayathri,

   

Sorry for very late reply.

   

Yes, In both custom board and DVK it is not detected as USB3.0. I have got my custom board schematics reviewed long back. I thought the length may be the cause for this problem. Have you tested long cables with the DVK? If yes, can u please tell me what is the maximum length of cable tested.

   

Thanks,

   

Kasthuri Rangan V

0 Likes
Anonymous
Not applicable

 Hi Ranga,

   

 

   

I am sorry about the confusion. I observed just now that USB 3.0 spec is not specific about max cable length as USB 2.0 spec (that says 5m). I believe we have tested with cables of 3m length with FX3. I will double check with our validation team regarding the same and get back to you on this.

   

 

   

Regards,

   

Gayathri

0 Likes
Anonymous
Not applicable

Hi Gayathri,

   

  Thanks for the information. Awaiting your reply.

   

Thanks,

   

Kasthuri Rangan V

0 Likes
Anonymous
Not applicable

Any update on this ?

   

Thanks,

   

Kasthuri Rangan V

0 Likes
Anonymous
Not applicable

My FX3 custom board is detected as USB2.0 only. Masterboard of PC is Z77.  I hope someone could provide solution for USB3.0 connection.

0 Likes
Anonymous
Not applicable

Hi,

We have found that FX3 is extremely sensitive to any kind of noise, including its own generated. Noise causes PHY errors. Although the USB communication protocol should recover from few PHY errors, actually it seems that FX3 does not recover and USB3.0 communication breaks. Due to such extreme sensitivity to noise, it's almost impossible to get FX3 working reliability at SuperSpeed. I created separate thread "SuperSpeed communication fails due to FX3 internal noise issues?" ( http://www.cypress.com/?app=forum&rID=74739 ) dedicated to this issue.


dreitz, you described that with using GPIF, SuperSpeed starts to fail. I have exactly the same problem. Did you manage to get FX3 working reliably at SuperSpeed?



kalev

   

 

   

 

   


 

0 Likes