- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We have had issues of seeing write errors (XferData fails on an out endpoint) in one of our products that uses FX3 as the main chip. This issue only occurs when the port is connected to a USB 3.1 host controller. We tried on several machines with different motherboards and we noticed the issue on all of them which rules out the possibility of a bad USB port or an issue in the motherboard. We looked at the USB3 traffics using Beagle USB 5000 analyzer, but it doesn't detect any issue and the packet seem to be sent successfully (despite the fact that the cypress driver returns an error). The issue is hard to reproduce as it doesn't always happen, but we are sure that it never happens on a USB3.0 host controller. My speculation is that the Cypress driver has some issues with USB3.1 host controllers.
Has anyone else noticed or is having the same issue?
Any thoughts most appreciated.
Hamid
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Hamid,
I would like to know more about the problem
- How much data are you transferring through XferData and what is the error code it returns
- The issue is seen with USB Gen1 or Gen2 3.1 host controller?
- Did you try with different vendors of the host controller?
- What is the OS you are using?
- The driver version?
- Are you not able to capture the error ? How frequently does error occur
Regards,
Rashi
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Rashi,
Please find the below answers to your questions:
- How much data are you transferring through XferData and what is the error code it returns
The error usually occurs when data is sent to the chip. 64Kbytes is sent each time we call XferData.
GetLastError() returns 995 which means "The I/O operation has been aborted because of either a thread exit or an application request".
Endpt->LastError is 997 which means "Overlapped I/O operation is in progress"
Right after seeing this error our software calls the Abort and Reset functions for the endpoint. Then the first transfer after resetting the endpoint is always successful, but the second one fails. As I mentioned previously, we looked at the USB3 traffics using Beagle USB 5000 analyzer, but it doesn't detect any issue and the packet seem to be sent successfully (despite the fact that the cypress driver returns an error).
- The issue is seen with USB Gen1 or Gen2 3.1 host controller?
Gen2 3.1 host controller
- Did you try with different vendors of the host controller?
No, only Intel. But the two machines have different motherboards with different chipsets. Unfortunately, we don't have an Asmedia host controller to see if the same issue can be reproduced with Asmedia or not.
- What is the OS you are using?
Windows 10
- The driver version?
We tried using both the latest driver and 1.2.3.10
- Are you not able to capture the error? How frequently does error occur?
The USB3 traffics using Beagle USB 5000 analyzer doesn't detect any error.
We send 64kbyte of data back and forth (write and read operations). Sometimes (approximately 1 out 10 times) the error occurs within 30-60 seconds after running our software. If it passes 60 seconds without any errors, then the error wouldn't occur.
Regards,
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Hamid,
Can you try changing the endpoint timeout from the default (10 seconds ) to a value more than that. You can change that in the CyAPI.cpp file.
- Please let me know the the latest driver version that you are using?
- Which Windows 10 version are you working on?
Regards,
Rashi
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Rashi,
Sorry for my late reply. Please find the below answers to your questions:
- Please let me know the latest driver version that you are using?
1.2.3.20
- Which Windows 10 version are you working on?
Windows 10 Pro 1809 OS build 17763.805
Regards,
Hamid
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Hamid,
Can you try changing the endpoint timeout from the default (10 seconds ) to a value more than that. You can change that in the CyAPI.cpp file
>>Did you try changing the timeout? Is the error still there?
Regards,
Rashi
Rashi