CX3 DMA error

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

cross mob
ZhFa_4423811
Level 1
Level 1

最近在CX3强化测试中发现,CX3在windows平台图像传输正常,同等测试条件,在Linux平台运行一段时间,时间不等, 会持续CX3会一直打印“DMA error”, linux接收端采用的是libusb,libusb_bulk_transfer 一直返回错误代码为-7,即LIBUSB_ERROR_TIMEOUT,图像端点不能上传,但控制端点正常,而重新插拨CX3,又能出图像。已经困惑很久,希望在此能收到点建议,谢谢。

0 Likes
1 Solution
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

您看看您这个问题和这篇帖子中的问题是否有类似之处

CX3 UVC ubuntu 18.04 uvcvideo: Non-zero status (-71) in video completion handler

View solution in original post

0 Likes
10 Replies
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

您好,请问您CX3用的是UVC驱动吗?如果是UVC驱动,第三方的上位机程序是否会有问题?

0 Likes

CX3用的是UVC驱动,由于使用之初需要用到自定义的控制命令,在linux平台下,控制端点与图像端点均采用的是自己写的libusb,现在的情况是,linux平台下长时间运行后不出图,不出图时,控制端点还是好的,但图像端点接收端报libusb_bulk_transfer 超时,CX3 一直在打印 "DMA RESET"。烦请给点意见,谢谢。

0 Likes
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

您这个commit buffer failure 的错误代码是多少?

0 Likes

0x47, dma buffer 满了。

0 Likes
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

您可以尝试下增大DMA buffer 空间。在cyfxtx.c中修改CY_U3P_SYS_MEM_TOP 为 0x40080000, 将空间增大为256KB, 并相应增大DMA buffer size

0 Likes

还是不行的。

0 Likes
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

这可能就是你上位机程序的问题了,如果用uvc的驱动,第三方的播放器是不是也会有这种问题?

0 Likes

使用第三方播放器没有这个问题,用自己的libusb的应用程序,就会出现这个问题,一段时间后,CX3图像数据发不出去,LIBUSB端接收一直提示超时状态,但控制端点是好的,用wireshark抓包也能看到,没有bulk in数据返回。能否再给点提示,谢谢,现在担心在嵌入式设备,由于USB性能的缘故,此现象会更明显。

0 Likes
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

您看看您这个问题和这篇帖子中的问题是否有类似之处

CX3 UVC ubuntu 18.04 uvcvideo: Non-zero status (-71) in video completion handler

0 Likes

谢谢,又用wireshark抓了下usb包,发生问题的有个错码代码,-EOVERFLOW, -75。此错误代码发生以后,PC就抓不到包了,但控制端点还是正常的,请帮忙看看看,多谢。6d6b0f20b54d320401b09c13bff61ab.jpg

0 Likes