USB调试笔记
+ -

USBTreeView遇到连续的转换接口描述符不解释情况说明

2021-12-01 378 0

今天拿到一个USB摄像头,对其进行数据格式分析,出现了一个令人迷惑的问题…
事情是这样的,我用POTPLAYER打开摄像头,使用BUSHOUND进行抓包,选择的备用接口是0x0c

 CTL    01 0b 0c 00  01 00 00 00    SET_INTERFACE

为了查看该端点的数据大小,我使用USBTREEVIEW查看分析的配置描述符,可竟然到了换接口为6时就变成了IAD了,是该复合设备的另一个麦克风了。
配置描述符

竟然没有了该转换接口,那这个是怎么来的?
我记得SET_INTERFACE请求的wValue就是转换接口的ID啊,莫非有特殊的情况?我又翻了一个USB2.0的规范,没有找到问题所在。。。
SET_INTERFACE
这个USB标准请求很简单啊,不可能有错的。但通过BUSHOUND又是实实在在的0x0c.
最后自己向上看了一眼配配描述符的原始数据,原来确实有该接口描述符,不过解释完了转换接口6后自动不再解释后续的接口描述符,而是解释音频设备的IAD。
IAD

不知道这个是USBTREEVIEW自己设计这样的的,还是它的BUG.

题外话:自己也将USBVIEW弄了一个VS2019的工程,看来是有必要自己弄一个自己的UsbTreeView工具,这样也可以把HID报告描述符等的解析加进去。

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 篇笔记 写笔记

USBTreeView遇到连续的转换接口描述符不解释情况说明
今天拿到一个USB摄像头,对其进行数据格式分析,出现了一个令人迷惑的问题…事情是这样的,我用POTPLAYER打开摄像头,使用BUSHOUND进行抓包,选择的备用接口是0x0c CTL 01 0b 0c 00 01 00 00 00 SET_INTERFACE为了查看该端点的数据大......
Windows下USB驱动SET_INTERFAC失败 bad pipe flags
最近在调试一个UVC摄像头,由于项目的原因,需要在驱动下对UVC协议进行模拟,以实现在驱支层打下固件,从而读取数据的要求。本以为这是一个很简单的事,没想到还是耽搁了一点时间,花了一点小功夫。打开USB摄像头,对UVC协议的模拟主要是是USB特定类请求的模拟,通过我们的基础知识可知道,上层应用或驱动......
Windows下的USB设备描述符分析工具-UsbTreeView
UsbTreeView是Windows下的一款关于USB描述符分析的工具,该工具俱有以下特点:实时显示USB设备的连接状态以树状的形式显示连接到PC机中的所有USB设备,集线器和控制器可完美的分析连接到PC机中USB设备的各类USB描述符信息。支持USB1.0/USB2.0/USB3.x规范协议......
UsbTreeView中设备驱动信息获取方法
UsbTreeView是一个专门解析USB设备描述符的工具,可以显示USB设备的一系列属性值。其中包括驱动路径,和inf配置文件路径,查询了一下,没找到可以获取这些驱动信息的SetupApi。好奇这个软件是怎么实现的,于是对它调用的API抓了一下包,找到了它的实现方法。(1)驱动路径获取方法......
UAC复合设备(麦克风,扬声器,HID设备)的示例
UAC符合设备(麦克风,扬声器,HID设备)在设备管理器中如下图所示:在BUSHOUND下如下图所示:UAC音频设备UAC音频设备包括扬声器和麦克风。其中USB Pnp Audio Device使用了接口0,1,2,分别用于控制接口,扬声器和麦克风。HID音量控制设备USB输入设备用于音频的......
USBTreeView
USBTreeView是一针对 Windows 操作系统的 USB 设备分析工具,它可以用于查看 USB 设备的属性、配置、接口、中断管道等详细信息,并能够实时监测 USB 总线上的交互信息、访问权限等。使用 USBTreeView 可以帮助用户更好地理解和诊断 USB 设备的问题,特别是在开发和......
USB2.0集线器高速描述符UsbTreeViewer解析示例
=========================== USB Port4 ===========================Connection Status : 0x01 (Device is connected)Port Chain ......
红外摄像头USBTreeViewer信息
=========================== USB Port1 ===========================Connection Status : 0x01 (Device is connected)Port Chain ......
USBTreeViewer获取字节串描述符
缘由在于自己虚拟了一个USB控制器集线器,故在使用USBTreeViewer查看其USB集线器下的设备信息时,字节串描述符的问题解决。USB的开发人员肯定对USBTreeViewer这个工具不陌生,我们使用它来查看电脑中USB设备的相关信息。例如设备的连接信息,USB设备描述符,USB配置描述......
USBTreeViewer设备端口连接信息Connection Information
USBTreeViewer会对集线器下的各端口连接情况设置不同的图标,代表着当前集线器端口的状态信息。本人通过USBViewer源代码可知,其主要有以下几种状态:图标说明USB端口,无连接设备,USB2.0及以下USB端口,无设备连接、超高速端口连接USB2.0......
USB设备总线拓扑结构生成原理及方法
在Windows系统的内核中,USB堆栈提供了一系列的API接口。内核或者应用程序可以使用这些API接口来确定USB总线的拓扑结构和相关的USB设备信息。我们常用的USBTreeViewe是基于微软开源usbview二次开发的,而usbview就是使用这些API接口来实现USB总线拓扑结构和US......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

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

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