根据USB规范的规定,所有的USB设备都有供应商ID(VID)和产品识别码(PID),主机通过不同的VID和PID来区别不同的设备。

  VID和PID都是两个字节长,其中,供应商ID(VID)由供应商向USB执行论坛申请,每个供应商的VID是唯一的,PID由供应商自行决定,理论上来说,不同的产品、相同产品的不同型号、相同型号的不同设计的产品最好采用不同的PID,以便区别相同厂家的不同设备。
  量产吧了解到VID和PID在通常情况下有两种存储方式,第一种是主控生产商的VID和PID,存储在主控的bootcode中;第二种是设备生产商的VID和PID,该VID和PID存储在主控外部的非易失性存储设备中(EEPROM或Flash)的设备固件中。当USB设备连接主机时,如果固件中有设备生产商的VID和PID,会将该VID和PID报告给主机,而忽略主控生产商的VID和PID。所以理论上一个USB存储设备的VID应该是设备生产商的VID,而不是主控生产商的VID,这两个VID应该是不同的(主控生产商自己生产的设备除外)。
  由于VID和PID重复并不会对产品的使用带来严重影响,很多USB设备生产商(山寨厂居多)为了方便,并不会向USB执行论坛申请自己的VID,而是依然沿用主控生产商的VID或随便向产品写入VID和PID;同时,正规厂家只需要申请VID,PID由厂家自行确定,所以存在相同型号的产品,可能采用了不同的主控(商业需要,很正常),而他们的PID是一样的。基于上述原因,通过VID和PID就不能准确识别USB设备的主控型号,量产吧提醒大家在使用USB设备的过程中需要注意这个问题。
  相关阅读:什么是U盘的VID和PID

最新文章

  1. ZOJ Problem Set - 1383 Binary Numbers
  2. php之验证码小程序
  3. python selenium与自动化
  4. linux RPM、YUM
  5. java中string内存的相关知识点
  6. Ubuntu 14 修改默认打开方式
  7. sql server 还原数据库时提示数据库正在使用,无法进行操作的解决方法
  8. AndroidStudio debug
  9. 汉字转拼音的vc++程序源代码
  10. ASP.NET上传文件的三种基本方法
  11. USACO The Tamworth Two 模拟
  12. mysql 数据库插入语句之insert into,replace into ,insert ignore
  13. 解决了IE8不支持数组的indexOf方法
  14. java 表现层:jsp、freemarker、velocity
  15. CollapsingToolbarLayoutDemo【可折叠式标题栏,顺便带有CardView卡片式布局】
  16. 实训任务02:Hadoop基础操作
  17. Windows Community Toolkit 3.0 - UniformGrid
  18. python之路--内置函数03
  19. 单机器搭建 zk 集群
  20. SQL Server 2017数据库服务和SSMS图形化工具的的安装

热门文章

  1. Kibana server is not ready yet出现的原因
  2. easyUI解析原理
  3. celery开发中踩的坑
  4. 初探css-18 尺寸
  5. CentOS 7.6 下载和安装
  6. 线段树优化建图 || CF786B Legacy
  7. 【BZOJ1999】树网的核
  8. php基于websocket实现的在线聊天室
  9. Shiro(二)
  10. left semi join VS left join