Ich verwende das Motion- Paket für Linux, um als Sicherheitssystem mit zwei Microsoft LifeCam HD-5000-Webcams zu fungieren. Im Allgemeinen funktioniert es sehr gut, aber ich habe ein seltsames Problem. Hin und wieder zeigt der Vorschub von einer Nocke "Übersprechen" oder "Überkreuzen" von der anderen Nocke in geschwungenen Balken, die in diesem Bild am besten beschrieben sind (rot hervorgehoben):
Wie Sie sehen können, ist das Bild ein gemischtes Durcheinander der Innen- und Außenkamera-Feeds. Ich glaube, dieser Artikel aus dem Wiki von Motion beschreibt dasselbe Problem, aber es gibt dort keine Lösung:
Wenn Sie mehr als eine USB-Kamera benötigen, fügen Sie Ihrem Computer zusätzliche USB-PCI-Karten hinzu
Es handelt sich jedoch um USB 1.1, und dies sind USB 2.0-Kameras. Ich glaube auch, dass dieses System zwei UCB-Karten hat und dass die Kameras an zwei verschiedene USB-Busse angeschlossen sind:
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)
Meine Fragen sind also:
- Weiß jemand, was eine solche Frequenzweiche verursachen könnte?
- Weitere Vorschläge zur Fehlerbehebung?
- Ich vermute, ich muss die Entwickler von Motion um Unterstützung bitten. Kann also jemand bestätigen, dass ich die Kameras wie vorgeschlagen an zwei verschiedene PCI-Karten angeschlossen habe?
quelle
Antworten:
Zum ersten Punkt: USB1.1 war unter den meisten Umständen viel langsamer als USB2.0. Beachten Sie, dass Geräte immer noch eine Verbindung mit der niedrigeren Geschwindigkeit von 1,1 Mbit / s anstelle der schnelleren 480 Mbit / s herstellen können. In der Regel liegt dies jedoch entweder daran, dass der Port automatisch niedrig verhandelt, oder daran, dass eines der beiden Geräte tatsächlich 1,1 ist. Versuchen Sie, die Verbindung zu trennen und erneut herzustellen, wenn dies auftritt und Sie sicher sind, dass beide 2.0 sind und Ihr Betriebssystem 2.0 unterstützt. (allgemeiner Rat, ja?) ~~ Aus diesem Grund haben sie eine neue Karte empfohlen. Damit können Sie die volle USB1.1-Geschwindigkeit pro Kamera nutzen, da der PCI-Bus viel schneller als USB1.1 ist. Aber mit 2.0 ist das nicht nötig. [totes Pferd ausgepeitscht, weiter zum nächsten Thema]
Jetzt speziell auf Ihr Gerät. Sie haben einen Core i5 nach den meisten angeblichen Maßstäben, nämlich: PCH der Intel 5/3400 Serie und 82801 PCI Bridge. (Randnotiz: bestätigt, dass er einen Dell Core i5 hat) Dieser spezielle PCH trägt auch den Codenamen Ibex Peak . Sie haben keine unabhängige Southbridge mehr (so wie ich es verstehe), also sind Sie möglicherweise offen für neues Verhalten, das es vorher nicht gab. Der integrierte Chipsatz handhabt den USB jetzt viel näher am DMA, daher gehe ich davon aus, dass das Problem entweder beim 5/3400-Chipsatz oder beim Treiber liegt. Beide sind einfach zu testen, erfordern aber einen anfänglichen Kapitalaufwand, so dass das scheiße ist.
Hier sind meine Überlegungen, warum ich denke, dass es sich um den Chipsatz und nicht um die Kameras oder Treiber handelt: Es sind Probleme mit dem Intel PCH bekannt (ich werde jetzt zitieren, um hin und her zu sparen, indem ich auf Folgendes klicke:
Dies lässt mich glauben, dass das Hinzufügen einer neuen PCI-Karte die Leistung verbessert, indem die jeweilige USB-Controller-Logik entlastet wird. Versuchen Sie jedoch als Test, beide Kameras auf denselben USB-Hub zu verschieben (passende gestapelte Steckplätze auf dem Motherboard sollten ausreichen) und Überprüfen Sie, ob sie das gleiche Problem aufweisen. Dollar zu Pesos sagt, dass Sie genau das gleiche Problem haben, wenn Sie dies tun.
Ich denke jedoch, dass es bei Linux-Treibern unter Linux im Allgemeinen wahrscheinlicher ist, dass mehrere Kameras von demselben Controller (wie Ihrem) verwaltet werden und nicht spezifisch für die Hardware. Ich dachte nur, ich würde zuerst mit der Hardware beginnen, um dieses bestimmte Bit zu adressieren (da es durchaus möglich ist, dass es ein Fehler ist). Hier ist eine Reihe verwandter URLs:
Ok, das ist genug für jetzt. Kommentare beantworten?
tl; dr: Besorgen Sie sich eine USB-PCI-Karte und setzen Sie dort eine Kamera ein.
quelle
lsusb
betrifft , bin ich mir fast sicher, dass die Geräte mit voller 2.0-Geschwindigkeit angeschlossen sind, weil "480M" steht, das ist USB2.0-Geschwindigkeit, oder?lspci
zwei USB-Karten undlsusb
zwei USB-Busse aufgelistet sind, sind sie wirklich alle nur eine?