1 2 Previous Next 15 Replies Latest reply on Dec 18, 2012 6:32 AM by jintao.zheng.2

    USB disconnect - reconnect  not working in v1.2.1

    laim.maskey

      Hi,

         

      I have updated the Cypress SDK to version 1.2.1 and can compile my project, download it to an FX3 device and see it working. However if I disconnect the devices USB lead and then reconnect it, the device enumerates in Windows as an 'Unknown Device' and I can no longer communicate with it. This does not happen with the firmware compiled under SDK version 1.1. Any ideas how I can sort this problem out.

         

      Thanks,

         

      Sodafarl

        • 1. Re: USB disconnect - reconnect  not working in v1.2.1
          rama.sai.krishna.vakkantula

          Hi Sodafarl,

             

          Which SDK example are you trying at your end.

             

          I tried with the SlaveFifoSync example and I don't see any issue with connection and disconnection.

             

          Please share us more information on the problem that you are seeing.

             

          Thanks,

             

          sai krishna.

          • 2. Re: USB disconnect - reconnect  not working in v1.2.1
            laim.maskey

            Hi Sai Krishna,

               

            This is with my own project, which I worked on using SDK  v 1.1.

               

            Sodafarl

            • 3. Re: USB disconnect - reconnect  not working in v1.2.1
              laim.maskey

              Hi,

                 

              I've downloaded the Slave Fifo firmware to my hardware and this has the same problem that when I disconnect and reconnect the USB lead, the FX3 comes up as unknown device. This doesn't happen with SDK v1.1. My hardware is self powered. When I download the firmware the first time and disconnect/reconnect the USB lead I expect my device to reconnect and run the previously downloaded firmware.

                 

              Sodafarl

              • 4. Re: USB disconnect - reconnect  not working in v1.2.1
                steve.magnani

                Hi Sodafari -

                I suggest checking the command line used to compile each of your source files.

                Yesterday I upgraded my Windows install to 1.2.1 and compiled a UVC project that works fine in Linux.  The Windows-compiled firmware would come up, but would crash when I tried to start video streaming. I finally traced the problem to the way just one of my source modules was compiled - with "-mcpu=cortex-m3 -mthumb" instead of " -mcpu=arm926ej-s -mthumb-interwork".

                The module in question was within an Eclipse linked folder; I deleted the link and recreated it and that seemed to fix the problem.

                Hope this helps,
                Steve

                • 5. Re: USB disconnect - reconnect  not working in v1.2.1
                  laim.maskey

                  Hi Steve,

                     

                  Thanks for your reply. I looked through my code compilation to see if it is compiling any modules using the "-mcpu=cortex-m3 -mthumb" but I could not find this. I downloaded V1.2.1 instead of using update manager so I don't know if this is the reason I don't see the error you have.

                     

                  I downloaded my compiled firmware to the Cypress FX3 development board which I set up to be self powered. When I disconnected and reconnected  the USB lead  the device enumerated ok. The only  dfference I could think of between the FX3 development board and my own hardware is I removed the 32KHz standby clock. I was able to reconnect this clock in my hardware and now the disconnect - reconnect is working ok. I have set up the FX3 not to use the standly clock with the following code but I still need the clock connected for the disconnect-reconnect to work

                     

                   

                     

                  CyU3PSysClockConfig_t

                         

                   

                     

                  clkCfg = {CyTrue,2, 2, 2,CyFalse,CY_U3P_SYS_CLK};

                     

                  I have new hardware coming in that will not have the option of connecting up the 32KHz clock so my question to Cypress is what do I do now as it looks like the external 32KHz clock needs connected all the time. This is not an issue with SDK v1.1v.

                     

                  Sodafarl

                  • 6. Re: USB disconnect - reconnect  not working in v1.2.1
                    rama.sai.krishna.vakkantula

                    Hi,

                       

                    I have checked with the internal teams and they confirmed that connection and disconnection mechanism does not depend on 32KHz clock.

                       

                    What is the crystal that you are using? Is it 26MHz.?

                       

                    Thanks,

                       

                    sai krishna.

                    • 7. Re: USB disconnect - reconnect  not working in v1.2.1
                      rama.sai.krishna.vakkantula

                      Hi,

                         

                      I have checked with the internal teams and they confirmed that connection and disconnection mechanism does not depend on 32KHz clock.

                         

                      What is the crystal that you are using? Is it 26MHz.?

                         

                      Thanks,

                         

                      sai krishna.

                      • 8. Re: USB disconnect - reconnect  not working in v1.2.1
                        laim.maskey

                         Hi,

                           

                        It's 19.2MHz

                        • 9. Re: USB disconnect - reconnect  not working in v1.2.1
                          jake.janovetz

                          Has this been resolved?  We see the same exact issue with 1.2.1.

                             

                          .

                             

                          We were able to confirm it by building the stock bulk loop auto sample.

                             

                          .

                             

                          It also seems to be related to issues enumerating a USB 3.0 device on a USB 2.0 host.  We encounter the same issues on multiple PCs as well as an embedded system and a MacBook Pro/Retina (USB 3.0) through Win7/64 through Parallels.

                             

                          .

                             

                          When we revert to our old 1.1 firmware, things work just fine.

                          • 10. Re: USB disconnect - reconnect  not working in v1.2.1
                            jake.janovetz

                            An interesting update.  The device with the bulkloopauto example survives multiple USB 2.0 port disconnect/reconnect cycles.  However, it only survives ONE USB 3.0 port disconnect/reconnect cycle.

                               

                            .

                               

                            On the USB 3.0 port, after one disconnect/reconnect, it will not enumerate any more.

                            • 11. Re: USB disconnect - reconnect  not working in v1.2.1
                              jake.janovetz

                              I wonder if something broke with 1.2.1 when using an external crystal.

                                 

                              .

                                 

                              The bulk auto example works fine on the Cypress EVK with 1.2.1.  However, it does not work with our hardware on 1.2.1.  Our hardware worked perfectly on SDK 1.1.  So it doesn't seem to be a hardware issue.

                                 

                              .

                                 

                              The primary difference between our hardware and the EVK is that the EVK uses the -ES part as well as a 32kHz oscillator.  We do not have the 32kHz oscillator on our device -- only a fixed 19.2 MHz.  This difference in oscillators has bitten Cypress once before -- it was an undocumented bug in the -ES parts that prevented our hardware from working initially.  Cypress suggested we switch to the production parts since they were not reliant on the 32kHz.

                              • 12. Re: USB disconnect - reconnect  not working in v1.2.1
                                rama.sai.krishna.vakkantula

                                Hi Jake,

                                   

                                I would like to check with you whether you created a tech support case and if somebody is looking into this issue.

                                   

                                Otherwise, I would request one of our engineer to look into this.

                                   

                                Thanks,

                                   

                                sai krishna.

                                • 13. Re: USB disconnect - reconnect  not working in v1.2.1
                                  jake.janovetz

                                  We did submit a MyCase support ticket last week.  Since then, we've "fast-forwarded" the changes we've made to our SDK 1.2.1 branch onto our SDK 1.1 branch and this seems to have fixed the issue.

                                     

                                  .

                                     

                                  So for now, we're reverting to the FX3 SDK 1.1 until (hopefully) a new copy of the FX3 SDK fixes these problems.

                                  • 14. Re: USB disconnect - reconnect  not working in v1.2.1
                                    rama.sai.krishna.vakkantula

                                    Hi Sodafarl/Jake,

                                       

                                    I have checked with the software team regarding the issue that you are seeing.

                                       

                                    They told that they got USB enumeration failure reports from other customers as well. They identified the problem and they will be adding the fix to this issue in next release, which is going to happen in 2 to 3 weeks from now.

                                       

                                    We are really sorry for the inconvenience caused to you.

                                       

                                    Thanks,

                                       

                                    sai krishna.

                                    1 2 Previous Next