cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

Anonymous
Not applicable
        I'm using EZ-USB FX3 SDK verson 1.3. The target board is Cypress FX3 DVK Device board Rev.3. FX3's firmware is "cyfxbulklpmaninout" in dma_examples. The host application program is "bulkloop.exe". The host OS is Windows7 Professional 64bit (Japanese) with Service Pack 1. 1. Program the FX3 using "USB Control Center". 2. Run bulkloop.exe. Select device, OUT EP and IN EP. Check "Stop on Error". Push "Start" button. It stops within a few seconds, because a transfer failed. However, it works properly if U1/U2 state is disabled in FX3 firmware. (using CyU3PUsbLPMDisable function.) But I don't want to make U1/U2 state disabled. So, I used an In-Circuit debugger(JTAG-ICE) for FX3 firmware and VisualStudio for BulkLoop application program. Then, I think that WaitForXfer accessing doesn't work properly when the FX3 is in U2 state. Do you know the solution for this problem? Is there a bug in BeginDataXfer or WaitForXfer? Can the host application program know which status the FX3 is in? If so, which API? Or, the USB device driver is responsible for this problem? Help me, please.   
0 Likes
Reply
7 Replies
Anonymous
Not applicable
        WaitForXfer function doesn't work properly, when the FX3 is in U2 state.   
   
I'm using EZ-USB FX3 SDK verson 1.3.   
The target board is Cypress FX3 DVK Device board Rev.3.   
FX3's firmware is "cyfxbulklpmaninout" in dma_examples.   
The host application program is "bulkloop.exe".   
The host OS is Windows7 Professional 64bit (Japanese) with Service Pack 1.   
   
1. Program the FX3 using "USB Control Center".   
2. Run bulkloop.exe.   
Select device, OUT EP and IN EP.   
Check "Stop on Error".   
Push "Start" button.   
It stops within a few seconds, because a transfer failed.   
   
However, it works properly if U1/U2 state is disabled in FX3 firmware.   
(using CyU3PUsbLPMDisable function.)   
But I don't want to make U1/U2 state disabled.   
   
So, I used an In-Circuit debugger(JTAG-ICE) for FX3 firmware and   
VisualStudio for BulkLoop application program.   
Then, I think that WaitForXfer accessing doesn't work properly   
when the FX3 is in U2 state.   
   
Do you know the solution for this problem?   
   
Is there a bug in BeginDataXfer or WaitForXfer?   
Can the host application program know which status the FX3 is in?   
If so, which API?   
Or, the USB device driver is responsible for this problem?   
   
Help me, please.   
0 Likes
Reply
Anonymous
Not applicable

 Hi,

   

 

   

Please create tech support case at www.cypress.com-> Support-> Technical support. One of our engineers can assist you through.

   

 

   

Regards,

   

Gayathri

0 Likes
Reply
Anonymous
Not applicable

 Hi,

   

Is it possible to take the USB trace of the failure case and post here?

   

-PRJI

0 Likes
Reply
Anonymous
Not applicable
        To Gayathri.   
   
Thank you for your reply.   
I'll try it.   
   
Actually, we decided to allow our system to make U1/U2 states disabled this time.   
Although I think it's not a good option, it's our choice.   
Because we have to move on to higher-priority tasks.   
0 Likes
Reply
Anonymous
Not applicable
        To PRJI.   
   
Thank you for your reply.   
   
I didn't take the USB trace of hardware signals using   
a protocol analyzer and/or an oscilloscope.   
I used USB event logging feature, using CyU3PUsbInitEventLog,   
but there was no error.   
   
I think the hardware part has no problem.   
I think there might be a trouble around asynchronous file I/O accessing.   
However, I'm not sure which layer has a bug that causes this problem.   
(Windows OS, USB driver, CyAPI, or the application program.)   
   
I'll create a tech-support case with the attachment file.   
0 Likes
Reply
Anonymous
Not applicable

Hi,

   

Has this been solved?

0 Likes
Reply
Anonymous
Not applicable

Technically I couldn't solve it.

   

Just made U1/U2 states disabled.

   

I think it's NOT good enough to acquire a USB logo certification.

0 Likes
Reply