当前位置: 代码迷 >> 驱动开发 >> 一个手机两个PID解决方法
  详细解决方案

一个手机两个PID解决方法

热度:52   发布时间:2016-04-28 10:31:13.0
一个手机两个PID
最近在搞驱动安装,想根据手机的VID和PID去安装相应驱动程序,但是在实施 的过程中却发现了如下的情况:

1.插入华为U8500安装驱动后,在注册表中中发现了很多项,其中有HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB\VID_12D1&PID_1031和HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB\VID_12D1&PID_1035。



又搞了个中兴的设备没装驱动,插入是设备管理器提示一个新设备,他的PID和安装了驱动以后的其他的硬件借点的PID也是不一样的。


注意这里有两个PID,难道一个设备还有产生两个PID吗?哪位高手回答一下?

------解决方案--------------------
用USBView看一下设备的描述付。

有些USB设备再枚举过程中会动态切换设备的VID/PID,这样可以支持不同的工作模式,加载不同的驱动程序,实现不同的应用。
------解决方案--------------------
一种PID对应一种设备组合,比如刚开始的时候是个虚拟光盘,是PID A,然后装完驱动以后,就不是虚拟光盘了,变成了MODEM+串口,这时就变成了PID B。

本质上是因为手机用一个USB组合设备再分成了多个虚拟设备,一种组合就对应一个PID,否则OS无法管理。
  相关解决方案