모션을 사용할 때 두 개의 USB2 웹캠 사이에 "교차"가 발생하는 이유는 무엇입니까?

모션을 사용할 때 두 개의 USB2 웹캠 사이에 "교차"가 발생하는 이유는 무엇입니까?

나는 사용하고있다스포츠Linux 패키지는 두 개의 Microsoft LifeCam HD-5000 웹캠을 갖춘 보안 시스템 역할을 합니다. 전반적으로 잘 작동하지만 이상한 문제가 발생했습니다. 때때로 한 캠의 피드는 아래 이미지(빨간색으로 강조 표시됨)와 같이 스캔 막대에 다른 캠의 "누화" 또는 "교차"를 표시합니다.

뭐하세요?

보시다시피 이미지는 내부 카메라와 외부 카메라에서 공급되는 이미지가 혼합된 것입니다. 나는 믿는다이 글은 Motion의 위키에서 발췌한 것입니다.동일한 문제가 설명되고 있지만 다음 외에는 해결 방법이 없습니다.

1개 이상의 USB 카메라가 필요한 경우 컴퓨터에 추가 USB PCI 카드를 추가하세요.

그러나 이것은 USB 1.1이고 이들은 USB 2.0 카메라입니다. 또한 시스템에는 두 개의 UCB 카드가 있고 카메라는 두 개의 서로 다른 USB 버스에 연결되어 있다고 생각합니다.

root@chef:~# lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
        |__ Port 2: Dev 3, If 0, Class=stor., Driver=usbfs, 480M
        |__ Port 3: Dev 4, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
        |__ Port 3: Dev 4, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
        |__ Port 3: Dev 4, If 2, Class=audio, Driver=snd-usb-audio, 480M
        |__ Port 3: Dev 4, If 3, Class=audio, Driver=snd-usb-audio, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
        |__ Port 2: Dev 3, If 0, Class=HID, Driver=usbhid, 12M
        |__ Port 3: Dev 4, If 0, Class=HID, Driver=usbhid, 1.5M
        |__ Port 4: Dev 5, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
        |__ Port 4: Dev 5, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
        |__ Port 4: Dev 5, If 2, Class=audio, Driver=snd-usb-audio, 480M
        |__ Port 4: Dev 5, If 3, Class=audio, Driver=snd-usb-audio, 480M
root@chef:~# lspci
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 12)
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 12)
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a6)
00:1f.0 ISA bridge: Intel Corporation 5 Series Chipset LPC Interface Controller (rev 06)
00:1f.2 IDE interface: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA IDE Controller (rev 06)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
02:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57788 Gigabit Ethernet PCIe (rev 01)

그래서 내 질문은 다음과 같습니다

  1. 그러한 교차의 원인이 무엇인지 아는 사람이 있습니까?
  2. 다른 문제 해결 제안 사항이 있습니까?
  3. Motion 개발자에게 지원을 요청해야 할 것 같습니다. 그렇게 하기 전에 그들이 제안한 대로 카메라를 두 개의 다른 PCI 카드에 실제로 연결하고 있는지 누군가 확인할 수 있습니까?

답변1

첫 번째 점의 경우:USB1.1은 USB2.0보다 훨씬 느립니다.,대부분의 경우. 장치는 더 빠른 480Mbps 대신 12Mbps의 낮은 1.1 속도로 계속 연결할 수 있지만 이는 일반적으로 포트가 더 낮은 속도를 자동 협상하거나 두 장치 중 하나가 실제로 1.1이기 때문에 발생합니다. 이 문제가 발생하면 연결을 끊었다가 다시 연결해 보고 둘 다 2.0이고 운영 체제가 2.0을 지원하는지 확인하세요. (일반적인 조언이죠?) ~~아무튼 그래서 새 카드를 추천하는군요. 이를 통해 각 개별 카메라의 전체 USB1.1 속도를 사용할 수 있습니다.PCI 버스USB1.1보다 훨씬 빠릅니다. 하지만 2.0에서는 그럴 필요가 없습니다. [죽은 말 채찍질, 다음 주제로]

이제 귀하의 장치에만 독점적으로 적용됩니다. 가장 표면적으로 보면 Core i5, 즉 Intel 5/3400 시리즈 PCH 및 82801 PCI 브리지가 있습니다. (참고: Dell Core i5를 보유하고 있음이 확인되었습니다.) 이 특정 PCH도 코드명입니다.아이벡스 피크. (내가 아는 한) 더 이상 별도의 사우스브리지가 없으므로 이전에 존재하지 않았던 새로운 동작을 받아들일 수도 있습니다. 통합 칩셋은 이제 USB를 DMA에 훨씬 더 가깝게 처리하므로 문제는 5/3400 칩셋에 있거나 드라이버에 있을 것으로 예상됩니다. 둘 다 테스트하기 쉽지만 초기 자본 지출이 필요하므로 좋지 않습니다.

다음은 카메라나 드라이버가 아니라 칩셋이라고 생각하는 것입니다.Intel PCH의 알려진 문제(앞뒤로 클릭하는 것을 방지하기 위해 지금 인용하겠습니다.

  • 대량 및 제어 트래픽으로 인해 USB 포트가 중단됨(Errata 7 및 Microsoft KB982091)1)
  • 가짜 USB 포트는 첫 번째 EHCI 컨트롤러에 6개의 USB 포트(3420, H55)가 장착된 데스크톱 PC에서 감지됩니다. ACPI S4로 진입한 후 AC 전원을 제거하면 이러한 현상이 발생할 수 있습니다. AC 전원을 다시 추가하고 S4에서 복구하면 USB 장치가 감지되지 않거나 제대로 작동하지 않을 수도 있습니다(Errata 12).
  • 첫 번째 EHCI 컨트롤러에 6개의 USB 포트(HM55)가 장착된 모바일 PC에서 가짜 USB 포트가 감지됩니다. ACPI S4 진입 후 AC 전원과 배터리를 제거하면 이런 현상이 발생할 수 있습니다. AC 전원이나 배터리를 추가하고 S4에서 복원하면 USB 장치가 감지되지 않거나 제대로 작동하지 않을 수도 있습니다(Errata 13).

이로 인해 새 PCI 카드를 추가하면 특정 USB 컨트롤러 로직의 부하가 제거되어 성능이 향상될 것이라고 믿게 됩니다. 하지만 테스트로 두 카메라를 동일한 USB 허브로 이동해 보십시오(마더보드의 스태킹 슬롯을 일치시키는 것만으로도 충분합니다). 동일한 문제가 나타나는지 확인하세요. USD/Peso는 이렇게 하면 똑같은 문제에 직면하게 될 것이라고 말합니다.

그러나 이것은 Linux의 UVC 드라이버 문제일 가능성이 더 높다고 생각합니다. 일반적으로 하드웨어 관련 문제보다는 동일한 컨트롤러(예: 귀하의 컨트롤러)에서 여러 대의 카메라를 처리합니다. 나는 특정 비트를 해결하기 위해 먼저 하드웨어부터 시작해야겠다고 생각했습니다(오작동이 전적으로 가능하기 때문에). 다음은 관련 URL입니다.

좋아요, 지금은 잡담이 충분합니다. 댓글에 답글을 달까요?


요약: USB PCI 카드를 구해 카메라를 장착하세요.

관련 정보