Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers > Failed at "OUT" DataTransfer with ControlCenter example on FX3

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



Failed at "OUT" DataTransfer with ControlCenter example on FX3
Moderator:
RSKV

Post Reply
Follow this topic



Failed at "OUT" DataTransfer with ControlCenter example on FX3

Ben2 posted on 04 Jan 2013 12:33 PM PST
Top Contributor
24 Forum Posts

Happy New Year to Y'all,

i'm trying to experient the ControlCenter with newly installed FX3 board with Win7.  The Data Transfer failed when direction is "OUT" with code:997, but the "IN" was Completed.

Any help would be appreciated.




Re: Failed at "OUT" DataTransfer with ControlCenter example on FX3

Gayathri posted on 08 Jan 2013 02:35 AM PST
Cypress Employee
428 Forum Posts

 Hi,

 

Please try increasing the timeout value for Control endpoint, before calling the Xferdata. You can change this by accessing the source of Control Center:

USB Control CenterVS2008.sln at the location “C:\Cypress\Cypress Suite USB 3.4.7\CyUSB.NET\examples\Control Centers\Vs2008_sln”

or USB Control CenterVS2010.sln at the location “C:\Cypress\Cypress Suite USB 3.4.7\CyUSB.NET\examples\Control Center\ Vs2010_sln”.

 

Default timeout for is 10 seconds. 

 

Regards,

Gayathri



Re: Failed at "OUT" DataTransfer with ControlCenter example on FX3

Ben2 posted on 09 Jan 2013 09:19 AM PST
Top Contributor
24 Forum Posts

Thanks Gayathri,

sorry, couldn't find the file that you mentioned.  My C:\Cypress\Cypress USBSuite\application\cpp inclues 2 projects, bulkloop and streamer.  Please let me know where i can get the file off internet.



Re: Failed at "OUT" DataTransfer with ControlCenter example on FX3

Ben2 posted on 09 Jan 2013 10:04 AM PST
Top Contributor
24 Forum Posts

i added ctrlEpt.Timeout = 20000; before the ctrlEpt.Xferdata() in Form1.cs of ControlCenter project, but it still fail.  Should i use different firmware instead?  and the location to fetch it, please.  Thanks.



Re: Failed at "OUT" DataTransfer with ControlCenter example on FX3

Gayathri posted on 09 Jan 2013 09:32 PM PST
Cypress Employee
428 Forum Posts

 Hi,

 

Sorry about the wrong path. You would have found the Control Center source under "C-sharp" folder I believe. And one more correction I mentioned about the timeout for control endpoint thinking the data trasnfer that is failing is Control OUT transfers. If it is any other data transfers like bulk etc, then the timeout for the corresponding endpoint must be changed, and not that of control endpoint. Please ensure this.

Which is the firmware that you are using to test the same? Is it your custom firmware?

 

Regards,

Gayathri



Re: Failed at "OUT" DataTransfer with ControlCenter example on FX3

Ben2 posted on 10 Jan 2013 07:09 AM PST
Top Contributor
24 Forum Posts

Thanks.  I did change both ctrlEpt and curEndpt before the Xfer, but it still fail.

I'd tried many img files, such as default installed, CyBootProgrammer, USBDebug, and others, but all from the examples.



Re: Failed at "OUT" DataTransfer with ControlCenter example on FX3

Ben2 posted on 10 Jan 2013 09:24 AM PST
Top Contributor
24 Forum Posts

Hi Gayathri,

Would you please tell us what is the correct img file to be used for the ControlCenter, the C# application provided with the SDK, to do the DataXfer?  Thanks.



Re: Failed at "OUT" DataTransfer with ControlCenter example on FX3

Gayathri posted on 10 Jan 2013 09:46 PM PST
Cypress Employee
428 Forum Posts

 Hi,

 

There is nothing like correct img file to be used with Control center. Examples coming with FX3 SDK, as far as what I have tested, all of them works without any errors with Control Center. 

To be sure, let us start with cyfxbulklpauto (or cyfxbulklpmanual). After downloading into RAM using Control Center, ensure it renumerates with  new VID/PID. After that try transferring data to OUT endpoint/ IN endpoint. 

 

Regards,

Gayathri



Re: Failed at "OUT" DataTransfer with ControlCenter example on FX3

Ben2 posted on 11 Jan 2013 06:04 AM PST
Top Contributor
24 Forum Posts

Thanks.  we'd loaded the cyfxbulklpauto into RAM and it works.  That was the reason we're confused why the ControlCenter wouldn't work...

We'll try the manual next.



Re: Failed at "OUT" DataTransfer with ControlCenter example on FX3

Ben2 posted on 11 Jan 2013 06:44 AM PST
Top Contributor
24 Forum Posts

Thanks Gayathri,

it works. it was an OperatorError.



Re: Failed at "OUT" DataTransfer with ControlCenter example on FX3

Ben2 posted on 11 Jan 2013 07:28 AM PST
Top Contributor
24 Forum Posts

The ControlXfer seems to be not working correctly, but the nonControlXfer is good.  Also, the fileXfer sometimes not works.  BTW, we're using the Manual img.  Any advise, Gayathri?



Re: Failed at "OUT" DataTransfer with ControlCenter example on FX3

Ben2 posted on 11 Jan 2013 01:40 PM PST
Top Contributor
24 Forum Posts

Hi Gayathri,

The Control Transfer by selecting the Control endpoint (0x00) and the direction of OUT is still not working (ErrorCode:997).  Any comments, please?



Re: Failed at "OUT" DataTransfer with ControlCenter example on FX3

Gayathri posted on 14 Jan 2013 05:02 AM PST
Cypress Employee
428 Forum Posts

 Hi Ben,

 

I do not think any vendor command is implemented in bulklmanual/bulklpauto example, and that is the reason why the Control transfer that you try are failing. Which control transfer are you trying out?

In order to ensure control transfer (vendor comand) also works fine with Control Center, please try using usbflashprog example that comes with SDK. Readme file in the example will have the details of the vendor command implemented in the example. Please set the parameters appropriately and try any of the vendor commands. I believe you can try out READ FIRMWARE ID (bRequest = 0xB0 = CY_FX_RQT_ID_CHECK) command easily.

 

Regards,

Gayathri



Re: Failed at "OUT" DataTransfer with ControlCenter example on FX3

Gayathri posted on 14 Jan 2013 06:18 AM PST
Cypress Employee
428 Forum Posts

 Hi Ben,

 

I do not think any vendor command is implemented in bulklmanual/bulklpauto example, and that is the reason why the Control transfer that you try are failing. Which control transfer are you trying out?

In order to ensure control transfer (vendor comand) also works fine with Control Center, please try using usbflashprog example that comes with SDK. Readme file in the example will have the details of the vendor command implemented in the example. Please set the parameters appropriately and try any of the vendor commands. I believe you can try out READ FIRMWARE ID (bRequest = 0xB0 = CY_FX_RQT_ID_CHECK) command easily.

 

Regards,

Gayathri



Re: Failed at "OUT" DataTransfer with ControlCenter example on FX3

Ben2 posted on 16 Jan 2013 02:31 PM PST
Top Contributor
24 Forum Posts

Hi Gayathri,

This is what i did;

1. Use Eclipse to build the img of USBBulkLoopAuto.

2. Use "Control Center" -> "Program" -> FX3 -> RAM to load the img to the brd.

3. Run the "Control Center", select the "Control endpoint (0x00) off the "Configuration 1" on the treeview window.

4. Type in 123456789 in the "Text to send", then click the "Transfer Data".

The Xfer will FAIL ErrorCode:997.

But if i do non-control xfer, select the "Bulk out endpoint (0x01)" then do the same "123456789" and "Transfer Data-Out".  it works.

Please see the Attached file. The one on the left is the fail one by selecting "Control endpoint(0x00).  The right side one is the one by selecting "Bulk out endpoint(0x01).

Thanks.



Re: Failed at "OUT" DataTransfer with ControlCenter example on FX3

Gayathri posted on 17 Jan 2013 09:43 PM PST
Cypress Employee
428 Forum Posts

 Hi,

 

Vendor commands are used to issue commands to a device, by which tasks unique to an application are accomplished. Those specific commands have to implemented in the firmware. As you can from Control Center, the various fields like 'Req Code', 'Direction', 'wIndex', 'wValue' etc all stands for the byte/ bit fields in the 8 byte setup packet of the vendor command to be issued. These setup packet bytes have to be decoded inside the firmware and appropriate action to be performed for the particular command must be implementde inside the firmware. From the screenshot, I can see that the 'Req Code' for the vendor command that you issue is '0x00'. No such vendor command is implemented inside the firmware. And that is why it is failing.

 

Regards,

Gayathri



Re: Failed at "OUT" DataTransfer with ControlCenter example on FX3

Gayathri posted on 17 Jan 2013 09:44 PM PST
Cypress Employee
428 Forum Posts

 Hi,

 

To know more about control transfers and vendor command, please refer the USB spec. We have one vendor command design guide http://www.cypress.com/?rID=34485 (but with a different Cypress product, FX2LP, USB 2.0 device controller). Please try using USBFlashProg as I posted in y previous response. You will get more ideas about vendor comands from the same. 

You can test standard control tranfsers using any firmware example. Say, with BulkloopAuto example, you can try GET_DESCRIPTOR, or any such standard request. But one thing, the parameters that you pass for the Control transfer through control center (that represent the 8 bytes of setup packet) are to be set appropriately. You can understand the setup packet for any of the standard requests from the  USB spec and issue the same.

 
Regards,
Gayathri





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.

Spec No: None; Sunset Owner: GRAA; Secondary Owner: RAIK; Sunset Date: 01/01/20