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

WSL下用OpenCV调用USB摄像头遇select() timeout及usb未实现错误

问题:WSL2中usbipd_win+UVC内核编译后OpenCV调用摄像头超时

错误现象

OpenCV运行时抛出超时警告:

[ WARN:0@30.423] global cap_v4l.cpp:1119 tryIoctl VIDEOIO(V4L2:/dev/video0): select() timeout.

dmesg日志输出

usb usb1: Not yet implemented
usb usb1: Not yet implemented
... repeated "Not yet implemented" and "callbacks suppressed lines"
usb usb1: Not yet implemented
usb usb1: Not yet implemented
usb usb1: Not yet implemented
usb usb1: Not yet implemented
usb usb1: Not yet implemented
vhci_hcd: unlink->seqnum 26060
vhci_hcd: the urb (seqnum 26060) was already given back
vhci_hcd: unlink->seqnum 26065
vhci_hcd: the urb (seqnum 26065) was already given back
uvcvideo 1-1:1.1: Failed to resubmit video URB (-1).
vhci_hcd: unlink->seqnum 26067
vhci_hcd: the urb (seqnum 26067) was already given back
vhci_hcd: unlink->seqnum 26071
vhci_hcd: the urb (seqnum 26071) was already given back
vhci_hcd: unlink->seqnum 26073
vhci_hcd: the urb (seqnum 26073) was already given back

系统信息

uname -a输出:

Linux LAPTOP-0KQUO0A2 5.15.83.1-microsoft-standard-WSL2+ #1 SMP ...

解决步骤

  1. 校验内核UVC补丁兼容性
    你当前使用的5.15.83内核可能存在usbip/vhci与UVC的适配问题,建议切换到WSL2官方最新稳定内核(或5.15.x后续版本),重新编译时确保以下配置项正确启用:

    • CONFIG_USBIP_VHCI_HCD
    • CONFIG_USB_VIDEO_CLASS及所有依赖子选项
      注意补丁必须与内核版本严格匹配,避免因版本不兼容出现Not yet implemented报错。
  2. 重置usbipd设备连接

    • 以管理员权限打开Windows命令行,执行:
      usbipd wsl unbind --busid <你的摄像头总线ID>
      usbipd wsl bind --busid <你的摄像头总线ID>
      
    • 重启WSL2:wsl --shutdown,重新进入后再测试摄像头。
  3. 强制指定OpenCV摄像头参数
    在代码中手动设置分辨率、帧率,避免自动协商失败:

    import cv2
    cap = cv2.VideoCapture(0)
    cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
    cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
    cap.set(cv2.CAP_PROP_FPS, 30)
    

    也可先用V4L2工具验证摄像头可用性:

    v4l2-ctl --list-formats-ext
    v4l2-ctl --set-fmt-video=width=640,height=480,pixelformat=YUYV --stream-mmap --stream-count=10
    
  4. 更换内核版本解决vhci驱动bug
    如果urb already given back报错持续存在,说明当前内核的vhci_hcd驱动存在URB处理逻辑缺陷,建议升级到5.19或6.x系列的WSL2内核,这类版本对usbip的兼容性更好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 06:30:47