我正在玩一台热感打印机,与WebUSB一起工作。
这里是最小的故障演示(请注意此演示可能会显示您连接的usb设备)
我能选择(任何)设备。但无法给device.open()
打电话。
document.getElementById("print-button-usb").addEventListener("click", () => {
console.log('clicked');
navigator.usb.requestDevice({ filters: [] })
.then(device => {
console.log('device paired', device);
console.log(device.vendorId, typeof device.vendorId);
return device;
})
.then(device => device.open()) // Error here <<-------------------------------------!
.catch(err => console.error("my err", err));
})
不仅是那台打印机,而且我无法打开任何连接显示的设备。能指出我在这里遗漏了什么吗?
环境详情:
我一直在遵循这个指南:https://web.dev/usb
更新:(调试信息)我的chrome://device写着:Failed to open /dev/bus/usb/001/005: Permission denied (13)
。我试着禁止这个节点:
$ cat /dev/bus/usb/001/005
@V �2 �@@%
$ pwd
/dev/bus/usb/001
$ ls -l
total 0
crw-rw-r-- 1 root root 189, 0 Nov 30 23:13 001
crw-rw-r-- 1 root root 189, 1 Nov 30 23:13 002
crw-rw-r-- 1 root root 189, 2 Nov 30 23:13 003
crw-rw-r-- 1 root root 189, 3 Nov 30 23:13 004
crw-rw-r-- 1 root lp 189, 4 Dec 1 00:07 005
在上面的图片中,
我试图通过usb连接我的手机,并试图配对-我能够对它。
在这个列表中,"Pixel 3“设备是我唯一能够成功连接的设备。所有其他人都返回“拒绝访问”错误。
发布于 2022-12-01 07:58:54
同样的问题在这里使用FTDI设备。我能够get
设备,但我不能open
它与完全相同的错误。顺便说一下,我用的是windows 10。通过使用WinUsb
将驱动程序从FTDI自定义驱动程序改为扎迪格驱动程序,解决了问题。
注意:这样做后,该设备无法被以前的.NET
应用程序使用,并且只能由浏览器访问。
https://stackoverflow.com/questions/74612160
复制相似问题