You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用libusbp初始化通用接口失败问题求助

解决libusbp初始化navX2-micro接口失败问题

问题根源

你碰到的三个错误核心是设备驱动不匹配:

  • usbser是USB串口驱动(这也是PuTTY能读取COM口内容的原因),但libusbp需要直接访问原始USB接口,不兼容串口驱动
  • usbccgp是USB复合设备父驱动,说明设备被识别为复合设备,但未绑定libusbp支持的驱动
  • 「Could not find interface 0」大概率是驱动未切换导致接口识别错误

分步解决方案

1. 切换设备驱动为WinUSB

libusbp依赖WinUSB驱动来访问原始USB接口,必须替换当前的串口驱动:

  • 打开设备管理器,找到navX2-micro设备(可能在「端口(COM&LPT)」或「通用串行总线设备」分类下)
  • 右键设备 → 属性 → 驱动程序 → 更新驱动程序 → 浏览我的计算机以查找驱动程序软件
  • 选择「让我从计算机上的可用驱动程序列表中选取」
  • 选中「WinUSB设备」完成安装

2. 确认正确的设备接口编号

驱动切换后,重新确认设备的接口序号:

  • 回到设备管理器,找到已切换为WinUSB的navX2-micro设备(现在会在「通用串行总线设备」下)
  • 右键 → 属性 → 详细信息 → 属性下拉选择「设备实例路径」,复制该路径
  • 使用libusbp的list_connected_devices重新扫描,确认设备对应的接口编号,替换代码中的接口参数

3. 调整代码适配设备

参照示例代码时,需要针对navX2-micro做两处修改:

  • 确保代码中指定了正确的VID和PID(navX2-micro的VID为0x1FFB,PID为0x0030)
  • 如果接口编号不是0,初始化generic_interface时传入正确序号,比如:
    libusbp::generic_interface interface(device, 1); // 替换为实际接口号
    

4. 验证驱动切换结果

驱动替换完成后,PuTTY将无法再通过原COM口访问设备——这是正常现象,说明设备已切换为原始USB模式,此时libusbp应该能正常初始化接口。


内容的提问来源于stack exchange,提问作者sadintern234

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 11:20:04