Windows USB ausschalten

Windows USB ausschalten

Ich habe ein Gerät, das über einen COM-Port kommuniziert und über den USB-Port mit Strom versorgt wird. Mein Problem ist, dass beim Neustart des PCs zwar die Stromversorgung erhalten bleibt, aber die Kommunikation mit dem COM-Port unterbrochen wird. Die einzige Möglichkeit zum Neustart besteht darin, das USB-Kabel zu entfernen und wieder einzustecken.

Ich entwickle eine Delphi-Anwendung, die die USB-Stromversorgung abschaltet. Ich habe versucht, devcon dafür zu verwenden:

devcon.exe disable *ID*
devcon.exe enable *ID*
devcon.exe restarts *ID*

Allerdings wird dadurch nur die Kommunikation mit dem COM-Port gestoppt. Die USB-Stromversorgung bleibt erhalten.

Gibt es eine Möglichkeit, den USB-Anschluss auszuschalten, sodass sich auch das Gerät ausschaltet?

Jeder Tipp ist sehr hilfreich.

Antwort1

Bei den meisten PCs verfügt die USB-VBUS-Stromversorgung an den ROOT-Ports über keine High-Side-Hardwareschalter zur Steuerung von VBUS. Daher gibt es keine Möglichkeit, VBUS per Software ein- und auszuschalten. VBUS ist fast direkt mit der Stromversorgung des Systems verbunden, mit der +5VSB-Schiene (Standby), sodass VBUS auch dann erhalten bleibt, wenn der PC ausgeschaltet ist. Dies wird so gemacht, damit eine Tastatur oder Maus den PC wecken kann. (Laptops sind etwas anders, es kommt darauf an.) Daher haben Sie drei Möglichkeiten:

(1) Verwenden Sie einen guten (zertifizierten und teuren) Hub mit Ports, die High-Side-Schalter haben, um eine Verbindung zu Ihren COM-Geräten herzustellen. Wenn der PC neu startet, hat der neue Enumerationszyklus für den USB-Hub den Status USB_RESET und die High-Side-Schalter werden aus- und wieder eingeschaltet. Es ist möglicherweise nicht einfach, diese Art von Hub zu finden, da Hersteller normalerweise Fülloptionen auf ihren Leiterplatten haben, um entweder High-Side-Schalter zu verwenden (zusätzliche Kosten) oder sie am Montagepunkt mit rücksetzbaren Polyfuses (billig) zu umgehen.

(2) Verwenden Sie eine separate geregelte Stromquelle wie dieseSPDT USB-gesteuerter Schalterzwischen dem USB-Anschluss und Ihrem Gerät.

(3) Reparieren Sie Ihre COM-Port-Ausrüstung und/oder Ihren Host-Treiber, um das Protokoll „Reset/Initialisieren“ zu implementieren.

verwandte Informationen