USB设备多个配置描述符的获取过程
多配置USB设备枚举过程和多字符串描述符的枚举是相同的,过程如下:
1. 总线复位;
2. 获取设备描述符;
3. 总线复位;
4. 设置地址;
5. 获取设备描述符;
6. 获取配置描述符1;
7. 获取配置描述符2;
8. …
9. 获取字符串描述符1;
10. 获取字符串描述符2;
11. …
12. 设置配置;
13. …
可见,对于多个配置和字符串描述符的设备而言,主机端需要进行多次获取(但不是必须的,主机也可能不获取完所有配置),而请求哪个配置是根据USB标准设备请求中的wValue字段确定的。也就是请求配置描述符0,wValue中的Descriptor Index设置成0,请求配置描述符1,设置成1再进行请求即可。具体可以参见USB2.0 Specification中9.4.3中的描述。我在这里对此简单翻译一下:
wValue值在高字节指定描述符类型(Descriptor Type),在低字节指定描述符索引(Descriptor Index)。当一个设备实现相同类型的多个描述符时描述符索引Index就用于选择指定的描述符(仅用于配置和字符串描述符)。如果正常只有一个配置或者一个字符串描述符,那么使用默认值0就可以了。
USB设备多个配置描述符的获取过程相关推荐
- 32 usb 配置描述符_USB协议详解第4讲(USB描述符标准配置描述符)
关注+星标公众号,不错过精彩内容 编排 | 一个早起的程序员 一个早起的程序员 1 USB描述符USB描述符有设备描述符.标准配置描述符.接口描述符.端点描述符.字符串描述符,HID设备有HID描述符 ...
- USB鼠标-配置描述符(三)
USB 鼠标详解阅读顺序 1.枚举 2.设备描述符 3.设置地址 4.配置描述符 5.接口描述符 6.HID 描述符 7.端点描述符 8.字符串描述符 9.HID 报告描述符 10.HID 报告的返回 ...
- 【USB笔记】配置描述符Configuration Descriptor
USB笔记 配置描述符(Configuration Descriptor) 配置描述符(Configuration Descriptor)说明了一个特定配置的相关信息.取得设备描述符(Device D ...
- usb驱动开发7——接口描述符
此系列是http://blog.csdn.net/fudan_abc/博文的整理,同时加入了自己的理解.很敬佩fudan_abc的文章,仔细学习和分析受益很多.注:fundan_abc所分析linux ...
- 二,usb描述符-设备 配置 接口 端点
一,基础概念 在USB设备的逻辑组织中,包含设备.配置.接口和端点4个层次. 每个USB设备都提供了不同级别的配置信息,可以包含一个或多个配置,不同的配置使设备表现出不同的功能组合(在探测/连接期间需 ...
- USB开发基础:USB命令(请求)和USB描述符
一.USB命令 在USB规范里,对命令一词提供的单词为"Request",但这里为了更好的理解主机与设备之间的主从关系,将它定义成"命令". 所有的USB设备都 ...
- USB设备开发---- usb描述符概述
说到USB设备,不得不提到各种描述符(descriptors), 一般来说,描述符有如下几种: 1:设备描述符(Device Descriptors) 2:配置描述符(Configuration De ...
- Usb设备驱动3:root hub守护进程2
Hub正常工作后,主控制器就会定时询问hub是否有中断产生,当hub端口上有一个设备插入或拔除,hub就向主控制器发送urb请求,即把hub端口的变化状况告诉主控制器,这是通过urb请求来完成的,主机 ...
- (三) 查看USB设备
目录 查看USB设备 lsusb ll /sys/bus/usb/devices cat /sys/kernel/debug/usb/devices dmesg title: 查看USB设备 date ...
最新文章
- 成都(10月24日时代广场)Windows 7社区发布活动
- Android开发之自定义Dialog二次打开报错问题解决
- 她说要介绍10000个开源项目?来!一起监督他!
- 广域网协议:PPP协议和HDLC协议—Vecloud微云
- 动态规划 dp02 最长非降子序列问题 c代码
- 【干货】浅谈分布式数据库中间件之分库分表
- java的数据类型如下所示
- springboot2.2.9源码搭建
- 山西计算机应用基本技能,计算机应用基本技能 山西省对口高考题库
- Qt——P27 QListWidget控件
- Asp.net网站的ClickOnce自动部署(3)-虚拟目录的配置
- 机器学习问题的十个实例
- php-5.6 安装部署整理
- Web前端 学习知识点总结(十二)jQuery进阶 表单验证和简单正则表达式
- C++ 中 _T 含义及用途
- maven不同环境引用不同版本的jar包依赖
- 读取excel数据 画k线 成交量图
- nginx启动、停止、重启命令
- 热用图片怎么表示简笔画,网络简笔画图片大全
- SAP采购申请审批策略配置
热门文章
- 在Python中使用Twitter Rest API批量搜索和下载推文
- 大数据ab 测试_在真实数据上进行AB测试应用程序
- 5930. 两栋颜色不同且距离最远的房子
- 551. 学生出勤记录
- leetcode 485. 最大连续1的个数
- leetcode 1370. 上升下降字符串
- leetcode剑指 Offer 53 - II. 0~n-1中缺失的数字(二分查找)
- slack通知本地服务器_通过构建自己的Slack App学习无服务器
- 两个链接合并_如何找到两个链接列表的合并点
- Angular 星级评分组件