Toggle navigation
首页
(current)
问答
文章
话题
商城
登录
注册
720模块USB描述符详解
USB描述符
[TOC] #Air720系列模块简介 ** Air720系列模块是合宙出品的4G LTE模块,拥有丰富功能模块以及完善AT指令,用户可以通过AT指令实现所需的功能,也可以插上PC的USB当作网卡使用,也可以使用PPP拨号等等。这些功能都可以用720的USB设备实现,下面就介绍下Air720系列模块强大的USB设备。 ** #Air720系列模块USB功能介绍 接口名|功能 --|-- NDIS|RNDIS网卡接口 AT|发送AT指令 modem|PPP拨号和发送AT指令 diag|调试抓log接口 #Air720系列模块USB描述符 ##设备描述符 Offset|Name|Description|Value ---|---|---|--- 1|bLength|此描述符的字节数|0x12 2|bDescriptorType|描述符类型|0x01 3|bcdUSB|此设备与描述表兼容的USB设备说明版本号|0x0002 5|bDeviceClass|设备类码|0xef 6|bDeviceSubClass|子类掩码(根据设备类码查看)|0x02 7|bDeviceProtocol|协议码|0x01 8|bMaxPacketSize0|端点0的最大包大小|0x40 9|idVendor|厂商标志|0x1286 11|idProduct|产品标志|0x4e3d 13|bcdDevice|设备发行号(BCD码)|0x0001 15|iManufacturer|描述厂商信息的字符串描述符的索引值。|0x01 16|iProduct|描述产品信息的字串描述符的索引值t|0x02 17|iSerialNumber|描述设备序列号信息的字串描述符的索引值|0x03 18|bNumConfigurations|可能的配置描述符数目|0x01 ##配置描述符 Offset|Name|Description|Value ---|---|---|--- 1|bLength|此描述符的字节数|0x09 2|bDescriptorType|描述符类型|0x02 3|wTotalLength|此配置信息的总长|0xde00 5|bNumInterfaces|此配置所支持的接口个数|0x05 6|bConfigurationValue|在SetConfiguration()请求中用作参数来选定此配置|0x01 7|iConfiguration|描述此配置的字串描述表索引|0x00 8|bmAttributes|配置特性:D6:自给电源, D5:远程唤醒|0xc0 9|MaxPower| 在此配置下的总线电源耗费量 (mA)|0xfa #Air720系列模块USB接口描述符 ##RNDIS接口组合描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x08 |2|bDescriptorType|描述符类型(IAD描述符类型)|0x0b |3|bFirstInterface|起始接口|0x00 |4|bInterfaceCount|接口数|0x02 |5|bFunctionClass|类型码|0xe0 |6|bFunctionSubClass|子类型码|0x01 |7|bFunctionProtocol|协议码|0x03 |8|Index|描述字符串索引|0x05 ###RNDIS 通信类接口描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x09 |2|bDescriptorType|描述符类型|0x04 |3|bInterfaceNumber|此接口的索引|0x00 |4|bAlternateSetting|可选设置的索引值|0x00 |5|bNumEndpoints|此接口用的端点数量|0x01 |6|bInterfaceClass|无线控制器类|0xe0 |7|bInterfaceSubclass|抽象控制模型|0x01 |8|bInterfaceprotocol|协议码|0x03 |9|iInterface|描述此接口的字串描述表的索引值|0x05 ###RNDIS 数据类接口描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x09 |2|bDescriptorType|描述符类型|0x04 |3|bInterfaceNumber|此接口的索引|0x01 |4|bAlternateSetting|可选设置的索引值|0x00 |5|bNumEndpoints|此接口用的端点数量|0x02 |6|bInterfaceClass|CDC数据类|0x0a |7|bInterfaceSubclass|抽象控制模型|0x00 |8|bInterfaceprotocol|协议码|0x00 |9|iInterface|描述此接口的字串描述表的索引值|0x05 ###RNDIS端点描述符 ####通知端点描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x07 |2|bDescriptorType|描述符类型(端点描述符)|0x05 |3|bEndpointAddress|端点号及传输方向|0x85 |4|bmAttributes|端点特性(批传送)|0x02 |5|wMaxPacketSize|端点支持的最大数据包长度|0x1000 |7|bInterval|端点数据传输的访问间隔|0x10 ####输入端点描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x07 |2|bDescriptorType|描述符类型(端点描述符)|0x05 |3|bEndpointAddress|端点号及传输方向|0x06 |4|bmAttributes|端点特性(批传送)|0x02 |5|wMaxPacketSize|端点支持的最大数据包长度|0x0002 |7|bInterval|端点数据传输的访问间隔|0x00 ####输出端点描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x07 |2|bDescriptorType|描述符类型(端点描述符)|0x05 |3|bEndpointAddress|端点号及传输方向|0x87 |4|bmAttributes|端点特性(批传送)|0x02 |5|wMaxPacketSize|端点支持的最大数据包长度|0x0002 |7|bInterval|端点数据传输的访问间隔|0x00 ##AT接口 ###AT接口描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x09 |2|bDescriptorType|描述符类型|0x04 |3|bInterfaceNumber|此接口的索引|0x02 |4|bAlternateSetting|可选设置的索引值|0x00 |5|bNumEndpoints|此接口用的端点数量|0x03 |6|bInterfaceClass|厂商定义的设备|0xFF |7|bInterfaceSubClass|设备子类码|0x00 |8|bInterfaceProtocol|协议码|0x00 |9|iInterface|描述此接口的字串描述表的索引值|0x0B ###AT接口端点描述符 ####通知端点描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x07 |2|bDescriptorType|描述符类型(端点描述符)|0x05 |3|bEndpointAddress|端点号及传输方向|0x8c |4|bmAttributes|端点特性(中断传送)|0x03 |5|wMaxPacketSize|端点支持的最大数据包长度|0x1000 |7|bInterval|端点数据传输的访问间隔|0x10 ####输入端点描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x07 |2|bDescriptorType|描述符类型(端点描述符)|0x05 |3|bEndpointAddress|端点号及传输方向|0x0d |4|bmAttributes|端点特性(批传送)|0x02 |5|wMaxPacketSize|端点支持的最大数据包长度|0x0002 |7|bInterval|端点数据传输的访问间隔|0x00 ####输出终结点描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x07 |2|bDescriptorType|描述符类型(端点描述符)|0x05 |3|bEndpointAddress|端点号及传输方向|0x8e |4|bmAttributes|端点特性(批传送)|0x02 |5|wMaxPacketSize|端点支持的最大数据包长度|0x0002 |7|bInterval|端点数据传输的访问间隔|0x00 ##MODEM接口 ###MODEM接口描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x09 |2|bDescriptorType|描述符类型|0x04 |3|bInterfaceNumber|此接口的索引|0x03 |4|bAlternateSetting|可选设置的索引值|0x00 |5|bNumEndpoints|此接口用的端点数量|0x03 |6|bInterfaceClass|厂商定义的设备|0xFF |7|bInterfaceSubClass|设备子类码|0x00 |8|bInterfaceProtocol|协议码|0x00 |9|iInterface|描述此接口的字串描述表的索引值|0x08 ###MODEM接口端点描述符 ####通知端点描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x07 |2|bDescriptorType|描述符类型(端点描述符)|0x05 |3|bEndpointAddress|端点号及传输方向|0x8a |4|bmAttributes|端点特性(中断传送)|0x03 |5|wMaxPacketSize|端点支持的最大数据包长度|0x10000 |7|bInterval|端点数据传输的访问间隔|0x10 ####输入端点描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x07 |2|bDescriptorType|描述符类型(端点描述符)|0x05 |3|bEndpointAddress|端点号及传输方向|0x01 |4|bmAttributes|端点特性(批传送)|0x02 |5|wMaxPacketSize|端点支持的最大数据包长度|0x0002 |7|bInterval|端点数据传输的访问间隔|0x00 ####输出端点描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x07 |2|bDescriptorType|描述符类型(端点描述符)|0x05 |3|bEndpointAddress|端点号及传输方向|0x82 |4|bmAttributes|端点特性(批传送)|0x02 |5|wMaxPacketSize|端点支持的最大数据包长度|0x0002 |7|bInterval|端点数据传输的访问间隔|0x00 ##DIAG接口 ###DIAG接口描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x09 |2|bDescriptorType|描述符类型|0x04 |3|bInterfaceNumber|此接口的索引|0x04 |4|bAlternateSetting|可选设置的索引值|0x00 |5|bNumEndpoints|此接口用的端点数量|0x03 |6|bInterfaceClass|厂商定义的设备|0xFF |7|bInterfaceSubClass|设备子类码|0x00 |8|bInterfaceProtocol|协议码|0x00 |9|iInterface|描述此接口的字串描述表的索引值|0x0B ###DIAG接口端点描述符 ####通知端点描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x07 |2|bDescriptorType|描述符类型(端点描述符)|0x05 |3|bEndpointAddress|端点号及传输方向|0x8b |4|bmAttributes|端点特性(中断传送)|0x03 |5|wMaxPacketSize|端点支持的最大数据包长度|0x0010 |7|bInterval|端点数据传输的访问间隔|0x10 ####输入端点描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x07 |2|bDescriptorType|描述符类型(端点描述符)|0x05 |3|bEndpointAddress|端点号及传输方向|0x03 |4|bmAttributes|端点特性(批传送)|0x02 |5|wMaxPacketSize|端点支持的最大数据包长度|0x0200 |7|bInterval|端点数据传输的访问间隔|0x00 ####输出端点描述符 |Offset|Name|Description|Value |---|---|---|--- |1|bLength|此描述符的字节数|0x84 |2|bDescriptorType|描述符类型(端点描述符)|0x05 |3|bEndpointAddress|端点号及传输方向|0x0d |4|bmAttributes|端点特性(批传送)|0x02 |5|wMaxPacketSize|端点支持的最大数据包长度|0x0200 |7|bInterval|端点数据传输的访问间隔|0x00 ##功能描述符 详细参数请查看USB-CDC类相关文档。 ###Header Functional Descriptor |Offset|Name|Description|Value |---|---|---|--- |1|bLength|表示该描述符的长度|0x05 |2|bDescriptorType|CS_INTERFACE|0x24 |3|bDescriptorSubtype|Header Func Desc|0x00 |4|bcdCDC|BCD编码CDC版本号字段|0x1001 ###Call Managment Functional Descriptor |Offset|Name|Description|Value |---|---|---|--- |1|bFunctionLength |FunctionLength|0x05 |2|bDescriptorType|CS_INTERFACE |0x24 |3|bDescriptorSubtype| Call Management Func Desc|0x01 |4|bmCapabilities||0x00 |5|bDataInterface||0x01 ###ACM Functional Descriptor |Offset|Name|Description|Value |---|---|---|--- |1|bFunctionLength |FunctionLength|0x04 |2|bDescriptorType|CS_INTERFACE |0x24 |3|bDescriptorSubtype|Abstract Control Management desc|0x02 |4|bmCapabilities|D0:The device does not handle call management D1:self handle|0x00 ###Union Functional Descriptor |Offset|Name|Description|Value |---|---|---|--- |1|bFunctionLength |FunctionLength|0x05 |2|bDescriptorType|CS_INTERFACE |0x24 |3|bDescriptorSubtype|Union func desc|0x06 |4|bControlInterface|The interface number designated as the controlling interface for the union|0x00 |5|bSubordinateInterface0|Interface number of first subordinate interfacein the union|0x01 #Air720系列模块USB抓包分析 ![](/static/editormd/php/../uploads/5_35093.png) **使用工具:BusHound 如上图所示:CTL是HOST发送的获取描述符的请求,IN是设备的回复。数据是横向解读。依次是:** ``` 设备配置描述符(09 02 de 00 05 01 00 c0 fa) NDIS接口组合描述符(08 0b 00 02 e0 01 03 05) NDIS通信类接口描述符(09 04 00 00 01 e0 01 03 05) 功能描述符(05 24 00 10 01 05 24 01 00 01 04 24 02 00 05 24 06 00 01) 通知端点描述符(07 05 85 03 10 00 10) NDIS数据类接口描述符(09 04 01 00 02 0a 00 00 05) 输出端点描述符(07 05 87 02 00 02 00 输入端点描述符(07 05 06 02 00 02 00) AT接口描述符(09 04 02 00 03 ff 00 00 0b) 功能描述符(05 24 00 10 01 05 24 01 00 00 04 24 02 02 05 24 06 00 00) 通知端点描述符(07 05 8c 03 10 00 10) 输出端点描述符(07 05 8e 02 00 02 00) 输入端点描述符(07 05 0d 02 00 02 00) MODEM接口描述符(09 04 03 00 03 ff 00 00 08) 功能描述符(05 24 00 10 01 05 24 01 00 00 04 24 0202 05 24 06 00 00) 通知端点描述符(07 05 8a 03 10 00 10) 输出端点描述符(07 05 82 02 00 02 00) 输入端点描述符(07 05 01 02 00 02 00) DIAG接口描述符(09 04 04 00 03 ff 00 00 0b) 功能描述符(05 24 00 10 01 05 24 01 00 00 04 24 02 02 05 24 06 00 00) 通知端点描述符(07 05 8b 03 10 00 10) 输出端点描述符(07 05 84 02 00 02 00) 输入端点描述符(07 05 03 02 00 02 00) ```
发表于 2019-12-02 17:04
阅读 ( 1792 )
0 推荐
收藏
你可能感兴趣的文章
相关问题
0 条评论
请先
登录
后评论
王健
程序猿
3 篇文章
作家榜
»
技术销售Delectate
43 文章
陈夏
26 文章
国梁
24 文章
miuser
21 文章
晨旭
20 文章
朱天华
19 文章
金艺
19 文章
杨奉武
18 文章
×
发送私信
发给:
内容:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!