首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WebUSB: device.open()在任何设备上导致“未能在‘USBDevice’上执行‘打开’:访问被拒绝”

WebUSB: device.open()在任何设备上导致“未能在‘USBDevice’上执行‘打开’:访问被拒绝”
EN

Stack Overflow用户
提问于 2022-11-29 09:55:47
回答 1查看 70关注 0票数 1

我正在玩一台热感打印机,与WebUSB一起工作。

这里是最小的故障演示(请注意此演示可能会显示您连接的usb设备)

我能选择(任何)设备。但无法给device.open()打电话。

代码语言:javascript
运行
复制
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));
})

不仅是那台打印机,而且我无法打开任何连接显示的设备。能指出我在这里遗漏了什么吗?

环境详情:

  • Ubuntu 22.04.1
  • Chrome版本107.0.5304.121

我一直在遵循这个指南:https://web.dev/usb

更新:(调试信息)我的chrome://device写着:Failed to open /dev/bus/usb/001/005: Permission denied (13)。我试着禁止这个节点:

代码语言:javascript
运行
复制
$ 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

在上面的图片中,

  • Integrated_Webcam_HD:笔记本电脑相机
  • KT USB音频:我的耳机通过usb-c连接。
  • CB-GK-16萤火虫:附加键盘
  • USB便携式打印机:我正在玩的热打印机

我试图通过usb连接我的手机,并试图配对-我能够对它。

在这个列表中,"Pixel 3“设备是我唯一能够成功连接的设备。所有其他人都返回“拒绝访问”错误。

EN

回答 1

Stack Overflow用户

发布于 2022-12-01 07:58:54

同样的问题在这里使用FTDI设备。我能够get设备,但我不能open它与完全相同的错误。顺便说一下,我用的是windows 10。通过使用WinUsb将驱动程序从FTDI自定义驱动程序改为扎迪格驱动程序,解决了问题。

注意:这样做后,该设备无法被以前的.NET应用程序使用,并且只能由浏览器访问。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74612160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档