【问题标题】:Multiple Driver for USB DeviceUSB设备的多个驱动程序
【发布时间】:2010-03-09 16:14:38
【问题描述】:

USB 设备是否可以支持多个驱动程序?我想支持我自己的专有驱动程序,但也想支持 CCID 作为第二选择。插入设备后,用户可以选择使用哪一个。要使用的驱动程序取决于 USB 描述符的内容,对吧?如果是这样,是否可以表明两个驱动程序都受支持?支持两个驱动程序的想法可行吗?

【问题讨论】:

  • 这是操作系统行为,而不是设备选择。您甚至不能假设操作系统需要驱动程序作为设备。例如。 BIOS 可以直接访问 USB 键盘或磁盘,无需任何驱动程序。

标签: usb device-driver


【解决方案1】:

在 Windows 上,有两个受支持的驱动程序是可能的。事实上,要获得 Microsoft Logo 认证,USB 设备必须支持此功能。 (需求CONNECT-0123

但是,您描述的 UI 行为并非由 Microsoft 提供。驱动程序选择是自动的。

您的 USB 设备可以指示它支持两个接口。在这种情况下,两个驱动程序都会被加载。

【讨论】:

    【解决方案2】:

    我确信设备不可能同时使用两个驱动程序,但是设备可以使用一种类类型和驱动程序进行枚举,然后在其运行期间响应某些命令设备的 USB 或操作,以便它断开连接,然后使用第二个驱动程序重新枚举为不同类型的设备。

    例如,我正在开发的产品通常枚举为 CDC(串行端口仿真),但是当我需要重新加载代码时,它会重新枚举为不同的设备类型并使用芯片供应商提供的驱动程序来执行代码下载。完成此操作后,设备将再次将自身重新枚举为 CDC 设备类型并恢复其串行端口仿真。

    因此,您需要提供一个“命令”接口来触发两种操作模式之间的转换,并确保主机上安装了两个驱动程序,为模式切换做好准备。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-18
      • 1970-01-01
      • 2019-03-14
      • 1970-01-01
      • 1970-01-01
      • 2016-05-26
      • 1970-01-01
      相关资源
      最近更新 更多