Linux-видеозахват не работает cam3 или захват изображения в cam1 не работает

Я пытаюсь решить какое-то решение или время выполнения.

Проблема: после подключения третьей камеры видеозахват Linux не работает cam3 или сбой изображения в cam1 не удался.

История: Вначале мы разработали систему наблюдения. Система состоит из 2 камер.

1. Video capture (Using Motion) 2. Image capture(Using V4L) We added one more camera to the system, which is causing the mess currently. 3. Video capture (Using Motion) We notice either a video capture or image capture does not work in the system. various forums, suggested for adding quirk=128 in conf, even that idd not work out. 

dmesg:

[399.544408] uvcvideo: обнаружено устройство UVC 1.00 USB2.0 Camera (1871: 2097)

[399.544429] uvcvideo: Принудительное приведение устройства к 0x80 по параметру модуля для целей тестирования.

[399.544441] uvcvideo: сообщите о необходимых ошибках в список рассылки linux-uvc-devel.

[399.547449] вход: USB2.0 Камера как /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0/input/input32

[399.668599] uvcvideo: обнаружено устройство UVC 1.00 USB2.0 Камера (1871: 0501)

[399.668613] uvcvideo: Принудительное приведение устройства к 0x80 по параметру модуля для целей тестирования.

[399.668618] uvcvideo: сообщите о необходимых причудах в список рассылки linux-uvc-devel.

[399.671360] Вход: USB2.0 Камера как /devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4.4/1-4.4:1.0/input/input33 [399.732317] uvcvideo: найдено Устройство UVC 1.00 USB2.0 Камера (1871: 0f01)

[399.732328] uvcvideo: Принуждение устройства к 0x80 по параметру модуля для целей тестирования.

[399.732334] uvcvideo: сообщите о необходимых ошибках в список рассылки linux-uvc-devel.

[399.735996] вход: USB2.0 Камера как /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/input/input34

Пробовал получать информацию V4L2_BUF_TYPE_VIDEO_CAPTURE для получателей: все перечисленные камеры (YUV 4: 2: 2 (YUYV))

HW Spec: N2600 Aveo технологии камеры 3 модели с разным VID: PID

Мне нужно руководствоваться этой проблемой.

Поиск:

N2600 с ядром 3.16: (оба с / без Quirk 0x80)

Полоса пропускания на камеру составляла 328 Мб. В моем случае общая выделенная полоса пропускания составляла 656 (для 2 камер), а максимальная пропускная способность для USB-контроллера – 800. Таким образом, для моей третьей камеры не было свободного места.

N2600 с ядром 2.6.32

Та же самая моя третья камера не работала, и распределение памяти на камеру было 320 Мб

N2600 с ядром 2.6.32 с Quirk 0x80

При применении quirk к uvcvideo распределение памяти резко сократилось с 320 до 128 Мб, и все 3 камеры работали, как ожидалось.

Решение :

Я не очень уверен, что это очень правильное решение. Тем не менее, я хотел бы поблагодарить Stuart (SwDevRefugee) за помощь в устранении неполадок и предоставление некоторых указателей для решения этой проблемы.

Эта строка находится в uvc_fixup_video_ctrl () в новой пропускной способности ядра = max_t (u32, bandwidth, 1024); и отсутствует в старой. Прокомментировал и перекомпилировал мой драйвер UVC, и теперь с приходом 0x80 объем памяти сократился до 128 Мб от 328, и моя система работает. Rhough это может быть полезно для кого-то с несколькими камерами