我正在使用Google Chrome中的webusb API尝试将设备连接到浏览器。它与webserial API一起工作,但我在让它与webusb API一起工作时遇到了麻烦。
1.我正在使用HTTPS(Github页面)
1.我为浏览器启用了#new-usb-backend
1.我可以打开设备并选择配置,但是device.claimInterface(0)不工作(并且我可以确认0是一个接口号)。
1.这款设备拥有的两个接口似乎都没有声明
我在查看chrome://device-log
时得到的错误是Failed to claim interface: Access denied (insufficient permissions)
我不知道接下来该怎么办。我将感激一些帮助。
谢谢大家。
3条答案
按热度按时间yeotifhr1#
device.claimInterface(% 1)工作。我听说mac会自动声明接口。也许第一个接口被声明了,尽管API另有说明。无论如何,第二个界面的某些功能在第一个界面中没有工作。
t40tm48m2#
该错误消息表示存在已声明接口的现有驱动程序,或者(仅限Windows)WinUSB驱动程序尚未连接到接口,以便使浏览器等应用程序能够声明它。在Windows上,您可以使用Zadig工具强制Windows更改用于USB设备的驱动程序。
如果可以使用Web Serial API打开设备,则表明操作系统已经加载了设备的串行驱动程序,因此它已要求至少一些设备的接口。
为什么,如果Web Serial API可以连接到您的设备,您却要尝试使用WebUSB API连接到它?您现在使用的操作系统是否不提供与设备兼容的USB串行驱动程序?
brqmpdu13#
如果你已经安装了adb,在终端运行
adb kill-server
可能有效。