5台USB摄像头在Ubuntu系统中持续断开连接的问题求助
5台USB摄像头在Ubuntu系统中持续断开连接的问题求助
大家好,我正在推进一个需要同时连接并持续运行5台USB摄像头的项目,但遇到了头疼的问题:这些摄像头总会在运行30分钟后陆续断开,还伴随一系列错误代码。我已经尝试过更换电脑、更新BIOS,但在Ubuntu 18.04、20.04和22.04系统里这个问题都反复出现。目前我使用的是Ubuntu 20.04主机,现在唯一能恢复连接的办法就是手动拔插USB线,这不仅耗时还完全不是长久之计。
出现的错误信息
应用端报错
Corrupt JPEG data: premature end of data segment [ WARN:0@27.903] global cap_v4l.cpp:872 requestBuffers VIDEOIO(V4L2:/dev/v4l/by-path/pci-0000:08:00.3-usb-0:3:1.0-video-index0): failed VIDIOC_REQBUFS: errno=19 (No such device) Corrupt JPEG data: 82 extraneous bytes before marker 0xd6 Corrupt JPEG data: 35 extraneous bytes before marker 0xd7 [ WARN:0@47.734] global loadsave.cpp:248 findDecoder imread_('/dev/v4l/by-path/pci-0000:02:00.0-usb-0:1:1.0-video-index0'): can't open/read file: check file path/integrity
系统日志(截取相关片段)
-- Logs begin at Mon 2023-07-03 22:14:38 EDT, end at Sun 2023-07-09 20:33:16 EDT. -- Jul 09 20:23:35 kc-B550I-AORUS-PRO-AX code.desktop[21380]: [main 2023-07-10T00:23:35.230Z] update#setState checking for updates Jul 09 20:23:35 kc-B550I-AORUS-PRO-AX code.desktop[21380]: [main 2023-07-10T00:23:35.235Z] update#setState available for download Jul 09 20:24:01 kc-B550I-AORUS-PRO-AX kernel: usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd Jul 09 20:24:06 kc-B550I-AORUS-PRO-AX kernel: usb 2-1: device descriptor read/8, error -110 Jul 09 20:24:07 kc-B550I-AORUS-PRO-AX kernel: usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd Jul 09 20:24:12 kc-B550I-AORUS-PRO-AX kernel: usb 2-1: device descriptor read/8, error -110 Jul 09 20:24:12 kc-B550I-AORUS-PRO-AX kernel: usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd Jul 09 20:24:17 kc-B550I-AORUS-PRO-AX kernel: usb 2-1: device descriptor read/8, error -110 Jul 09 20:24:17 kc-B550I-AORUS-PRO-AX kernel: usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd Jul 09 20:24:23 kc-B550I-AORUS-PRO-AX kernel: usb 2-1: device descriptor read/8, error -110 Jul 09 20:24:23 kc-B550I-AORUS-PRO-AX kernel: usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd Jul 09 20:24:28 kc-B550I-AORUS-PRO-AX kernel: usb 2-1: device descriptor read/8, error -110 Jul 09 20:24:28 kc-B550I-AORUS-PRO-AX kernel: usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd Jul 09 20:24:33 kc-B550I-AORUS-PRO-AX kernel: usb 2-1: device descriptor read/8, error -110 Jul 09 20:24:34 kc-B550I-AORUS-PRO-AX kernel: usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd Jul 09 20:24:39 kc-B550I-AORUS-PRO-AX kernel: usb 2-1: device descriptor read/8, error -110 Jul 09 20:24:39 kc-B550I-AORUS-PRO-AX kernel: usb 2-1: reset SuperSpeed USB device number 2 using xhci_hcd Jul 09 20:24:42 kc-B550I-AORUS-PRO-AX kernel: xhci_hcd 0000:08:00.3: WARN Event TRB for slot 3 ep 2 with no TDs queued? Jul 09 20:24:42 kc-B550I-AORUS-PRO-AX kernel: uvcvideo 6-3:1.1: Failed to resubmit video URB (-19). Jul 09 20:24:42 kc-B550I-AORUS-PRO-AX kernel: uvcvideo 6-3:1.1: Failed to resubmit video URB (-19). Jul 09 20:24:42 kc-B550I-AORUS-PRO-AX kernel: uvcvideo 6-3:1.1: Failed to resubmit video URB (-19). Jul 09 20:24:42 kc-B550I-AORUS-PRO-AX kernel: uvcvideo 6-3:1.1: Failed to resubmit video URB (-19). Jul 09 20:24:42 kc-B550I-AORUS-PRO-AX kernel: uvcvideo 6-3:1.1: Failed to resubmit video URB (-19). Jul 09 20:24:42 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (II) config/udev: removing device 3.0 USB Camera: 3.0 USB Camera Jul 09 20:24:42 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (**) Option "fd" "48" Jul 09 20:24:42 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (II) event18 - 3.0 USB Camera: 3.0 USB Camera: device removed Jul 09 20:24:42 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (II) UnloadModule: "libinput" Jul 09 20:24:42 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (II) systemd-logind: releasing fd for 13:82 Jul 09 20:24:42 kc-B550I-AORUS-PRO-AX kernel: usb 6-3: reset SuperSpeed USB device number 4 using xhci_hcd Jul 09 20:24:42 kc-B550I-AORUS-PRO-AX kernel: usb 6-3: Found UVC 1.00 device 3.0 USB Camera (15aa:1555) Jul 09 20:24:42 kc-B550I-AORUS-PRO-AX kernel: input: 3.0 USB Camera: 3.0 USB Camera as /devices/pci0000:00/0000:00:08.1/0000:08:00.3/usb6/6-3/6-3:1.0/input/input182 Jul 09 20:24:43 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (II) config/udev: Adding input device 3.0 USB Camera: 3.0 USB Camera (/dev/input/event18) Jul 09 20:24:43 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (**) 3.0 USB Camera: 3.0 USB Camera: Applying InputClass "libinput keyboard catchall" Jul 09 20:24:43 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (II) Using input driver 'libinput' for '3.0 USB Camera: 3.0 USB Camera' Jul 09 20:24:43 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (II) systemd-logind: got fd for /dev/input/event18 13:82 fd 85 paused 0 Jul 09 20:24:43 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (**) 3.0 USB Camera: 3.0 USB Camera: always reports core events Jul 09 20:24:43 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (**) Option "Device" "/dev/input/event18" Jul 09 20:24:43 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (**) Option "_source" "server/udev" Jul 09 20:24:43 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (II) event18 - 3.0 USB Camera: 3.0 USB Camera: is tagged by udev as: Keyboard Jul 09 20:24:43 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (II) event18 - 3.0 USB Camera: 3.0 USB Camera: device is a keyboard Jul 09 20:24:43 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (II) event18 - 3.0 USB Camera: 3.0 USB Camera: device removed Jul 09 20:24:43 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:08.1/0000:08:00.3/usb6/6-3/6-3:1.0/input/input182/" Jul 09 20:24:43 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (II) XINPUT: Adding extended input device "3.0 USB Camera: 3.0 USB Camera" (type: KEYBOARD, id 8) Jul 09 20:24:43 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (**) Option "xkb_model" "pc105" Jul 09 20:24:43 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (**) Option "xkb_layout" "us" Jul 09 20:24:43 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (WW) Option "xkb_variant" requires a string value Jul 09 20:24:43 kc-B550I-AORUS-PRO-AX /usr/lib/gdm3/gdm-x-session[1436]: (WW) Option "xkb_options" requires a string value
有没有朋友遇到过类似的问题?或者能给我一些排查方向?比如是不是USB供电不足?还是内核驱动的问题?有没有什么办法能让摄像头稳定运行,不用反复拔插?
备注:内容来源于stack exchange,提问作者Kevin Cespedes




