完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
我有一个直接基于 libusb(用于闪存设备)和 libuvc(用于从 CX3 设备抓取图像)的工作 linux 库。 我正试图将同样的功能移植到 Windows 上。 但即使是枚举设备,似乎也会出现设备无法打开的问题。
当处于引导加载器模式(VID = 0x04b4 PID = 0x00f3)时,我收到LIBUSB_ERROR_NOT_SUPPORTED 错误;当设备处于 MIPI 模式(VID=0x04b4 PID = 0x00c3)时,我收到LIBUSB_ERROR_NOT_FOUND 错误。 以下是设备处于 MIPI 模式时的日志。 问候 Athreya ``` [ 0.030676] [000048c8] libusb:调试 [winusb_get_device_list] 发现会话 [57] 的现有设备。 [ 0.030752] [000048c8] libusb: debug [init_device] found 1 configurations (current config: 1) for device 'USBVID_04B4&PID_00C35&C5FC33B&0&13' [ 0.030811] [000048c8] libusb:调试 [cache_config_descriptors] 缓存配置描述符 0 (bConfigurationValue=1,218 字节) [ 0.030867] [000048c8] libusb: debug [init_device] (bus: 2, addr: 8, depth: 1, port: 13):'usbvid_04b4&pid_00c35&c5fc33b&0&13' [ 0.030946] [000048c8] libusb: debug [winusb_get_device_list] ENUM pass HID {4D1E55B2-F16F-11CF-88CB-001111000030} [ 0.031021] [000048c8] libusb: debug [winusb_get_device_list] ENUM processing HIDVID_8087&PID_0AC26&2973554D&0&0000 [ 0.031087] [000048c8] libusb: debug [winusb_get_device_list] unlisted ancestor for 'HIDVID_8087&PID_0AC26&2973554D&0&0000'(非 USB HID、新连接等)--忽略。 [ 0.031204] [000048c8] libusb: debug [winusb_get_device_list] ENUM processing HIDDLL09D9&COL015&2A906C22&0&0000 [ 0.031271] [000048c8] libusb: debug [winusb_get_device_list] unlisted ancestor for 'HIDDLL09D9&COL015&2A906C22&0&0000'(非 USB HID,新连接等) - 忽略 [ 0.031372] [000048c8] libusb: debug [winusb_get_device_list] ENUM processing HIDINTC8163&36043C54&0&0000 [ 0.031433] [000048c8] libusb: debug [winusb_get_device_list] unlisted ancestor for 'HIDINTC8163&36043C54&0&0000'(非 USB HID,新连接等) - 忽略 [ 0.031498] [000048c8] libusb: debug [winusb_get_device_list] ENUM processing HIDCONVERTEDDEVICE&COL025&2204AA2D&0&0001 [ 0.031563] [000048c8] libusb: debug [winusb_get_device_list] unlisted ancestor for 'HIDCONVERTEDDEVICE&COL025&2204AA2D&0&0001'(非 USB HID、新连接等) - 忽略 [ 0.031629] [000048c8] libusb: debug [winusb_get_device_list] ENUM processing HIDCONVERTEDDEVICE&COL035&2204AA2D&0&0002 [ 0.031693] [000048c8] libusb: debug [winusb_get_device_list] unlisted ancestor for 'HIDCONVERTEDDEVICE&COL035&2204AA2D&0&0002' (非 USB HID、新连接等) - 忽略 [ 0.031759] [000048c8] libusb: debug [winusb_get_device_list] ENUM processing HIDDLL09D9&COL025&2A906C22&0&0001 [ 0.031823] [000048c8] libusb: debug [winusb_get_device_list] unlisted ancestor for 'HIDDLL09D9&COL025&2A906C22&0&0001'(非 USB HID、新连接等) - 忽略 [ 0.031888] [000048c8] libusb: debug [winusb_get_device_list] ENUM processing HIDDLL09D9&COL035&2A906C22&0&0002 [ 0.031951] [000048c8] libusb: debug [winusb_get_device_list] unlisted ancestor for 'HIDDLL09D9&COL�35&2A906C22&0&0002'(非 USB HID、新连接等) - 忽略 [ 0.032017] [000048c8] libusb: debug [winusb_get_device_list] ENUM processing HIDCONVERTEDDEVICE&COL015&2204AA2D&0&0000 [ 0.032081] [000048c8] libusb: debug [winusb_get_device_list] unlisted ancestor for 'HIDCONVERTEDDEVICE&COL015&2204AA2D&0&0000'(非 USB HID、新连接等) - 忽略 [ 0.032149] [000048c8] libusb: debug [winusb_get_device_list] ENUM processing HIDDLL09D9&COL045&2A906C22&0&0003 [ 0.032215] [000048c8] libusb: debug [winusb_get_device_list] unlisted ancestor for 'HIDDLL09D9&COL�45&2A906C22&0&0003'(非 USB HID、新连接等) - 忽略 [ 0.032468] [000048c8] libusb:调试[libusb_get_device_descriptor] [ 0.032520] [000048c8] libusb:调试[libusb_get_device_descriptor] [ 0.032572] [000048c8] libusb:调试[libusb_get_device_descriptor] [ 0.032623] [000048c8] libusb:调试[libusb_get_device_descriptor] [ 0.032674] [000048c8] libusb:调试[libusb_get_device_descriptor] [ 0.032724] [000048c8] libusb:调试[libusb_get_device_descriptor] [ 0.032776] [000048c8] libusb:调试 [libusb_open] 打开 2.8 [ 0.032934] [000048c8] libusb:调试 [winusb_open] APIB 句柄 = 复合 API [ 0.032991] [000048c8] libusb: debug [libusb_open] open 2.8 returns -5 [ 0.033044] [000048c8] libusb: debug [libusb_unref_device] destroy device 2.3 [ 0.033100] [000048c8] libusb: debug [libusb_unref_device] destroy device 2.2 [ 0.033173] [000048c8] libusb: debug [libusb_unref_device] destroy device 2.1 [ 0.033223] [000048c8] libusb: debug [libusb_unref_device] destroy device 1.0 [ 0.033271] [000048c8] libusb: debug [libusb_unref_device] destroy device 2.8 [ 0.033318] [000048c8] libusb: debug [libusb_unref_device] destroy device 2.0 ``` |
|
相关推荐
1个回答
|
|
|
根据你描述的问题,将基于 libusb/uvc 的 Linux 库移植到 Windows 时遇到的设备枚举和访问错误,很可能是由以下原因引起的。以下是详细的解决方案指南: 1. Windows USB 驱动问题在 Windows 上使用 libusb 时,需要为设备安装特定的驱动程序(如 WinUSB 或 libusb-win32),而 Linux 内核原生支持 USB 设备驱动。你需要: 步骤 1:安装 Zadig 工具
步骤 2:验证驱动安装
2. 权限问题Windows 对 USB 设备的访问权限比 Linux 严格,需确保: 步骤 1:以管理员权限运行程序
步骤 2:配置设备接口权限
3. 设备模式切换问题CX3 设备的 Bootloader 模式和 MIPI 模式可能需要不同的处理逻辑: 步骤 1:检查设备模式
步骤 2:固件兼容性
4. Libusb 初始化代码问题Windows 和 Linux 的 libusb 初始化可能有细微差异: 步骤 1:启用 libusb 调试日志在代码中启用详细日志输出: 步骤 2:检查上下文初始化确保使用 步骤 3:声明接口在打开设备后声明接口: 5. 错误代码分析
6. 附加建议
总结步骤
如果仍有问题,请提供完整的调试日志和设备描述符信息以进一步分析。 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2353 浏览 0 评论
1425 浏览 0 评论
1874 浏览 0 评论
CYUSB3014烧录失败Cypress Benicia USB Boot Device
7868 浏览 1 评论
11294 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 18:44 , Processed in 0.827476 second(s), Total 75, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
658