【问题标题】:WebUSB Access denied because of cdc_acm由于 cdc_acm,WebUSB 访问被拒绝
【发布时间】:2020-07-16 13:37:10
【问题描述】:

我已经使用 WebUSB 访问了一个秤并收到了我要求的输出(也就是重量)。它可以在 Windows 上完美运行,但我想将它部署在 ASUS ChromeBox 上。我已经设置了一个 udev- 规则并从 cdc_acm 驱动程序中取消绑定设备。问题是每次我重新连接设备时,cdc_acm 都会再次声明接口。

我可以/应该做什么?

【问题讨论】:

    标签: javascript google-chrome webusb


    【解决方案1】:

    WebUSB 目前不支持在 Linux 上分离内核驱动程序,但正在考虑中:https://bugs.chromium.org/p/chromium/issues/detail?id=1099521

    您可以将cdc_acm 添加到/etc/modprobe.d/blacklist.conf 的内核模块黑名单中,以防止其加载。或者,您可以考虑使用 Web Serial API 与 CDC ACM 驱动程序而不是 WebUSB 进行交互。

    【讨论】:

    • 感谢您的快速回复。我试图将 ChromeBox 上的驱动程序列入黑名单,但它一直在加载。在 Ubuntu 上,它可以工作。你有什么建议吗?
    • 在 Chrome OS 设备上,有一个串行设备列表,当 Chrome 请求时,驱动程序会自动分离。不支持通过修改系统配置(在开发人员模式下)来阻止驱动程序。使用串行 API 是我推荐的解决方案。
    • @ReillyGrant 如何使用串行 API 获取设备信息?
    • getInfo() 方法具有设备属性(目前只有 VID/PID)。
    • @ReillyGrant 如何调用getInfo() 方法?
    猜你喜欢
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    • 1970-01-01
    相关资源
    最近更新 更多