【问题标题】:WebUSB can not claim device on some android devicesWebUSB 无法在某些 android 设备上声明设备
【发布时间】:2021-03-26 07:39:12
【问题描述】:

我有一个 PWA 在支持它的设备(基于 Chromium 的桌面浏览器)上使用 Web Serial,在所有其他设备(基本上是 Android)上我尝试通过 web serial polyfill 回退到 Web USB。

这适用于大多数设备,但在某些(至少一个)Android 设备上,我无法认领该设备:

NetworkError: Unable to claim interface.

有趣的是,原生应用可以毫无问题地声明该设备。 有问题的设备是运行 Android 8 的三星 Galaxy A5。

我检查了chrome://device-log/ 那里的一切看起来都很好:

[20:49:05] USB device added: id=1005 vendor=1155 "Betaflight", product=22336 "Betaflight STM32F411", serial="0x8000000", guid=9fa08f79-df5e-45bd-b757-c32ab1065bf9
[20:42:42] USB device removed: id=1004 guid=175af943-14ed-4591-a85b-b916a3a5584e
[20:40:42] USB device added: id=1004 vendor=1155 "Betaflight", product=22336 "Betaflight STM32F411", serial="0x8000000", guid=175af943-14ed-4591-a85b-b916a3a5584e

然后我用这个工具检查了https://larsgk.github.io/webusb-tester/,它确认有两个接口并且它们都没有被声明:

2: Betaflight STM32F411 - VID: 0x0483, PID: 0x5740, S/N: 0x8000000
Interface 0 claimed: false
Interface 1 claimed: false

不幸的是,或者幸运的是,我找不到任何其他发生这种情况的设备,但由于它发生在一个设备上,它会发生在其他设备上。

我不完全确定发生了什么,特别是因为本机应用程序可以认领设备。

我能找到的唯一相关问题是 id this one - 从我所见,如果我理解正确的话,似乎并没有真正的解决方案。

有什么方法可以查看 Android 设备的声明? 我可以做些什么来强制在 Android 上声明设备?

【问题讨论】:

    标签: webusb


    【解决方案1】:

    我相信这是 that issue 的副本,并且自动分离 Android 上的驱动程序(由 Chromium issue 1099521 跟踪)将解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-20
      • 2014-10-17
      • 2017-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多