【问题标题】:USB idproduct and idvendorUSB idproduct 和 idvendor
【发布时间】:2017-12-18 16:14:42
【问题描述】:

我对 USB 接口非常陌生,我正在尝试为 WINCE 2013 设备构建应用程序。在我的设备中,一个供应商(假设为“X”)的 VID 和 PID 用于 USB 大容量存储设备类。

现在,我有特定的用例,通信应该建立在 USB rndis 类上。出于此通信目的,我们按原样使用微软通用 rndis 驱动程序(不是自定义驱动程序)。那么,我是否也可以将 X 的 VID 和 PID(我现在用于 MASS STORAGE 类)用于 Rndis 类,或者需要再次购买一个新的。我知道我可以在开发阶段使用任何 VID 和 PID,但我需要 VID 和 PID 用于生产设备。

或者我可以通过仅更改设备的序列号来使用与 Microsoft 通用 rndis 驱动程序兼容的 Microsoft VID、PID 和兼容 id?

请提前建议和感谢! :-)

(如果查询太模糊而无法理解,请告诉我。)

【问题讨论】:

  • 如果 RNDIS 驱动程序类似于 Microsoft 的 usbser.sys 驱动程序,它不会根据 USB 供应商 ID 或产品 ID 区分设备。您的设备应使用您自己的供应商 ID,而不是 Microsoft 的。您可能必须提供一个 INF 文件来告诉 Windows 为您的设备使用哪个驱动程序。您应该真正测试您的固件/驱动程序/软件设置是否可以正常工作,而不是依赖 StackOverflow 的答案;你没有可以测试的机器吗?

标签: usb registry windows-embedded-compact rndis


【解决方案1】:

很难找到明确的答案,但也许我们可以通过 Microsoft MVP(强调我的)从 this post 推断:

(...) 你不必再更改 MS 的 VID/PID 您使用 USB RNDIS 使用 ActiveSync

这是来自官方的回复 微软在这个主题上(正如一位 MVP 所问的关于客户端的问题) 谁有同样的问题):

问题:他们应该使用 Microsoft PIDVID 还是自己创建?如果 他们创建自己的,这意味着修改当前的 .inf 文件和 因此这意味着驱动程序将未签名,因此可能不会 能够安装。过去,Microsoft PIDVID 会发出警告 不要使用这个。现在在 6.0 中不会出现警告。

答案:答案与 Windows Mobile 完全相同:对于 ActiveSync 用法,是的,您可以为您的场景使用 Microsoft 的 VID 和 PID。

这是对文档的更改,该文档说要获取您自己的 PID & 视频。与示例注册表文件所说的相反,OEM 应该发货 该设备使用 Microsoft 的 VID 和 PID 用于 USB-Serial ActiveSync 客户端。 最新的 OEM 文档证实了这一点 (...)

现在,由于您没有特别提及 ActiveSync,我的理解是上述内容可能适用于您的用例,这再次意味着您必须使用自己的 VID 和 PID。

如果您已经拥有一个 VID/PID 组合,我也看不出将它与 RNDIS 一起使用有任何(法律)问题。毕竟它是同一个设备,USB 主机会加载两个不同类(非自定义)驱动程序之一来与设备通信。

但是,如果您使用自己的 VID/PID,您将不得不

  1. 向最终用户提供包含您的自定义 VID/PID 的签名 INF 文件,或
  2. 指导用户在您的设备首次连接到 PC 时手动选择 RNDIS 驱动程序

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-12
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 2013-01-27
    • 2020-04-20
    • 2014-12-04
    • 1970-01-01
    相关资源
    最近更新 更多