USB的VID和PID
Posted andy连长
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了USB的VID和PID相关的知识,希望对你有一定的参考价值。
USB的VID和PID
1.USB定义,VID是什么,PID是什么,他们有什么用?
USB(Universal Serial BUS,通用串行总线);
VID(Vender ID供应商识别码)和PID(Product ID产品识别码);
每一个USB设备都有VID和PID,PID/VID唯一标识一个设备,HardwareID是为了给系统识别的 ,他是根据PID/VID而生成的。
VID是由供应商向USB-IF(Implementers Forum 应用者论坛)申请。每一个供应商的VID是唯一。
PID是由供应商自行决定;
主机通过VID和PID来识别不同的设备,根据他们(以及设备的版本号),可以给设备加载或安装相应的驱动程序。
这个与序列号没什么关系,序列号一般都是厂家固化到芯片中的信息而已。GUID只是为了标志你安装的设备是属于一个什么类当中,这个类可以显示再设备管理器中。
比如:你可以定义一个类,当然这个类有与系统中任何类都不同的GUID,然后选择一个图标和类名,就可以同网卡等其他设备一起显示在设备管理器下的根目录中了。
根据USB规范的规定,所有的USB设备都有供应商ID(VID)和产品识别码(PID),主机通过不同的VID和PID来区别不同的设备,VID和PID都是两个字节长,其中,供应商ID(VID)由供应商向USB执行论坛申请,每个供应商的VID是唯一的,PID由供应商自行决定,理论上来说,不同的产品、相同产品的不同型号、相同型号的不同设计的产品最好采用不同的PID,以便区别相同厂家的不同设备。
由于VID和PID重复并不会对产品的使用带来严重影响,很多USB设备生产商(山寨厂居多)为了方便,并不会向USB执行论坛申请自己的VID,而是依然沿用主控生产商的VID或随便向产品写入VID和PID;同时,正规厂家只需要申请VID,PID由厂家自行确定,所以存在相同型号的产品,可能采用了不同的主控(商业需要,很正常),而他们的PID是一样的,基于上述原因通过VID和PID就不能准确识别USB设备的主控型号,这个问题大家在使用USB设备的过程中需要注意。
VID和PID有两种存储方式
第一种是主控制生厂商的VID和PID,存储在主控的bootcode中;
第二种是设备生厂商的VID和PID,该VID和PID存储在主控外的非易失存储设备中(EEPROM或Flash)的设备固件中;
当USB设备连接主机时,如果固件中有设备生产商的VID和PID报告给主机,而是忽略主控生产商的VID和PID;
理论上一个USB存储设备的VID是设备生厂商的VID,而不是主控生厂商的VID,这两个VID应该是不同的(主控生厂商自己生产的设备除外);
常见供应商的VID和PID
厂商 | VID | 厂商 | VID | 厂商 | VID | 厂商 | VID | 厂商 | VID |
---|---|---|---|---|---|---|---|---|---|
MTK | 0e8d | Qualcomm | 05c6 | 18d1 | Huawei | 12d1 | HTC | 0bb4 | |
Acer | 0502 | ASUS | 0b05 | Dell | 413c | Foxconn | 0489 | Fujitsu | 04c5 |
Garmin-Asus | 091e | Haier | 201E | Intel | 8087 | K-Touch | 24e3 | KT Tech | 2116 |
Hisense | 109b | Fujitsu Toshiba | 04c5 | Kyocera | 0482 | Lenovo | 17ef | LG | 1004 |
Motorola | 22b8 | NEC | 0409 | Nook | 2080 | Nvidia | 0955 | OTGV | 2257 |
Pantech | 10a9 | Pegatron | 1d4d | Philips | 0471 | PMC-Sierra | 04da | SK Telesys | 1f53 |
Samsung | 04e8 | Sharp | 04dd | Sony | 054c | Sony Ericsson | 0fce | Sony Mobile Communications | 0fce |
Teleepoch | 2340 | Toshiba | 0930 | ZTE | 19d2 |
备注:
列表仅仅列了一些比较常用的,如果找不到你想要的,可以参照附录的链接进行查找,总能找到你想要的。
附录
List of USB Devices
USB Devices【点我】
List of USB IDs
USB IDs【点我】
以上是关于USB的VID和PID的主要内容,如果未能解决你的问题,请参考以下文章
USB的VID和PID,以及分类(Class,SubClass,Protocol)