首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么时候应该使用WebHID而不是WebUSB?

什么时候应该使用WebHID而不是WebUSB?
EN

Stack Overflow用户
提问于 2021-07-11 18:39:09
回答 2查看 342关注 0票数 0

我有一个专有的USB设备,它具有USB闪存功能。我想从浏览器中复制这种闪烁功能,但我不确定要使用什么API。

访问chrome://usb-internals/检查我的设备会给我提供以下信息:

这款设备宣传自己的类别代码是8:海量存储。设备没有显示在我的文件系统中,例如,它不是一个普通的USB挂盘。根据this StackOverflow answer的说法,由于安全原因,WebUSB被阻止访问大容量存储设备,我应该使用WebHID。

然而,使用WebHID仍然不允许我连接到我的设备。这是我使用的示例代码:

代码语言:javascript
运行
复制
const filter = [
  {
    vendorId: 0xabcd, // correct VID:PID obtained via lsusb
    productId: 0x1234
  }
];

const [device] = await navigator.hid.requestDevice({ filter });

此外,访问chrome://device-log/使USB和HID设备之间有了明显的区别。例如,当我插入鼠标时,Chrome设备日志显示连接了USB HID设备。当我插入USB驱动器时,调试日志中有两行:一个HID设备,一个大容量存储设备。当我插入我的专有驱动器时,我得到一行: USB大容量存储设备。

我如何才能说服WebHID连接到我专有的大容量存储设备?

EN

Stack Overflow用户

发布于 2021-07-11 23:00:02

如果没有重大的改变是不可能的:

USB mss存储使用批量端点,HID通过控制和中断端点传输。

您可以在单个USB设备(带有IAD)上同时实现大容量存储和HID,但是HID的引导加载程序代码看起来与大容量存储的代码有很大的不同。

USB挂盘通常不支持HID,除非有LED或按钮存在。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68335417

复制
相关文章

相似问题

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