Win10 specific issue in data transfer from an FX3 over USB3.

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
BaSi_4567401
Level 1
Level 1
Welcome! 5 replies posted First question asked

A discussion under the same title has already been started, this is the continuation of the issue. Further investigation into USB functionality lead us to the below result that points to the USB compatibility issue:

USB 3.0 issue.jpg

I would be grateful for any suggestion to solve the above.

Thank You.

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi Balint,

Please test with the attached driver. This is not Microsoft certified but has Cypress digital signature.

Regards,

Hemanth

Hemanth

View solution in original post

0 Likes
13 Replies
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi,

From the previous thread, I see the following:

- CyUSBDevice.BulkInEndPt.XferData will return false (BulkInEndPt.UsbdStatus returns “state=ERROR status=UKNOWN”), and only partial frame data is transferred, sometimes half the frame size, sometimes less.

- It is not possible to recover from this situation, even after calling Abort and Reset on the BulkInEndPt

Is this the issue you are facing even now?

Can you let me know which version of cyusb3 driver you are using? and what is your windows 10 version?

Regards,

Hemanth

Hemanth
0 Likes

Hello,

Thank You for looking into the issue. Yes, we still have the issue. This is the info on the USB version number.

We are using the Cypress .Net library for data transfer from an FX3 over USB3. The filename is CyUSB.dll, original version 1.2.2.0, latest version 1.2.3.0.

The latest Cypress FX3 SDK (1.3.4)  has several CyUSB.dll files that are different at the binary level, all with the same version number, but they all give the same behavior.

We use Win10 professional, latest version, but issue appeared on Win10 enterprise as well. Actually, the later the windows version, the more issue we experience.

Thanks a lot.

0 Likes
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi,

Thanks for the info. But I needed the version number of the cyusb3 driver that you are using.

To know that you can double click on your device in the device manager and go to driver section. There you can see the version number.

Regards,

Hemanth

Hemanth
0 Likes

Hello,

The driver we use is 1.2.3.3,  and we have also tried version 1.2.3.20.

Thanks a lot for the help.

BEst Regards,

Balint

0 Likes
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi Balint,

- Howmuch data is requested from Bulk IN endpoint in one XferData call?

- Can you load USBBulkSrcSink example which is in below path of FX3 SDK into your device?

(C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxbulksrcsink)

After doing the same, please run streamer and check if you can see any failures.

(C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\application\c_sharp\streamer\bin\Release\Streamer.exe)

When you run the streamer application, try different packets per xfers till 256

Regards,

Hemanth

Hemanth
0 Likes

Hello Hemanth,

As far as the data that is requested, approximately 8MB (or 8404992 to be exact) is requested. It is the frame size, plus small header and footer rounded up to 16KB.

We will run the suggested test and report back ASAP.

Thank You for the help.

Best Regards,

Balint

0 Likes

Hello Hemanth,

We have run the tests and found the following:

We’ve run Cypress’s streamer example and have been able to reproduce the same issue as we see in our application.  The Steamer example allows the packet size to be modified which directly effects the buffer size used for data transfer calls.  When this is set this to be 4MB or more we see errors on Windows 10, but not Windows 8.1. 

The Streamer example uses a asynchronous data transfer function, whereas our application uses a synchronous function.  We have modified the Streamer example to use the synchronous function, but we observe the same behaviour.

Do you have any suggestions to resolve the issue?

Thank You!

Balint

0 Likes

Hello,

I have further info on the above issue:

Summary of FX3 USB data transfer investigation.

FX3 firmware : USBBulkSourceSink

PC application : Streamer (1.2.3.20)

Packets per Xfer Throughput (KBps)

16 162200

32 162200

64 162300

128 162400

256 162400

512 162400

No transfer failures reported.

Same on Windows 8.1, and Windows 10

Streamer application then modified to allow larger number of Packets per Xfer of 1024.

This corresponds to data transfer size of 8MB (1024*8192, where 8192 is MaxPktSize of BulkEndPoint)

This works fine on Windows 8.1, but gives data transfer failures on Windows 10.

The Streamer application was also modified to use the synchronous USB transfer library function XferData instead of the asynchronous functions, but all tests gave the same results.

Returning to the Paraytec FX3 firmware, preliminary tests have been done to transfer each 8MB camera frame in multiple calls of 4MB each, but this always fails, first returning less bytes than requested, and then failing with a USB transfer error.

I appreciate everybodies input.

Best Regards,

Balint

0 Likes
lock attach
Attachments are accessible only for community members.
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi Balint,

Please test with the attached driver. This is not Microsoft certified but has Cypress digital signature.

Regards,

Hemanth

Hemanth
0 Likes

Hello Hemanth,

It looks to be working! Errors disappeared. Can we get a Windows-certified version please?

Thank You for all your help!

Best Regards,

Balint

0 Likes

Hello Hemanth,

Can you please let me know if the cyucb3_win10_x64 driver is Microsoft certified? If you, can you please send a link to the certified version?

Thank You and Best Regards,

Balint

0 Likes

Hello Balint,

The cyusb3 driver version attached in this thread is not Microsoft Certified, but has a authenticode signature from Cypress through Globalsign using which the driver can be installed on any PC.

We do not have a Microsoft certified version for this driver.

Thanks,

Yatheesh

0 Likes
lock attach
Attachments are accessible only for community members.
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi Balint,

Please use the attached driver for USB-Bulk Transfers of size upto 32MB.

Regards,

Hemanth
0 Likes