8 Replies Latest reply on Oct 30, 2019 11:44 PM by AlLe_287991

    CX3 Device Descriptor Request Failed

    AlLe_287991

      Hello!

       

      I have a device with CX3 chip.

      I have a problems with this device and some PCs.

      I attach the device to the PC when it completely OFF, then I start the PC and wait when Windows is loaded. When Windows is ready - I got Unknown Device.

      If I attach the device to the PC when Windows has been already loaded - everything is good.

       

      The PC - Dell Prestigio M3800.

      The reset is more than 15 ms

      Device without firmware. Usually I load it in a driver section.

      I have attached USB data from analyzer.

      BIOS and Windows is up to date.

        • 1. Re: CX3 Device Descriptor Request Failed
          KandlaguntaR_36

          Hello,

           

          Please let me know what is the PMODE settings for your board.

          Is it USB Bootloader Mode PMODE[2:0] = Z11?

           

          Regards,

          Sridhar

          • 2. Re: CX3 Device Descriptor Request Failed
            AlLe_287991

            Hello!

             

            No I have SPI -> USB  mode. PMODE[2:0] = 0Z1

             

            I have set VID PID in SPI

            • 3. Re: CX3 Device Descriptor Request Failed
              KandlaguntaR_36

              Please confirm whether the device is operating in bus power mode.

               

              Please load USBBulkSourceSink and collect the UART logs: C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxbulksrcsink

               

              Is the issue happening everytime you restart the PC while connecting the CX3 device?

               

              Regards,

              Sridhar

              • 4. Re: CX3 Device Descriptor Request Failed
                AlLe_287991

                I checked it with Denebola RDK. When I set SPI->USB mode with following data in SPI memory

                0x43, 0x59, 0x10, 0xb2, 0x22, 0xE3, 0x6a, 0x1c   and have the same problem. So I think the problem is not in my hardware.

                 

                When I have loaded USBBulkSourceSink I have good result, the device started properly.

                 

                The issue happened every time when I start PC from shutdown.

                The restart works well, probably because the power doesn't disappear from USB port.

                • 5. Re: CX3 Device Descriptor Request Failed
                  KandlaguntaR_36

                  Then the issue happens when you start the PC from shutdown.

                   

                  What is happening when you load the USBBulkSourceSink to SPI Memory and set the PMODE to 0Z1 then start the PC from Shutdown.

                   

                  Looks like you want to enumerate device with your own VID and PID. Hence, you are using B2 image as mentioned in the KBA: FX3 as Custom USB Bootloader - KBA218343 section a.

                  Can you please probe SPI lines and see whethere the CX3 is getting the data from SPI memory?

                   

                  What is the result of start the PC from Shutdown with PMODE as USB Bootloader (Z11)? Is it enuemerating as expected?

                   

                  What is the result if you use 0xB2 image with Cypress VID and PID?

                   

                  Regards,

                  Sridhar

                  • 6. Re: CX3 Device Descriptor Request Failed
                    AlLe_287991

                    Hello!

                     

                    "What is happening when you load the USBBulkSourceSink to SPI Memory and set the PMODE to 0Z1 then start the PC from Shutdown."

                     

                    - The CX3 works properly and properly identify in Windows

                     

                    "Looks like you want to enumerate device with your own VID and PID. Hence, you are using B2 image as mentioned in the KBA: FX3 as Custom USB Bootloader - KBA218343 section a.

                    Can you please probe SPI lines and see whethere the CX3 is getting the data from SPI memory?"

                     

                    - Yes I use B2 image, and start with own VID PID. Then I load firmware in driver. As we can see from USB Analyzer log file - CX3 properly read SPI memory and firstly answer with proper VID PID.

                    1,HS,7607,0:37.252.928,916 ns,8 B,,00,00,  SETUP txn,80 06 00 01 00 00 40 00

                    1,HS,7611,0:37.252.933,23.398 us,18 B,,00,00,  IN txn  [1 POLL],12 01 00 02 00 00 00 40 6A 1C 22 E3 00 01 01 02 03 01

                    Then CX3 didn't answer on device descriptor request.

                    0,HS,9693,0:37.519.309,918 ns,8 B,T,00,00,SETUP txn,80 06 00 01 00 00 40 00

                    0,HS,9697,0:37.519.313,1.999.995.548 s,,,00,00,[89534 IN-NAK],[Periodic Timeout]

                     

                    "What is the result of start the PC from Shutdown with PMODE as USB Bootloader (Z11)? Is it enuemerating as expected?"

                    - Unknown USB device (Device descriptor request failed)

                    "What is the result if you use 0xB2 image with Cypress VID and PID?"

                    0x43, 0x59, 0x10, 0xb2, 0xF2, 0xFF, 0xb4, 0x04

                    - The result is good

                     

                    So I find out that my driver cause this problem. I have created it based on CyUSB3.sys, I think five years ago, maybe you can provide me the latest sources of the your driver CyUSB3.sys ?

                    Now I tried to load firmware in pnpPowerCallbacks.EvtDevicePrepareHardware

                    • 7. Re: CX3 Device Descriptor Request Failed
                      KandlaguntaR_36

                      Hello,

                       

                      Please find the latest CYUSB3.sys driver with FX3 SDK Page.

                       

                      CyUSB3_USB_Suite_Source.zip

                       

                      Regards,

                      Sridhar

                      1 of 1 people found this helpful
                      • 8. Re: CX3 Device Descriptor Request Failed
                        AlLe_287991

                        So What I understand

                         

                        I have loaded firmware in pnpPowerCallbacks.EvtDevicePrepareHardware

                         

                        For sending packages I use this function WdfUsbTargetDeviceSendControlTransferSynchronously

                        And on some PCs the return value  can be not STATUS_SUCCESS

                        Some PCs set this request to queue and return status STATUS_INVALID_DEVICE_REQUEST

                        WdfUsbTargetDeviceSendControlTransferSynchronously function (wdfusb.h) - Windows drivers | Microsoft Docs

                        When I check for this return value also - my firmware successfully was loaded to CX3