9 Replies Latest reply on Apr 10, 2017 11:46 PM by srdr

    USB3.1 Gen1 Support

    spark.chou

      Hi,

         

      Does the CYUSB3014-BZXC IC support USB3.1 Gen1 standard? We have tried the sample code, Cyfxisosrcsink, and works with USBbcd 3.0. However, we changed the USBbcd to 3.1, but it doesn't work(streamer can't receive data from device anymore), Do Cypress have any suggestion?

         

      Thanks.

         

      BRs

         

      SparkChou

        • 1. Re: USB3.1 Gen1 Support
          srdr

          Yes, CYUSB3014-BZXC IC supports USB3.1 Gen1 (5 Gbps) standard as said in the FX3 data sheet.

             

          I tried changing the bcdUSB to 3.1 in the Cyfxisosrcsink example firmware. It is streaming successfully as shown in the below figure.

             

          Did you change any other along with bcdUSB to 3.1?

             

          I couldn't attach Cyfxisosrcsink project file (changed the only bcdUSB to 3.1) due to some technical issue.

             

          I will try to upload it later.

          • 2. Re: USB3.1 Gen1 Support
            srdr

            Here is the isosourcesink project.

            • 3. Re: USB3.1 Gen1 Support
              spark.chou

              Hi srdr,

                 

              We have test your upload code on CYUSB3KIT-003 explorer kit, but it still fail.

              • 4. Re: USB3.1 Gen1 Support
                spark.chou

                Hi srdr,

                   

                I have tested the device at win 8 and it shows "not enough USB controller resources", Probably host driver issues, do you have any suggestion?

                • 5. Re: USB3.1 Gen1 Support
                  srdr

                  Hello Spark,

                     

                  I tested the above-attached USBIsoSourceSink firmware with Win 7 and Win 10 OS PC's, unfortunately, I couldn't test with Win 8 PC. I can see device enumerated well and streamer app is streaming well on both Win 7 and 10. 

                     

                  Can you do the following test and share the screen shot of it.

                     

                  After loading the attached firmware to CYUSB3KIT-003, select the device in Control Center and then click on  Descriptor info in the Control Center and share the screenshot of it.

                     

                  Can you share the firmware that you used for testing? I will test here for confirmation.

                  • 6. Re: USB3.1 Gen1 Support
                    spark.chou

                    Hi srdr,

                       

                    The attachment is the test result at win7. I just download the firmware code you uploaded without any change.

                    • 7. Re: USB3.1 Gen1 Support
                      spark.chou

                      Hi srdr,

                         

                      I find the message, "not enough usb controller resources" at win8 that is caused by the not enough host control endpoint. I removed the pieces of code in the configuration descriptor

                         

                          0x09,                           /* Descriptor size */
                          CY_U3P_USB_INTRFC_DESCR,        /* Interface Descriptor type */
                          0x00,                           /* Interface number */
                          0x00,                           /* Alternate setting number */
                          0x00,                           /* Number of end points */
                          0xFF,                           /* Interface class */
                          0x00,                           /* Interface sub class */
                          0x00,                           /* Interface protocol code */
                          0x00,                           /* Interface descriptor string index */

                         

                      then it can receive data from device. However the USBCV test will fail at TD9.4, the information is shown below :

                         

                      TD 9.4 Interface Descriptor Test - Device State DefaultFailed 
                      INFO Start time: Tue Jan 17 11:02:53 2017
                      ERROR Interface Number : 0, Alternate Setting : 0, Endpoint Number : 1, MaxPacketSize : 100
                      ERROR Alternate setting 0 has non zero MaxPacketSize Isoch endpoint
                      ERROR Interface Number : 0, Alternate Setting : 0, Endpoint Number : 83, MaxPacketSize : 400
                      ERROR Alternate setting 0 has non zero MaxPacketSize Isoch endpoint
                      ERROR Bandwidth check failed
                      FAIL (4.4.8.1.1) An Enhanced SuperSpeed default interface cannot contain an Isochronous endpoint with a maximum packet size greater than 0
                      INFO Testing Interface number : 0 Alternate setting : 0
                      INFO Interface descriptor length : 0x09
                      INFO Interface descriptor bDescriptorType : 0x04
                      INFO Interface descriptor bAlternateSetting : 0
                      INFO Interface descriptor bNumEndPoints: 2
                      INFO Interface descriptor bInterfaceClass is vendor-specific
                      INFO Interface descriptor bInterfaceSubClass : 0x0
                      INFO Device does not use a class-specific protocol on this interface
                      INFO Running TD 9.8 : String Descriptor Test for iInterface : 0x00
                      INFO The device omits this string descriptor
                      INFO Stop time: Tue Jan 17 11:02:54 2017
                      INFO Duration:  1 second.
                      INFO Stopping Test [ TD 9.4 Interface Descriptor Test - Device State Default:
                           Number of: Fails (1); Aborts (0); Warnings (0) ]

                         

                      Do you have any suggesion?

                      • 8. Re: USB3.1 Gen1 Support
                        srdr


                        I tried with the attached BulkSrcSink_1 and can see streamer is streaming at low speed. This issue has fixed in the latest drivers, i.e provided with Type C PD Analyzer here http://www.cypress.com/documentation/development-kitsboards/cy4500-ez-pd-protocol-analyzer This is 1.2.3.17 version. Download this application and bind FX3 to this and check with the streamer. Do restart if required. And one small correction in the example firmware, the bcdUSB should be 0x10, 0x03 instead of 0x01, 0x03 which is shown below.

                           

                        const uint8_t CyFxUSB30DeviceDscr[] __attribute__ ((aligned (32))) = { 0x12, /* Descriptor size */

                           

                        CY_U3P_USB_DEVICE_DESCR, /* Device descriptor type */

                           

                        0x10,0x03, /* USB 3.0 */ 0x00, /* Device class */

                           

                        0x00, /* Device sub-class */

                           

                        0x00, /* Device protocol */

                           

                        0x09, /* Maxpacket size for EP0 : 2^9 */

                           

                        0xB4,0x04, /* Vendor ID */

                           

                        0xF0,0x00, /* Product ID */

                           

                        0x00,0x00, /* Device release number */

                           

                        0x01, /* Manufacture string index */

                           

                        0x02, /* Product string index */

                           

                        0x00, /* Serial number string index */

                           

                        0x01 /* Number of configurations */ };
                         

                        • 9. Re: USB3.1 Gen1 Support
                          srdr

                          It seems that there is an issue with USB Host controllers. Please test on a PC consists of different host controller without modifying the descriptors.