Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers > USB disconnect - reconnect not working in v1.2.1

Bookmark and Share
Cypress Developer CommunityTM
Forums | Videos | Blogs | Training | Rewards Program | Community Components



USB disconnect - reconnect not working in v1.2.1
Moderator:
RSKV

Post Reply
Follow this topic



USB disconnect - reconnect not working in v1.2.1

sodafarl posted on 18 Oct 2012 1:22 AM PST
Top Contributor
128 Forum Posts

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




Re: USB disconnect - reconnect not working in v1.2.1

RSKV posted on 18 Oct 2012 02:28 AM PST
Cypress Employee
655 Forum Posts

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.



Re: USB disconnect - reconnect not working in v1.2.1

sodafarl posted on 18 Oct 2012 03:50 AM PST
Top Contributor
128 Forum Posts

Hi Sai Krishna,

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

Sodafarl

 



Re: USB disconnect - reconnect not working in v1.2.1

sodafarl posted on 26 Oct 2012 01:55 AM PST
Top Contributor
128 Forum Posts

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



Re: USB disconnect - reconnect not working in v1.2.1

AssemblyRequired posted on 26 Oct 2012 05:34 AM PST
Top Contributor
37 Forum Posts

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



Re: USB disconnect - reconnect not working in v1.2.1

sodafarl posted on 29 Oct 2012 04:07 AM PST
Top Contributor
128 Forum Posts

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



Re: USB disconnect - reconnect not working in v1.2.1

RSKV posted on 30 Oct 2012 05:25 AM PST
Cypress Employee
655 Forum Posts

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.



Re: USB disconnect - reconnect not working in v1.2.1

RSKV posted on 30 Oct 2012 05:25 AM PST
Cypress Employee
655 Forum Posts

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.



Re: USB disconnect - reconnect not working in v1.2.1

sodafarl posted on 30 Oct 2012 06:52 AM PST
Top Contributor
128 Forum Posts

 Hi,

It's 19.2MHz

 



Re: USB disconnect - reconnect not working in v1.2.1

Jake73 posted on 29 Nov 2012 04:35 PM PST
Top Contributor
35 Forum Posts

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.



Re: USB disconnect - reconnect not working in v1.2.1

Jake73 posted on 29 Nov 2012 06:49 PM PST
Top Contributor
35 Forum Posts

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.



Re: USB disconnect - reconnect not working in v1.2.1

Jake73 posted on 30 Nov 2012 07:50 AM PST
Top Contributor
35 Forum Posts

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.



Re: USB disconnect - reconnect not working in v1.2.1

RSKV posted on 01 Dec 2012 06:33 AM PST
Cypress Employee
655 Forum Posts

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.



Re: USB disconnect - reconnect not working in v1.2.1

Jake73 posted on 03 Dec 2012 07:16 AM PST
Top Contributor
35 Forum Posts

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.



Re: USB disconnect - reconnect not working in v1.2.1

RSKV posted on 03 Dec 2012 09:41 PM PST
Cypress Employee
655 Forum Posts

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.

 



Re: USB disconnect - reconnect not working in v1.2.1

JTZheng posted on 18 Dec 2012 04:32 AM PST
Member
5 Forum Posts

 Same problem here, the source code works fine with SDK V1.0, V1.0.1 and V1.1, With V1.2.1, it gets chances to fail when connecting (enumerating)...the device shows as an "unknown device" OR some times there's nothing on the device manager. however, the issue (in my place) only show up on USB2.0 connection (USB2.0 port or USB2.0 cable on USB3.0 port).

   BTW, no 32KHz clock in hardware design.






ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.