Verhindern Sie, dass Windows 7 die Stromsparfunktion für USB 3.0-Hubs aktiviert

14

Ich habe einen USB 3.0-Hub auf meinem Desktop-Computer installiert.

Ich verwende es, um eine externe USB 3.0-Festplatte für Sicherungszwecke anzuschließen, und ich habe ein Problem: Windows 7 aktiviert standardmäßig die Stromsparfunktion für diesen Hub, wodurch die Festplatte bei intensiven E / A-Vorgängen getrennt wird (z. B. meine geplante Sicherung um 8 Uhr) pm).

Ich kann diese Einstellung folgendermaßen deaktivieren:
Gehen Sie zum Geräte-Manager> Klicken Sie mit der rechten Maustaste auf den Hub> Eigenschaften> Energieverwaltung> Deaktivieren Sie Das Ausschalten dieses Geräts durch den Computer, um Energie zu sparen

Schade, jedes Mal, wenn ich den Computer neu starte, wird das Kontrollkästchen erneut aktiviert. Gibt es eine Möglichkeit, diese Einstellung dauerhaft zu deaktivieren?

BEARBEITEN : Ich habe meine Frage mit den tatsächlichen englischen Namen für die obigen Einstellungen bearbeitet (es war vorher nicht sehr klar).

EDIT :Die Antwort von Peter Fitzgerald beschreibt genau, was ich bisher gemacht habe. Jedes Mal, wenn ich das Kontrollkästchen neu starte, suche ich nach einer Möglichkeit, es dauerhaft zu deaktivieren.

EDIT : nachLesen Synetech ‚s Antwort , konnte ich den Registrierungseintrag aufSpur zudie geändert wirdwenn ich die Einstellungändern, das ist:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FLUSB\ROOT_HUB_FL30\5&f0b5d82&1\Device Parameters\WDF\IdleInWorkingState (DWORD)

Dieser Schlüssel wird von der Verwaltungskonsole immer dann geändert, wenn ich das Kontrollkästchen deaktiviere und das Gerät von Process System deaktiviere und reaktiviere. Schade, jede Einstellung in den Berechtigungen wird geheimnisvoll ignoriert, und selbst wenn jedem Benutzer jedes Privileg verweigert wird, wird der Schlüssel immer auf 1 gesetzt.

Ich habe versucht, online zu suchen, und diese Microsoft-Anleitung gefunden . Der Versuch, jeden einzelnen der beschriebenen Schlüssel zu setzen, hat anscheinend nicht geholfen. Diese Schlüssel werden ignoriert. Ich habe sogar versucht , den richtigen Weg für die Schlüssel aus bestehenden zu kopieren .INF- gefunden online (welche Tasten unter setzen /WDFund welche Tasten unter dem Elternteil zu setzen), wie diese , aber ich habe nichts.

Weitere nützliche Informationen:

  • Darunter habe HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FLUSB\ROOT_HUB_FL30\ich auch diese beiden Stimmen: 5&f0b5d82&0und 5&21f33a01&0, was die Konfiguration des obigen Schlüssels zu widerspiegeln scheint. Die einzige IdleInWorkingStateÄnderung ist jedoch die oben beschriebene.
  • Wenn ich das Register manuell bearbeite, ändert sich der Wert des Kontrollkästchens im Geräte-Manager nicht. Es muss irgendwo zwischengespeichert werden.
scristalli
quelle
Ist die USB-Einstellung für den selektiven Suspend aktiviert?
And31415
@ and31415: nein ist es nicht. Ich musste das auch vor einiger Zeit deaktivieren, aber das bleibt auch nach dem Neustart so.
Scristalli
Ist diese Option deaktiviert: Systemsteuerung -> Energieoptionen -> Planeinstellungen ändern -> Erweiterte Energieeinstellungen ändern -> USB-Einstellungen -> USB-Einstellung für selektive Unterbrechung.
Harrymc
@harrymc, wenn du die 2 Kommentare oben liest, wirst du sehen, dass ich es bereits deaktiviert habe.
Scristalli
Was macht dein USB3? Meins hat überhaupt keine Registerkarte "Energieverwaltung" und schaltet sich nie vollständig aus.
Harrymc

Antworten:

6

Energieanforderungen

Ich habe einen USB 3.0-Hub auf meinem Desktop-Computer installiert. Ich verwende es, um eine externe USB 3.0-Festplatte für Sicherungszwecke anzuschließen, und ich habe ein Problem: Windows 7 aktiviert standardmäßig die Stromsparfunktion für diesen Hub, wodurch die Festplatte bei intensiven E / A-Vorgängen getrennt wird

Sind Sie sicher, dass das Laufwerk zur Energieverwaltung heruntergefahren wird und nicht nur, weil es versucht, zu viel Energie zu verbrauchen? Sie können den Stromverbrauch Ihres USB-Hubs über den Geräte-Manager überprüfen (Abbildungen 1 und 2). Stellen Sie sicher, dass die Leistung, die der Hub pro Port bereitstellen kann, für das externe Laufwerk ausreicht. Andernfalls können Sie möglicherweise einen USB-Y-Adapter (Abbildungen 3 und 4) verwenden, um Strom über zwei Anschlüsse zu beziehen. (Externe High-Draw-Laufwerke werden normalerweise mit einem speziellen Y-Adapter geliefert. Überprüfen Sie daher die Verpackung und das Handbuch.)

Der Krankheit auf der Spur

Ich kann diese Einstellung folgendermaßen deaktivieren: Gehen Sie zum Geräte-Manager> Klicken Sie mit der rechten Maustaste auf den Hub> Eigenschaften> Energieverwaltung> Deaktivieren Sie Das Ausschalten dieses Geräts durch den Computer, um Energie zu sparen

Schade, jedes Mal, wenn ich den Computer neu starte, wird das Kontrollkästchen erneut aktiviert. Gibt es eine Möglichkeit, diese Einstellung dauerhaft zu deaktivieren?

Wenn das Deaktivieren dieser Einstellung das vorliegende Problem tatsächlich löst, bleibt es jetzt hängen und wird nicht wiederhergestellt. Eine Möglichkeit besteht darin, einen Prozessmonitor mit einem Filter zu verwenden, der auf den entsprechenden Registrierungseintrag ( HcDisableSelectiveSuspend) gesetzt ist, um zu sehen, durch welches Programm die Option so geändert wird, dass sie deaktiviert wird (dies sollte festgelegt werden 1, um die Energieverwaltung zu deaktivieren ).

Das wäre die ideale Methode, da sie die eigentliche Ursache für das Zurücksetzen der Einstellung aufspürt. Leider findet das nur die Ursache; Es ist möglicherweise nicht einfach oder sogar möglich, das Problem zu beheben. Beispielsweise wird es beim Herunterfahren von Windows möglicherweise automatisch zurückgesetzt, oder es wird wahrscheinlicher, dass es beim Hochfahren auf den Standardwert gesetzt wird, wenn Hardware erkannt wird.

Definieren von "Gerät"; Überprüfen Sie den USB-Anschluss

Schließen Sie das Laufwerk im Übrigen an verschiedene USB-Anschlüsse an? Für Windows ist ein „bekanntes Gerät“ eine Kopplung von Gerät + Anschluss . Wenn Sie also zuvor ein Gerät an Anschluss A angeschlossen haben und Windows Treiber für dieses Gerät installieren lässt, schließen Sie das Speichergerät später an Anschluss B an. Windows wird es als neues Gerät sehen und Treiber für es zusammen mit den Standardeinstellungen (neu) installieren. Daher müssen Sie alle Einstellungen zurücksetzen, wenn Sie es an einen neuen Port anschließen. Danach sollte sich Windows die Einstellungen für den neuen und den alten Port merken. Möglicherweise möchten Sie Ihre Laufwerke einmal an jeden USB-Anschluss anschließen und so konfigurieren, dass Sie sicher sein können, dass sie in Zukunft alle konfiguriert sind, unabhängig davon, an welchen Anschluss Sie sie anschließen. (Das Gleiche gilt für Laufwerksbuchstaben, diese sind jedoch tendenziell etwas weniger zuverlässig, da Laufwerksbuchstaben für Wechseldatenträger nur vorübergehend sind.

Behandlung des Symptoms

Eine Möglichkeit zu verhindern, dass Windows die Einstellung zurücksetzt, besteht darin, den Zugriff auf die Einstellung einfach zu verweigern. Dies erfordert die Verwendung des Registrierungs-Editors, der gefährlich sein kann, wenn Sie nicht vorsichtig sind. Treffen Sie daher die üblichen Vorsichtsmaßnahmen für die Datensicherung und überprüfen Sie diese, bevor Sie Änderungen vornehmen (insbesondere, wenn Sie etwas löschen - was Sie hier sowieso nicht tun sollten).

  1. Zuerst müssen Sie die entsprechende Geräte-ID ermitteln:

    1. Öffnen Sie den USB - Root - Hub Eigenschaften - Dialog für Ihren Hub in den Geräte - Manager (Abbildung 1), wechseln dann auf die Power Management Registerkarte
    2. Ändern Sie den Wert des Allow to turn offKontrollkästchens (es spielt keine Rolle, ändern Sie es einfach ), aber klicken Sie nichtOK (Abbildung 5)
    3. Führen Sie Process Manager aus und legen Sie einen Filter fest (Abbildung 6):
      1. Ctrl+L
      2. Stellen Sie für Path, contains, DisableSelectiveSuspend,Include
      3. Klicken Add
      4. Stellen Sie einen anderen Filter für Operation, contains, setvalue,Include
      5. Add
      6. Klicken OK
    4. Löschen Sie das aktuelle Capture ( Ctrl+ X) und starten Sie es ( Ctrl+ E), falls es noch nicht ausgeführt wird
    5. Wechseln Sie zurück zum Dialogfeld Geräte-Manager und klicken Sie aufOK
    6. Wechseln Sie zurück zum Prozessmonitor und beenden Sie die Erfassung ( Ctrl+ E)
    7. Notieren Sie die vierstellige Geräte-ID nach der GUID (Abbildung 7). In diesem Beispiel 0055:

      HKLM\System\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}\0055\HcDisableSelectiveSuspend
      
  2. Klicken Sie auf die Zeile in Process Monitor und drücken Sie Ctrl+ J, um Regedit zu öffnen und direkt zum Schlüssel zu navigieren. (Wenn dies nicht funktioniert, öffnen Sie Regedit und navigieren Sie manuell zum Schlüssel.)

  3. Konfigurieren Sie die Einstellung zu dem, was Sie wollen , dass es ein letztes Mal sein (deaktivieren Sie das Kontrollkästchen in der Energieverwaltung , und klicken Sie OK)

  4. Sperren Sie nun diese Einstellung und blockieren Sie den Zugriff auf den Schlüssel (Abbildung 8):

    1. Klicken Sie mit der rechten Maustaste auf den Schlüssel im linken Bereich von Regedit
    2. Wählen Sie Berechtigungen
    3. Klicken Advanced
    4. Un -prüfen das Inherit from parentFeld, dann klicken CopyundOK
    5. Zurück in dem regulären (nicht erweitert) Berechtigungen im Dialogfeld klicken Sie auf jede der Gruppen und in der Top - Liste und für jeden aufgelisteten Benutzer, un die -Check - Full ControlBox in der unteren Liste

Jetzt kann niemand, nicht Sie, auch nicht das System selbst die Einstellung ändern (aber sie können sie immer noch lesen), daher sollte es immer bei der von Ihnen festgelegten Einstellung bleiben, bevor es auf schreibgeschützt gesetzt wird. (Bei Bedarf können Sie den Schreibzugriff wiederherstellen, indem Sie die objektspezifischen Berechtigungen im Dialogfeld " Erweiterte Sicherheitseinstellungen" entfernen und das Kontrollkästchen erneut aktivieren Inherit from parent.

Natürlich müssen Sie danach einen Neustart durchführen, um sicherzustellen, dass die Einstellung erhalten bleibt.

Letzter Ausweg

Wenn das Laufwerk immer noch heruntergefahren wird, versuchen Sie , es wie oben beschrieben schreibgeschützt HKLM\System\CurrentControlSet\Services\usb\DisableSelectiveSuspendzu 1machen. Diese Einstellung ist in einem normalen System nicht vorhanden und wird auch nicht wie HcDisableSelectiveSuspend dokumentiert (die einzigen Verweise darauf befinden sich auf Community-Seiten), aber Windows scheint diesen Wert zuvor abzufragen (Abbildung 7), sodass sich ein VersuchHcDisableSelectiveSuspend lohnt.

Sherlock Holmes

An diesem Punkt können Sie, wenn Sie möchten, zurückgehen und das zugrunde liegende Problem diagnostizieren, anstatt nur das Symptom zu behandeln. Sie können den obigen Filter verwenden, um während des Startvorgangs ( Optionen → Startprotokoll aktivieren ) und während des Herunterfahrens (was etwas schwieriger ist ) Schreibzugriff auf den Registrierungseintrag des Prozessmonitors zu haben , um genau herauszufinden, was daran geändert wird. Dann können Sie die Daumen drücken und hoffen, dass es einen Weg gibt, dies zu verhindern.


Abbildungen

Abbildung 1 : Screenshot des USB-Hubs im Geräte-Manager

Screenshot des USB-Hubs im Geräte-Manager

Abbildung 2 : Screenshot des Stromverbrauchs eines USB-Hubs

Screenshot der Stromversorgung über einen USB-Hub

Abbildung 3 : Foto eines USB-Y-Adapters

Foto eines USB Y-Adapters

Abbildung 4 : Diagramm der Verwendung des USB-Y-Adapters

Diagramm der Verwendung des USB-Y-Adapters

Abbildung 5 : Screenshot der Registerkarte Energieverwaltung des USB-Hubs

Screenshot der Registerkarte Energieverwaltung des USB-Hubs

Abbildung 6 : Erforderliche Prozessüberwachungsfilter

Screenshot der erforderlichen Process Monitor-Filter

Abbildung 7 : Screenshot des relevanten Registrierungseintrags in den Process Monitor-Ergebnissen

Screenshot des relevanten Registrierungseintrags in den Process Monitor-Ergebnissen

Abbildung 8 : Flussdiagramm zum Festlegen eines Registrierungsschlüssels als schreibgeschützt

Ablaufdiagramm zum Festlegen eines Registrierungsschlüssels als schreibgeschützt

Synetech
quelle
Zunächst einmal vielen Dank für Ihre tolle Antwort, es ist definitiv die Pole Position für die Bounty. Ich habe Ihren Rat befolgt und obwohl ich zusätzliche Details entdeckt habe, ist das Problem noch nicht gelöst. Ich habe meine Frage entsprechend bearbeitet und hoffe, dass Sie durch meine Bearbeitung zusätzliche Informationen erhalten.
Scristalli
2

Gehen Sie in den Geräte-Manager, erweitern Sie die Baumliste unter "Universal Serial Bus Controller", klicken Sie mit der rechten Maustaste auf den Eintrag für das Gerät und wählen Sie Eigenschaften aus.

Bildbeschreibung hier eingeben

Gehen Sie im Eigenschaften-Dialogfeld zur Registerkarte "Energieverwaltung" und deaktivieren Sie das Kontrollkästchen "Computer kann dieses Gerät ausschalten, um Energie zu sparen."

Bildbeschreibung hier eingeben

Wenn Sie einen Laptop verwenden, müssen Sie möglicherweise auch in Ihren erweiterten Energiespareinstellungen die Option deaktivieren, mit der Windows die Stromversorgung für Geräte unterbrechen kann, wenn diese nicht verwendet werden.

P Fitz
quelle
Danke für deine Antwort. Es tut mir leid, wenn es aus meiner Frage nicht klar hervorgeht (ich verwende Win 7 auf Italienisch und habe versucht, im laufenden Betrieb zu übersetzen), aber genau das habe ich bisher getan.
Scristalli
Ich habe meine Frage bearbeitet. Nochmals vielen Dank, aber die Lösung scheint nicht so einfach zu sein.
Scristalli
2

Da keine der anderen Lösungen funktioniert hat, habe ich die folgende Problemumgehung gefunden:

PowerShell-Skript zum Deaktivieren der Einstellung

Beim Bearbeiten eines im Internet gefundenen Skripts habe ich Folgendes erstellt:

C: \ powerMgmt.ps1

$hubs = Get-WmiObject Win32_USBHub
$powerMgmt = Get-WmiObject MSPower_DeviceEnable -Namespace root\wmi | where {$_.InstanceName.Contains($hubs.PNPDeviceID)}

foreach ($p in $powerMgmt)
{
    $p.Enable = $False
    $p.psbase.Put()
}

Ausführung beim Start mit erhöhten Rechten

Das obige Skript erfordert erhöhte Berechtigungen, daher habe ich im Taskplaner von Windows 7 eine Aufgabe erstellt, um das folgende Skript (als Benutzeradministrator) auszuführen, wenn ich mich mit meinem Benutzer anmelde:

C: \ powerMgmt.cmd

powershell -file C:\powerMgmt.ps1

Diese ganze Sache ist ein bisschen hacken; Es ist nicht elegant und es hilft mir nicht, das Problem zu verstehen, aber es löst es.

scristalli
quelle
0

Sie möchten Ihre Registrierung bearbeiten.

  1. Öffnen Sie regedit.exe und führen Sie es als Administrator aus.

    a) Klicken Sie auf Start> geben Sie regedit in das Suchfeld ein> klicken Sie mit der rechten Maustaste auf regedit.exe> ​​wählen Sie "Als Administrator ausführen"

  2. Uncollapse [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \

    a) Rechtsklick auf Dienste> Bewegen Sie den Mauszeiger über "Neu" und wählen Sie "Schlüssel"

    b) "USB" eingeben

    c) Navigieren Sie zu "USB"> klicken Sie mit der rechten Maustaste auf USB

    d) Bewegen Sie den Mauszeiger über "neu" und wählen Sie "DWORD-Wert (32-Bit)"

    e) Ändern Sie den Standardwert in "DisableSelectiveSuspend".

    f) Wählen Sie DisableSelectiveSuspend> klicken Sie auf "Bearbeiten"> "Ändern"

    g) Ändern Sie unter "Wertedaten" die 0 in eine 1 und klicken Sie auf OK.

  3. Starte deinen Computer neu. Dein Problem sollte gelöst sein.

Wenn Sie Probleme beim Bearbeiten Ihrer Registrierung haben. Sie können den Editor öffnen und den folgenden Text ausschneiden und in den Editor einfügen und die Datei unter einem beliebigen Namen speichern. Sagen Sie "temp.reg". Die Erweiterung muss ".reg" und keine Erweiterung ".txt" sein. Wenn Sie die Datei in Ihrem Ordner "Documents" speichern, müssen Sie im Windows Explorer auf die Datei doppelklicken, und die Registrierungswerte werden für Sie erstellt. Hier ist der Text, der in den Notizblock eingefügt werden soll. Fügen Sie alles zwischen den Zeilen ein.


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ USB] "DisableSelectiveSuspend \" = dword: 00000001


Wenn Sie die .reg-Dateimethode verwenden, starten Sie Ihren Computer neu und Ihr Problem sollte gelöst sein.

user305084
quelle
Vielen Dank für den Versuch, aber es hat nicht funktioniert.
Scristalli
0

Möglicherweise versuchen Sie, den Treiber vollständig zu löschen und veraltete USB-Informationen zu löschen:

  1. Gehen Sie zum Geräte-Manager, öffnen Sie "Universal Serial Bus Controller", klicken Sie mit der rechten Maustaste auf den USB-Root-Hub und wählen Sie "Deinstallieren".

  2. Benutze regedit um zu löschen HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FLUSB.
    Im Falle eines Berechtigungsfehlers lesen Sie Wie Sie die vollständige Kontrolle über die Windows-Registrierungsschlüssel erlangen (einschließlich der Kommentare). Das kostenlose Dienstprogramm RegOwnit könnte hier Abhilfe schaffen (ich selbst habe es nie benutzt).

  3. Starten Sie neu.

Erstellen Sie zunächst einen Systemwiederherstellungspunkt für alle Fälle.

Eine andere Lösung wäre die Verwendung eines älteren Treibers, der mit dem obigen Verfahren kombiniert werden kann.

Hier sind zwei, die ich gefunden habe:
3.5.36.0, A01
Fresco Logic USB 3.0 Treiber 3.5.93.0

Harrymc
quelle
0

Sie können mehrere verschiedene Energieverwaltungsschemata einrichten, aber Sie haben eines ausgewählt (z. B. "Ausgeglichen" oder "Hohe Leistung"). Windows lädt wahrscheinlich Ihr ausgewähltes Energieverwaltungsschema und dort ist die USB-Energieverwaltung wahrscheinlich nicht deaktiviert.

Geben Sie im Startmenü "Energiesparplan bearbeiten" ein und wählen Sie die Option für die, die das Startmenü findet. Sie können dieses Fenster auch auf andere Weise aufrufen, z. B. über die Personalisierungseinstellungen, in denen Sie Ihren Bildschirmschoner festlegen.

Sobald Sie dort sind, müssen Sie die erweiterten Energieeinstellungen ändern.

Gehen Sie dann zu "USB-Einstellungen" und dann zu "USB-Einstellung für selektiven Suspend" und ändern Sie die Einstellung hier .

Hier ist ein Artikel, den jemand anderes über Ihr Problem geschrieben hat. Darin befinden sich ähnliche Anleitungen und Bilder.

Loduwijk
quelle
Danke, dass Sie geantwortet haben, aber obwohl ich nicht sicher bin, ob ich es hier erwähnt habe, habe ich es als erstes versucht. Es hat nicht funktioniert. Derzeit funktioniert nur die von mir veröffentlichte Lösung, bei der das Powershell-Skript die Einstellung bei der Anmeldung deaktiviert.
Scristalli