fx3 uvc extension unit return error after a while

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

cross mob
StFa_289656
Level 2
Level 2

Enviroment:

SDK 1.3.4

firmware based on UVC AN75779

input signal 720x576 YUV at 25fps. (from Analog device ADV7280A)

Test port: USB 2.0 High speed

I have implemented an usb frame grabber with the starting point the AN75799.

I have a custom extension unit in order to get the status of some structure from the board.

I'm using the uvc_extension_app.exe to read the interface with a polling of 10ms.

I'm using amcap to for the video rendering.

After a while, usualy after 10 / 20 minute the extension unit return error .

If I remove the USB cable and reconnect it, the device doesn't works.

This behaviour happen when I have the video streaming and extension interface working all together

0 Likes
1 Solution

Hello,

>> I'd like to known what is the behaviour of the USB stack in case the PC is not able to consume all the bulk video frame....

>> Is it possible a buffer overflow? How can I  avoid this situation?

When the host is accessing the data from the device and device buffers are full, there will be device buffer overflow and you will see Commit buffer failure error (-71). Whenever there is a commit buffer failure, we stop the application in which we do reset the endpoint and dma channel. You may refer AN75779 application note firmware for this.

There are some issues with simaltaneous Bulk-IN and Control-IN Transfers in USB 2.0, please refer the following KBA.

EZ-USB® FX3™ Issues With Simultaneous Bulk-IN and Control-IN Transfers In USB 2.0 – KBA92475

Note that CyU3PUsbSuspendInEpChannels API is being called internally in CyU3PUsbSendEP0Data API in the SDK.

Hence, you don't need to add any work around in the firmware.

Regards,

Sridhar

View solution in original post

0 Likes
7 Replies
KandlaguntaR_36
Moderator
Moderator
Moderator
25 solutions authored 10 solutions authored 5 solutions authored

Hello,

Can you please check the functionality in USB 3.0 and check, if feasible?

Regards,

Sridhar

0 Likes

Hi Sridhar,

I'm sorry, my board doesn't has an USB 3.0 connector.

0 Likes

Hi Sridhar,

I'd like to known what is the behaviour of the USB stack in case the PC is not able to consume all the bulk video frame....

Is it possible a buffer overflow? How can I  avoid this situation?

Best regards

0 Likes

one more info:

when the extension unit return error, the video streaming doens't works.

I need to reset the device.

0 Likes

I made a test with the eval board,

with USB3.0 the problem seem to not appear.

with USB 2.0 the problem happen

0 Likes

Hello,

>> I'd like to known what is the behaviour of the USB stack in case the PC is not able to consume all the bulk video frame....

>> Is it possible a buffer overflow? How can I  avoid this situation?

When the host is accessing the data from the device and device buffers are full, there will be device buffer overflow and you will see Commit buffer failure error (-71). Whenever there is a commit buffer failure, we stop the application in which we do reset the endpoint and dma channel. You may refer AN75779 application note firmware for this.

There are some issues with simaltaneous Bulk-IN and Control-IN Transfers in USB 2.0, please refer the following KBA.

EZ-USB® FX3™ Issues With Simultaneous Bulk-IN and Control-IN Transfers In USB 2.0 – KBA92475

Note that CyU3PUsbSuspendInEpChannels API is being called internally in CyU3PUsbSendEP0Data API in the SDK.

Hence, you don't need to add any work around in the firmware.

Regards,

Sridhar

0 Likes

Hello,

CyU3PUsbSuspendInEpChannels API is being called internally in CyU3PUsbSendEP0Data API in the SDK.

Hence, you don't need to add any work around in the firmware.

We will update the document EZ-USB® FX3™ Issues With Simultaneous Bulk-IN and Control-IN Transfers In USB 2.0 – KBA92475

Is the issue -71 issue solved?

Regards,

Sridhar

0 Likes