USB-Gerät trennen, ohne es aus- und wieder anzuschließen

USB-Gerät trennen, ohne es aus- und wieder anzuschließen

Ich habe ein IRTOY von dangerousprototypes gekauft. Ich führe es unter Windows 7 x64 mit WinLirc 0.9c aus. Aber manchmal bleibt das Gerät plötzlich hängen und ich muss es entfernen und erneut anschließen, damit es wieder funktioniert. Das Deaktivieren und Aktivieren des COM-Ports im Gerätemanager führt häufig zu einer Fehlermeldung von Windows, die besagt, dass das Gerät nicht aktiviert werden konnte.

Es sieht also nach einem Hardwareproblem im Zusammenhang mit dem IRTOY aus. Jetzt suche ich nach einem Gerät, um die Stromzufuhr über USB zu unterbrechen. Es sollte in der Lage sein, die Stromzufuhr zum Gerät aus der Ferne zu unterbrechen. Es sollte tatsächlich eine physische Entfernung des Geräts vom USB-Anschluss simulieren, wie ein Relais mit männlichen und weiblichen USB-Anschlüssen.

Gibt es eine Lösung für dieses Problem?

Antwort1

Offenbar hat das IRTOY einen Fehler und muss komplett neugestartet werden, und das Ausschalten ist die einzige Möglichkeit, dies zu tun. Schlecht.

Eine Lösung zum Umschalten der VBUS-Stromversorgung per Software wäre die Verwendung eines USB-Hubs mit umschaltbaren Port-Stromversorgungsreglern (diese sind normalerweise schwer zu finden, aber immer noch einfacher als ein PC-Mainboard mit Port-Stromversorgungsreglern). Dann sollten Sie ClearPortFeature(PORT_POWER) an den Port mit angeschlossenem IRTOY und dann SetPortFeature(PORT_POWER) senden können.

Wie das genau vom Anwendungsbereich aus funktioniert, weiß ich nicht genau, aber der kostenlose USB Device Tree Viewer (vonUwe Sieber) können den VBUS-Port mit der Popup-Option „Gerät neu starten“ aus- und wieder einschalten. Bedenken Sie, dass an einem USB-Port normalerweise ein großer Kondensator angeschlossen ist, sodass es einige Zeit dauern kann, bis der VBUS entladen ist. Die Befehle „Clear“ und „Set“ müssen also zeitlich richtig auseinander liegen. Leider erledigt USBTreeView dies zu schnell. Alternativ können Sie den gesamten Hub neu starten. Es dauert lange genug, um den VBUS an den nachgeschalteten Ports auszuschalten.

Wenn Uwe seinen Quellcode nicht geöffnet hat, müssen Sie zuMicrosoft SDKfür den Hauptquellcode von USBView und finden Sie heraus, wie Sie die Befehle zum Deaktivieren/Aktivieren des Ports an den Treiber senden.

verwandte Informationen