Linux 비디오 캡처가 cam3에서 작동하지 않거나 cam1에서 이미지 캡처가 실패합니다.

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.

정보:

[399.544408] uvcvideo: UVC 1.00 장치 USB2.0 카메라 발견(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] 입력: /devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4.4/1-4.4:1.0/input/input33용 USB2.0 카메라 [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))

하드웨어 사양: VID:PID가 다른 N2600 Aveo 기술 카메라 3개 모델

이 문제를 해결하려면 지침이 필요합니다.

답변1

발견하다:

3.16 커널이 포함된 N2600: (Quirk 0x80 포함/제외)

카메라당 대역폭은 328Mb입니다. 제 경우 총 할당 대역폭은 656(카메라 2대 기준)이고 USB 컨트롤러의 최대 대역폭은 800입니다. 그래서 세 번째 카메라를 넣을 공간이 없었습니다.

N2600 커널은 2.6.32입니다.

마찬가지로 세 번째 카메라가 작동하지 않습니다. 각 카메라에 할당된 메모리는 320Mb입니다.

2.6.32 커널과 Quirk 0x80을 갖춘 N2600

uvcvideo에 이상한 점을 적용하면 메모리 할당이 320Mb에서 128Mb로 크게 줄어들고 3개의 카메라가 모두 예상대로 작동합니다.

해결책:

이것이 매우 정확한 해결책인지는 확실하지 않습니다. 그러나 나는 아직도 감사하고 싶다.스튜어트(SwDevRefugee)문제 해결을 도와주시고 이 문제를 해결하기 위한 몇 가지 제안을 제공해 주세요.

새 커널의 uvc_fixup_video_ctrl()에 다음 줄이 있습니다.대역폭 = max_t(u32, 대역폭, 1024);그리고 오래된 것은 사라졌습니다. 내 UVC 드라이버에 주석을 달고 다시 컴파일한 후 이제 사용합니다.쿼크 0x80메모리 할당이 328Mb에서 128Mb로 줄어들었고 시스템이 제대로 작동합니다. 여러 대의 카메라를 사용하는 사람들에게는 도움이 될 수 있지만

관련 정보