Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers > Reason for Xferdata to return false other than timeout?

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



Reason for Xferdata to return false other than timeout?
Moderator:
RSKV

Post Reply
Follow this topic



Reason for Xferdata to return false other than timeout?

patrick.sullivan posted on 27 Oct 2011 6:36 AM PST
Member
5 Forum Posts

 I am using the .NET dll from SuiteUSB to interface with a FX2LP. In my PC application I am calling the BulkInEndpt.Xferdata method at an interval of about 250ms. The documentation makes it sound like the only reason the Xferdata function should return false is because of a timeout, however I am seeing some transfers return a false value immediately rather than waiting for a timeout. Why could this be happening?

I have tried adjusting the timeout from 1000ms to 10,000ms and everywhere in between and still gotten the same result. I have also tried setting the timeout to 0 to wait forever but will stll see xferdata return a false immediately.

I noticed there are UsbdStatus and NtStatus members of the CyUSBEndPoint Class that contain error codes of the xferdata method. Is there any further documentation available to explain what the error codes mean?

-Pat




Re: Reason for Xferdata to return false other than timeout?

PRJI posted on 28 Oct 2011 08:03 AM PST
Cypress Employee
333 Forum Posts

 Hi,

       What is the error code that you got with UsbdStatus and NtStatus members???Check firmware for proper configuration of endpoints.

Thanks

Prajith



Re: Reason for Xferdata to return false other than timeout?

patrick.sullivan posted on 28 Oct 2011 10:06 AM PST
Member
5 Forum Posts

 The error code i see for Usbbdstatus is 0xC0000011, and the error code is see for NtStatus is 0xC0000001. 

I will double check my endpoint configuration in firmware.

-Pat



Re: Reason for Xferdata to return false other than timeout?

Gayathri posted on 29 Oct 2011 05:39 AM PST
Cypress Employee
428 Forum Posts

 You can get to know the string that represents UsbdStatus error code using UsbdStatusString( ) method. Please refer CyUsb.dll programmer's reference for details. What is the string being returned?

 

Regards,

Gayathri



Re: Reason for Xferdata to return false other than timeout?

patrick.sullivan posted on 31 Oct 2011 05:59 AM PST
Member
5 Forum Posts

The string being returned by UsbStatusString() is "[state=HALTED status=UNKNOWN]"



Re: Reason for Xferdata to return false other than timeout?

PRJI posted on 02 Nov 2011 11:42 AM PST
Cypress Employee
333 Forum Posts

 

 Hi,

        The status code (0xC0000011) is mapped to USBD_STATUS_XACT_ERROR. This XACT error refers to a Transaction Error.

         A device driver for a USB device may observe that a USB Transfer to or from the device fails due to a Transaction Error. This error is reported to USB device drivers by the Microsoft USB core driver stack via the USB status code USBD_STATUS_XACT_ERROR. In the USB EHCI specification, the following is the definition of a transaction error:

         Transaction Error (XactErr). Set to a one by the Host Controller during status update in the case where the host did not receive a valid response from the device (Timeout, CRC, Bad PID, etc.). 

         

Thanks,

Prajith

 






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: KXP; Secondary Owner: VWA; Sunset Date: 01/01/20