Erzwingen des Anhaltens eines USB-Geräts

Erzwingen des Anhaltens eines USB-Geräts

Unter Energieverwaltung befindet sich die Funktion „Selektives Ruhen“, bei der Windows Geräte nach eigenem Ermessen in den Ruhezustand versetzt, um Strom zu sparen.

Gibt es eine Möglichkeit, ein Gerät manuell auf Suspend zu setzen, anstatt auf das selektive Suspendieren zu warten?

Ich versuche, das Design eines USB-Geräts zu testen, damit es nach dem Ruhezustand ordnungsgemäß aufgeweckt werden kann.

Antwort1

Im Windows USB-Framework gibt es keine Funktion, um USB-Geräte nach Belieben anzuhalten. Diese Funktion wurde aus Sicht der Microsoft-Entwickler als unnötig erachtet.

Für Testzwecke gibt es jedoch ein Tool von USB-IF, mit dem SUSPEND (und Wake-up) und viele weitere isolierte Funktionen an USB-Ports ausgeführt werden können, hauptsächlich um verschiedene Testmuster für die elektrische Charakterisierung aufzurufen. Es heißtxHSETT. Leider ist diese Funktion als spezieller USB-Testtreiber implementiert, der den Standard-Stack ersetzt und über keine Standardanwendungsfunktionalität verfügt.

Dieser Treiber hat auch eine kleine Unannehmlichkeit: Wenn etwas schief geht und die Ports in einen unerwarteten Zustand geraten, kann der Testtreiber nicht entladen werden und das System kann in diesem Testmodus ohne grundlegende USB-Funktionalität hängen bleiben. Sie haben also auch nach einem Systemneustart keine Kontrolle über das System mit Tastatur oder Maus. Um das System funktionsfähig zu halten, wird empfohlen, entweder ein Testsystem mit PS/2-Anschluss zu verwenden oder eine zusätzliche PCIe-USB-Steckkarte zu verwenden.

Antwort2

Wenn Ihr Gerät von keiner App oder keinem Dienst verwendet wird, wird es von Windows normalerweise in den Ruhemodus versetzt. Ich arbeite an einem HID-USB-Gerät und wenn ich die App schließe, wird mein Gerät von Windows nach ein paar Sekunden in den Ruhemodus versetzt.

verwandte Informationen