UVC摄像头技术笔记
+ -

【UVC调试笔记】第一个GET CUR请求产生babble detected的原因排查

2021-05-06 1429 0

【前言】
开通blog的目的有两个:
一是记录UVC调试过程中遇到的问题和解决方案,方便自己review
二是给广大开发者提供一些解决问题的思路

故障现象
枚举完以后,打开videocap,从bushoud上抓包,可以看出第一个GET CUR会产生一个babble detected的error

排查过程:
通过USB协议分析仪抓包数据发现,第一个GET CUR 的请求的数据长度是26个字节,而发送了28个字节

会不会是因为这个原因导致了硬件的buffer溢出呢?
展开这28个字节,发现是这样的数据:

这数据有点眼熟啊
通过比对,发现前20个字节来自ConfStr2的数据

至此,终于破案了,是因为回数据包的时候指针搞错了,回了错误的数据。

【后记】
把这个小案例贴出来,是想告诉大家,我们进行UVC调试时有两个工具经常要用到一个是BusHould抓包软件,另一个是USB协议分析仪,用好这两个工具,可以事半功倍。

HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

UVC特定类请求get cur返回长度是26或者是34的是什么?
从返回的长度来看,你应该是在应用打开摄像头,进行视频格式及图形分辨率协商返回的数据长度.UVC视频流接口这两个特别重要的选择子,分别用于协商过程和提交数据格式,让固件开始发送数据。ControlSelector ValueVS_PROBE_CONTROL0x01VS_COMMIT_CONTROL0x......
UVC摄像头批量传输的StreamOn和StreamOff
在UVC规范中,UVC摄像头视频数据的传输方式支持两种,分别为批量传输和同步传输。UVC摄像头数据传输的格式按负载数据头的方式按帧进行打包传输。根据USB规范可知,同步传输方式是只要带中带有同步端点的接口,系统会定时从设备中读取数据,无论设备中是否有数据。而如要要停止数据的传输,只需要选中不带有同步......
UAC 特定类请求
特定类请求一般用于设置或获取音频控制。这些控制又分为两大部分:音频控制请求:对音频控制单元或终端进行控制。音频流请求: 如对音频流控制的请求,如音频采相率等。音频设备类也支持其他特定于类的请求:内存请求(Memory Request),每个可寻址的实体或终端,可导出一个内存映射接口。提供对该实体内存......
【UVC调试笔记】第一个GET CUR请求产生babble detected的原因排查
【前言】开通blog的目的有两个:一是记录UVC调试过程中遇到的问题和解决方案,方便自己review二是给广大开发者提供一些解决问题的思路故障现象:枚举完以后,打开videocap,从bushoud上抓包,可以看出第一个GET CUR会产生一个babble detected的error排查过程:通......
SET_CUR/GET_CUR
设置请求SET_CUR设置请求用于设置视频功能的相关属性,这些属性一般由相关的端点、接口来实现。bmRequestType(1)bRequest(1)wValue(2)wIndex(2)wLength(2)Data(0~N)00100001(接口或实体)————— 001......
U盘枚举失败-该设备无法启动(GET_MAX_LUN请求)
群里有人用STM32搞了一个U盘,但是U盘在插入电脑后在设备管理器是枚举失败。我让他看一下设备状态:又是熟悉的错误码10,表示设备启动失败。设备的启动失败,一般在设备获取描述符获取之后,初始会失败,我之前在弄USB虚拟鼠标的时候也遇到此类情况。不过由于这个设备是U盘,本人还没有研究USB存储协议,只......
UVCXU扩展单元调试工具SET_CUR时获取数据长度错误0x800700ea
在开发UVC扩展单元调试工具遇到的一个问题就是获取SET_CUR时的有效数据长度。进行数据的SET_CUR和GET_CUR,是通过KsProperty函数实现的。函数声明如下:NTSTATUS KsProperty( [in] PKSPROPERTY Property, [in......
UVC摄像头USB批量传输BULK数据传输方式的打开与关闭StreamOn StreamOff
USB的批量传输和中断传输是一样的简单,但经常发现有人在问批量传输的UVC摄像头的打开与半闭问题的边界问题,特别是摄像头关闭的判断。BULK摄像头的打开我们通过BUSHOUND抓包的内容如下:Device Length Phase Data ......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

    打开支付宝扫一扫,即可进行扫码打赏哦

    您的支持,是我们前进的动力!