WebUSB API调用claimInterface失败:接口0用silabser驱动而非WinUSB
解决WebUSB claimInterface失败:接口使用silabser而非WinUSB驱动的问题
问题核心是WebUSB API要求目标接口必须使用WinUSB驱动,而你的设备接口0当前被Silicon Labs的串口驱动(silabser)占用,导致无法完成接口声明。以下是可行的解决步骤:
用Zadig工具替换驱动:
- 运行Zadig工具,在顶部选项中勾选「List All Devices」,显示所有已连接的USB设备
- 在设备列表中找到你的目标USB设备,确认对应接口为0
- 将右侧驱动下拉菜单切换为「WinUSB」,点击「Replace Driver」完成驱动替换
提示:替换前确保设备处于连接状态,且无其他程序占用该设备
验证驱动替换结果:
- 打开设备管理器,找到你的USB设备,右键选择「属性」→「详细信息」
- 在属性下拉菜单中选择「驱动程序信息」,确认驱动文件为
winusb.sys - 重启浏览器的WebUSB应用,再次尝试调用
claimInterface(0)
若替换后问题依旧:
- 检查是否有串口调试工具或其他程序正在占用该设备接口,关闭后重试
- 彻底卸载原silabser驱动:在设备管理器中右键设备,选择「卸载设备」,勾选「删除此设备的驱动程序软件」,重启系统后再用Zadig重新安装WinUSB
内容的提问来源于stack exchange,提问作者AleksiiKyryk
相关产品推荐
相关产品推荐

