我正在尝试在 linux 下将串行设备与 Webusb 连接。
我已经能够列出设备并打开它,但我无法声明接口。Chrome 抱怨设备很忙,为了解决这个问题,我需要取消注册 CDC-ACM 驱动程序。
有没有办法防止 CDC-ACM 驱动程序加载设备,而无需更改 destkop?也许我可以更改 USB 描述符?
我正在尝试在 linux 下将串行设备与 Webusb 连接。
我已经能够列出设备并打开它,但我无法声明接口。Chrome 抱怨设备很忙,为了解决这个问题,我需要取消注册 CDC-ACM 驱动程序。
有没有办法防止 CDC-ACM 驱动程序加载设备,而无需更改 destkop?也许我可以更改 USB 描述符?
如果您可以更改设备描述符,则修改 CDC-ACM 接口报告的协议、类和子类,以便将其标记为特定于供应商 (0xff)。CDC-ACM 驱动程序将不再识别接口并绑定到它。
为了完整起见,如果您可以对桌面进行更改,那么您可以将 USB 串行驱动程序完全列入黑名单,/etc/modprobe.d/blacklist
或者您可以编写一个专门为该设备运行的 udev 规则(识别为总线路径或供应商和产品 ID)并执行脚本解除绑定驱动程序。