USB笔记 设备功能描述符(Device Capability Descriptor)
设备功能描述符(Device Capability Descriptor)是用于存储特定某项技术或设备功能信息的描述符,和BOS描述符(BOS Descriptor)一起由Wireless Universal Serial Bus Specification Revision 1.0规范引入,之后在USB 2.0 ECN: Link Power Management (LPM) 、USB3.x Specification、Microsoft OS 2.0 Descriptors Specification 等协议规范都加入了定义。
单个的特定技术或者通用的设备层级的功能通过设备功能描述符(Device Capability Descriptor)来上报。设备功能描述符(Device Capability Descriptor)总是作为GetDescriptor(BOS)请求返回的BOS信息的一部分返回。主机端不能单独读取单个的设备功能描述符(Device Capability Descriptor),无法使用GetDescriptor()或SetDescriptor()请求直接读取或设置单独的设备功能,只能通过GetDescriptor()请求获取BOS描述符(BOS Descriptor)并通过wTotalLength字段得到长度来读取整个描述符集。
设备功能描述符(Device Capability Descriptor)具有通用头(generic header),带有子类型字段(bDevCapabilityType),这个字段定义了描述符其余部分的布局(layout)。
Device Capability Descriptor
bLength以字节为单位的描述符大小。
bDescriptorType设备功能描述符类型,为DEVICE CAPABILITY(0x10)。
bDevCapabilityType设备功能类型。
Capability-Dependent取决于bDevCapabilityType。
获取设备功能描述符
主机通过发送Get Descriptor
请求,取得BOS描述符及其子描述符。设备功能描述符(Device Capability Descriptor)总是作为BOS描述符的一部分返回。
下面举例说明一个获取设备功能描述符(Device Capability Descriptor)的过程。使用USB分析仪抓包,软件Total Phase Data Center。
获取一个设备的设备功能描述符(Device Capability Descriptor),该设备的设备功能描述符(Device Capability Descriptor)如下所示,这是一个USB 2.0 Extension Descriptor:
使用USB分析仪抓包可以看到,获取BOS描述符(BOS Descriptor),而设备功能描述符(Device Capability Descriptor)就包含在其中:
设备功能描述符(Device Capability Descriptor)的获取过程如下:
再展开看到详细的过程:
接下来详细看整个获取过程的各个字段含义:
一开始的setup包过程:
setup data:
IN包过程
OUT包过程:
完成整个设备功能描述符(Device Capability Descriptor)的获取。
附录
Wireless USB 1.x Device Capability Descriptor
Wireless USB 1.0 Device Capability Type Codes
Wireless USB 1.1 Device Capability Type Codes
USB 3.x Device Capability Descriptor
USB 3.0 Device Capability Type Codes
USB 3.1 Device Capability Type Codes
USB 3.2 Device Capability Type Codes
[参考资料]
Universal Serial Bus Specification Revision 2.0
Universal Serial Bus 3.0 Specification
Universal Serial Bus 3.1 Specification
Universal Serial Bus 3.2 Specification
Wireless Universal Serial Bus Specification Revision 1.0
Wireless Universal Serial Bus Specification Revision 1.1
USB 2.0 ECN: Link Power Management (LPM)
Universal Serial Bus Power Delivery Specification Revision 2.0, V1.2
Universal Serial Bus Power Delivery Specification Revision 2.0, V1.3
Universal Serial Bus Power Delivery Specification Revision 3.0, Version 2.0 + ECNs
Microsoft OS 2.0 Descriptors Specification
USB Complete, 5th Edition
USB开发大全
本文链接:/u012028275/article/details/109955356