放弃了的mips usb isoc

本文记录了一位工程师在调试MIPS芯片USB Camera时遇到的等时传输问题,尝试了修改URB数量、ISO包数量、最大传输字节、中断URB初始化以及EHCI寄存器配置等方法,但最终因可能的EHCI主机控制器问题而放弃。过程中得到了他人帮助,历时6周的调试以失败告终。
摘要由CSDN通过智能技术生成
前段时间在调一款mips芯片的usb camera,失败了。方案商提供的代码已经可用U盘。也就是ehci host controller的块传输,控制传输没有问题。camera对应的是等时传输,方案商未测试过。我花了6周的时间试了1.1camera及2.0 uvc camera。始终是ehci等时传输有问题,一直觉得这个可能是瓶颈,驱动设置camera 或uvc设置,降低性能会做的出来。但是到第6周的周末我找leiming帮我调,他的初步结论是ehci host本身的问题,于是我放弃了。leiming是很热心的人,很感谢。6周,又一个丢人的时间片。这是我工作中第2次放弃做一个模块。第1次是破解加密芯片,发现是硬件加密狗,无人曾破解过时放弃。
那么我把失败的尝试列一下:
有2种现象差别,其余的现象都差不多
uframe传输数据大于1024,multi大于1时,一直出现xactErr错误
uframe传输数据小于等于1024,multi等于1时,出现一会xactErr后出现babble错误

1.修改uvc的uvcvideo.h中每次传输使用到的URB数
/* Number of isochronous URBs. */
#define UVC_URBS 5
修改为
#define UVC_URBS 1
出现4次Failed to resubmit status URB (-38)就一次也没有,但是这个规律是N-1次出现,除了少了这个错误打印外依然是xactErr和babble。所以不认为改成1可以解决。-38 -EL2NSYNC错误出现在2.6.14的版本里,高版本内核是-EFBIG错误。

2.修改uvc的uvcvideo.h中每次传输最多用多少个iso包,一个包对应一个uframe
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值