求助:uvc传输存在数据丢失的情况,传输的有效数据只有1/3, 剩下的都是不知道哪里来的无效数据

宏@达^~^ 2022-12-05 16:01:28 编辑

目前我遇到一个比较棘手的问题,有大佬帮忙出些建议么
系统:linux 内核版本 4.19
问题:uvc 传输存在数据丢失的情况,传输的有效数据只有 1/3, 剩下的都是不知道哪里来的无效数据, usb2.0 和 3.0 均是一样的现象?这种丢数据通常是因为哪些原因造成的?还有存在 usb3.0 的 uvc 传输速度比 usb2.0 的还慢, 这种是驱动的问题么( 因为用u盘测试 dd 命令的传输速度又是正常的 > 250Mb/s )….

USB中文网 2022-12-06 18:00:50 编辑

如果抓取的是USB总线上的数据,说明就是你固件中的BUFFER长度设置问题,导致多发数据了。
或者是不是因为buffer传输的指针有问题,比如说需要多次发送,导致内存越界会出现一些别的内存的数据。
如果是在上层,看是不是你的BUFFER默认的值。

UVC传输主要还是看USB端点的初始化,主要看端点在3.0下检查你设置的参数。
如果参数正常,看如ACK是否及时,是否有多次重试。
或由于3.0线缆的问题导致总线重试。