DMA or GPIF stall when connected through USB Hub

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

cross mob
DaGr_4328696
Level 1
Level 1
First like given

I'm currently working on a project that sets up a UVC video stream using the FX3. When the device is plugged into a host directly, it works absolutely wonderfully, but when it is connected through a USB hub with other devices it will stall and stop streaming video.

When trying to inspect the transfer through wireshark or ffmpeg, it seems as if the device just stops sending UVC packets to the host despite the host still asking for them.

The DMA is set up as a multi channel auto many to one.

Thank you!

0 Likes
3 Replies
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

Please help us with some more details about the application:

- Please let me know if AN75779 is used as the base of your application

- Can you share the UART debug prints when the streaming stopped and also share the wireshark traces for us to check.

Regards,

Rashi

Regards,
Rashi
lock attach
Attachments are accessible only for community members.

Hello Rashi,

Thank you for the response!

I'm uncertain if the AN75779 was the example used as the base of our application as I've recently inherited the project. Is there anything specific that would be helpful in knowing about the project as it might relate to AN75779?

The UART debug prints are as follows right before the crash. The application currently detects a GPIF stall, and then will stop the video before sending the "UVC GPIF stall detected"

GPIF[6] state[2], pc[335709192], cons[671418384]

GPIF[6] state[2], pc[336636244], cons[673262940]

GPIF[1] state[2], pc[337553748], cons[675107496]

GPIF[131] state[2], pc[338595488], cons[677181428]

GPIF[131] state[2], pc[340020896], cons[680025408]

GPIF[6] state[2], pc[341242860], cons[682485720]

GPIF[1] state[2], pc[342169912], cons[684330276]

GPIF[7] state[2], pc[343087416], cons[686174832]

GPIF[131] state[2], pc[344129156], cons[688248764]

GPIF[131] state[2], pc[345554564], cons[691092744]

GPIF[1] state[2], pc[346776528], cons[693553056]

GPIF[1] state[2], pc[347703580], cons[695397612]

GPIF[1] state[2], pc[348621084], cons[697242168]

GPIF[131] state[2], pc[349662824], cons[699316100]

GPIF[131] state[2], pc[351088232], cons[702160080]

GPIF[6] state[2], pc[352310196], cons[704620392]

GPIF[1] state[2], pc[353237248], cons[706464948]

GPIF[6] state[2], pc[354154752], cons[708309504]

GPIF[131] state[2], pc[355196492], cons[710383436]

GPIF[131] state[2], pc[356621900], cons[713227416]

GPIF[6] state[2], pc[357843864], cons[715687728]

GPIF[1] state[2], pc[358106008], cons[716097328]

GPIF[6] state[2], pc[358106008], cons[716097328]

GPIF[1] state[2], pc[358106008], cons[716097328]

GPIF[1] state[2], pc[358106008], cons[716097328]

GPIF[1] state[2], pc[358106008], cons[716097328]

GPIF[1] state[2], pc[358106008], cons[716097328]

GPIF[6] state[2], pc[358106008], cons[716097328]

GPIF[1] state[2], pc[358106008], cons[716097328]

Pre-Stop GPIF[1], DMA status state[2], pc[358106008], cons[716097328]

Post-DMA status GPIF[6], state[1], pc[0], cons[0]

[13369]-Stopping Video...

[13369]-SR2[A020780] [Aud] VidFF OR GPIF TO

UVC GPIF stall detected

GPIF[1] state[1], pc[0], cons[0]

[13381]~~~~~> State change from state[3] to state[1]

[13368]-FPGA[0] write[F080002]

[13369]-FPGA[0] write[F080002]

Attached is a wireshark capture from plug in to stall, with the stall happening at around packet 112683

Thank you so much for your assistance!

Dallas

0 Likes

Hello Dallas,

Thank you for the traces.

From the Wireshark traces, I don't see any error codes (for failing transfer).

Please let me know when are these debug prints printed (due to which event) or please share the firmware file for us to check the reason for these prints being printed.

Pre-Stop GPIF[1], DMA status state[2], pc[358106008], cons[716097328]

Post-DMA status GPIF[6], state[1], pc[0], cons[0]

[13369]-Stopping Video...

[13369]-SR2[A020780] [Aud] VidFF OR GPIF TO

UVC GPIF stall detected

I also don't understand the prints "DMA status state[2], pc[358106008], cons[716097328]" . Please let me know details about these prints

Also, let me know if streaming is fine when the device is connected without the hub (i.e. directly to the host)

Regards,

Rashi

Regards,
Rashi
0 Likes