Trouble Shooting Guide for the FX3/FX3S/CX3 Enumeration - KBA222372

Version: **

 

1. The custom board designed using FX3 is not enumerated as “Cypress FX3 Bootloader Device”. Why?

This can happen because of issues with either driver binding or hardware.

 

A. Driver Binding:

If the operating system cannot find the driver for the device, the device will be listed as WestBridge under Other Devices list in Device Manager as shown Figure 1.

 

Figure 1. FX3 enumerates as WestBridge under other devices

 

Do the following to bind the driver manually:

1.   Right-click the device and select Update Driver Software. Choose Browse my computer for driver software.

2.   Browse to the location <Install Directory>\Cypress\EZ-USB FX3 SDK\1.3\driver\bin. The default install directory is C:\Program Files for 32-bit Windows and C:\Program Files (x86) for 64-bit Windows.

3.  Select a driver based on your Windows version and click Next. For example, the driver for 64-bit Windows 7 is located at C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\driver\bin\win7\x64.

 

B. Hardware

If the hardware connections to the FX3 are not as recommended, the device may not enumerate as “Cypress FX3 Bootloader Device”. Do the following to ensure that hardware connections meet the recommendations:

1. Possible boot options of FX3 are documented in AN76405. The PMODE pins of the FX3 helps in selecting the required boot option. Check whether the PMODE lines are set as PMODE[2:0] = Z11 for USB boot option. If the PMODE pins are other than Z11, the device may not enumerate as "FX3 Bootloader Device. Refer this Forum Thread for the solution, if the device comes up as Cypress Benicia USB Boot Device

2. Ensure that the EZ-USB FX3/FX3S Hardware Design Guidelines and Schematic Checklist provided in AN70707 are followed.

3. The noise on power supplies AVDD, U3TX_VDDQ, and U3RX_VDDQ should be below 20 mV and on VDD should be below 100 mV.

4. Use standard certified USB cables

 

2. After FX3 is enumerated as “Cypress FX3 Bootloader Device”, if I restart the PC, the device is coming up as unknown device. Why?

This is a known issue with the bootloader which happens due to a defect in the device wakeup from low-power suspend mode. The bootloader enters low-power suspend mode during this reboot process  and then has a possibility that the device will not wake when the host comes up again.

The same issue can be seen if you use B2 Image for custom VID and PID. Refer section 6 in AN76405 for more details on B2 image.

See AN76405 for possible boot options for FX3/FX3S.

 

Use the following workarounds:

1. Do Reset or Power Cycle the board after the PC restarts.

2. Load the second stage bootloader code (provided with the SDK at the location: C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\boot_fw\src) into I2C EEPROM/SPI Flash and set the PMODE lines accordingly

 

3. How do I debug when a USB 3.0 device is not enumerated as USB 3.0 but as USB 2.0?

 

This may happen because of hardware or firmware issues. Do the following to fix this issue:

 

Check Hardware:

1.  Ensure that the clock provided to FX3 satisfies the specifications in Table 4 of the FX3 datasheet.

2.  Ensure that the noise on power supplies AVDD, U3TX_VDDQ, and U3RX_VDDQ is below 20 mV and on VDD is below 100 mV.

3.  Ensure that the design passes the schematic and layout checklist given in AN70707.

4.  Use standard certified USB cables.

 

Check Firmware:

1. Use the same firmware on FX3 DVK (CYUSB3KIT-003) and check for the issue. This helps determine whether the issue is related to hardware or firmware.

2. Check whether SuperSpeed connection is enabled in the CyU3PConnectState ( CyBool_t connect, CyBool_t ssEnable ) API.

3. Disable LPM in the firmware using CyU3PUsbLPMDisable API and check for the issue. Call this API after the CyU3PConnectState with 10 us delay