使用navigator.usb.requestDevice
获取对连接设备的访问权限后,我尝试按如下方式打开与连接设备的连接:
device.open()
.then(() => device.selectConfiguration(1))
.then(() => device.claimInterface(1))
它似乎成功地选择了配置,但claimInterface
步骤将产生以下错误:
DOMException: Unable to claim interface.
我在Ubuntu 16.10上运行Chrome 55.0.2883.75测试版,其中--disable-webusb-security
标志为root(没有我没有获得任何设备)。
如何启动并运行连接?
编辑:
似乎cdc_acm驱动程序已声明接口,因为我尝试连接的设备是串行设备,卸载驱动程序将允许您声明设备(但是在此之后它抱怨接口1不可用,如以及0或2)。
答案 0 :(得分:1)
选择配置后,您可以在device.configuration.interfaces[0].interfaceNumber
中找到正确的接口编号:
device.open()
.then(() => device.selectConfiguration(1))
.then(() => device.claimInterface(device.configuration.interfaces[0].interfaceNumber))