USB-3.x-Kamera unter Windows: xHCI-Controller wiederherstellen
Was kann dazu führen, dass eine USB 3.x-Kamera unter Windows nicht mehr erreichbar ist?
Eine USB 3.x-Kamera kann nicht mehr erreichbar sein, wenn der USB-Hostcontroller oder sein Treiber-Stack in einen unerwarteten Zustand gerät. Je nach Systemkonfiguration reicht es dann möglicherweise nicht aus, die Kamera-Anwendung neu zu starten oder die Kamera erneut anzuschließen.
In solchen Fällen kann ein Neustart des betroffenen USB 3.x-xHCI-Hostcontrollers helfen, die USB-Verbindung wiederherzustellen - ohne den gesamten PC neu zu starten.
Kann ich eine USB 3.x-Kamera unter Windows wieder verbinden, ohne Windows neu zu starten?
In bestimmten Fällen ja. Windows bietet Mechanismen, um USB-Geräte und Hostcontroller neu zu starten oder zu initialisieren, ohne das Betriebssystem neu zu starten.
Bei bestimmten Problemen mit der Kameraverbindung kann ein Neustart des betroffenen xHCI-Controllers die USB-Kommunikation wiederherstellen und der Kamera-Anwendung ermöglichen, die Verbindung erneut aufzubauen.
Die Wirksamkeit hängt jedoch von der verwendeten Hardware, der Windows-Version, dem Treiber-Stack und der Art des Fehlers ab.
Was ist ein xHCI-Hostcontroller?
Ein xHCI-Hostcontroller ist die Hardwarekomponente, die unter anderem die USB 3.x-Kommunikation zwischen dem PC und angeschlossenen USB-Geräten verwaltet - beispielsweise USB 3.0- und USB 3.1-Kameras.
Wenn der Controller in einen Fehlerzustand gerät, können mehrere angeschlossene USB-Geräte betroffen sein, nicht nur die Kamera.
Wie kann ich einen xHCI-Controller unter Windows wiederherstellen?
Windows enthält das Dienstprogramm PnPUtil, mit dem sich Plug-and-Play-Geräte neu starten, deaktivieren und aktivieren lassen.
Ein typischer Wiederherstellungsablauf ist:
-
Den IC4 GenTL U3V Service stoppen.
-
Den betroffenen xHCI-Controller neu starten oder deaktivieren und anschließend wieder aktivieren.
-
Den IC4 GenTL U3V Service wieder starten.
-
Die Kamera-Anwendung und die Bildaufnahme erneut initialisieren.
Die genauen Befehle und den vollständigen Ablauf beschreibt unsere Application Note:
AppNotes_Recovering a USB 3.x xHCI Host Controller on Windows_en_US.pdf
Warum sollte ich den IC4 GenTL U3V Service stoppen, bevor ich den Controller neu starte?
Praktische Tests haben gezeigt, dass die Wiederherstellung des xHCI-Controllers möglicherweise nicht erfolgreich ist, solange der IC4 GenTL U3V Service noch läuft.
Durch das vorherige Stoppen des Dienstes wird sichergestellt, dass der Kameratreiber-Dienst den USB-Stack während des Neustarts oder der Deaktivierung des Controllers nicht mehr aktiv verwendet.
Nach der Controller-Wiederherstellung kann der Dienst wieder gestartet und die Kamera-Aufnahme erneut initialisiert werden.
Setzt ein Neustart des xHCI-Controllers den gesamten PC zurück?
Nein. Ein Neustart des xHCI-Controllers dient dazu, den betroffenen USB-Hostcontroller über die Windows-Plug-and-Play-Infrastruktur neu zu initialisieren.
Windows selbst wird dabei nicht neu gestartet. USB-Geräte, die über diesen Controller verbunden sind, können jedoch vorübergehend getrennt werden und müssen möglicherweise erneut erkannt und initialisiert werden.
Behebt ein Neustart des xHCI-Controllers jedes Problem mit einer USB-Kamera?
Nein. Ein Neustart des xHCI-Controllers ist eine mögliche Wiederherstellungsmaßnahme, aber keine garantierte Lösung für jedes USB-Kameraproblem.
Die Wirksamkeit hängt von der zugrunde liegenden Ursache ab. Wenn sich die Controller-Hardware selbst in einem schwerwiegenden oder nicht wiederherstellbaren Zustand befindet, reicht ein PnP-Neustart möglicherweise nicht aus. In solchen Fällen können weitere Maßnahmen, einschließlich eines Neustarts des Systems, erforderlich sein.
Kann ich die Wiederherstellung einer USB-Kamera in meiner Anwendung automatisieren?
Ja. Der Wiederherstellungsablauf lässt sich in eine Windows-Anwendung oder einen Dienst integrieren.
Eine Anwendung kann beispielsweise einen Fehler in der Kamerakommunikation erkennen, den IC4 GenTL U3V Service stoppen, den betroffenen xHCI-Controller neu starten, den Dienst wieder starten und anschließend die Kamera-Aufnahme erneut initialisieren.
Für eine direkte Integration in eine native Anwendung bietet Windows außerdem die SetupAPI, mit der sich Geräte-Zustandsänderungen programmatisch umsetzen lassen.
Weitere Informationen finden Sie in unserer Application Note:
AppNotes_Recovering a USB 3.x xHCI Host Controller on Windows_en_US.pdf
Was kann ich tun, wenn meine USB-3.x-Kamera weiterhin nicht erkannt wird?
Wenn der Neustart des xHCI-Controllers die Kameraverbindung nicht wiederherstellt, können folgende Schritte helfen:
-
Prüfen, ob die Kamera im Windows-Geräte-Manager erkannt wird.
-
Prüfen, ob auch andere USB-Geräte betroffen sind, die am selben Controller angeschlossen sind.
-
Einen anderen USB-Anschluss oder, sofern vorhanden, einen anderen USB-Controller testen.
-
USB-Kabel, Stromversorgung und Systemkonfiguration überprüfen.
-
Windows-Geräte- und Systemprotokolle auf USB-bezogene Fehler prüfen.
-
Die Kamera an einem anderen System testen, um die Fehlerursache einzugrenzen.
Eine ausführliche Wiederherstellungsprozedur und weitere Hinweise finden Sie in der Application Note.