Impedisci a Windows 7 di abilitare il risparmio energetico sull'hub USB 3.0


14

Ho installato un hub USB 3.0 sul mio computer desktop.

Lo uso per connettere un disco USB 3.0 esterno a scopo di backup e ho un problema: Windows 7 abilita per impostazione predefinita il risparmio energetico per detto hub, che provoca la disconnessione del disco durante intense operazioni di I / O (ad esempio il mio backup programmato su 8 pm).

È possibile disabilitare questa impostazione procedendo come segue:
Vai a Gestione dispositivi> Fai clic destro sull'hub> Proprietà> Risparmio energia > Deseleziona Consenti al computer di spegnere questo dispositivo per risparmiare energia

Peccato, ogni volta che riavvio il computer, la casella viene nuovamente selezionata. C'è un modo per disabilitare questa impostazione in modo permanente?

EDIT : ho modificato la mia domanda con i nomi inglesi effettivi per le impostazioni sopra (non era molto chiaro prima).

EDIT :la risposta di Peter Fitzgerald descrive esattamente ciò che ho fatto finora. Ogni volta che riavvio la casella di controllo viene nuovamente contrassegnata, cerco un modo per disabilitarlo in modo permanente.

EDIT : dopo aver lettola risposta di Synetech , sono stato in grado di rintracciare la voce di registro che viene modificata quando cambio l'impostazione, che è:

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

Questa chiave viene modificata dalla console di gestione ogni volta che deseleziono la casella di controllo e anche quando disattivo e riattivo il dispositivo in base al sistema di processo. Peccato, qualsiasi impostazione nelle autorizzazioni viene misteriosamente ignorata e anche negando ogni privilegio a tutti la chiave viene sempre impostata su 1.

Ho provato a cercare online e ho trovato questa guida di Microsoft . Cercare di impostare ogni singola chiave che hanno descritto non ha aiutato, sembra che queste chiavi vengano ignorate. Ho anche provato a copiare il percorso giusto per le chiavi dall'esistente .INF trovato online (quali chiavi mettere sotto /WDFe quali chiavi mettere sotto il genitore), in questo modo , ma non ho ottenuto nulla.

Altre informazioni utili:

  • sotto HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FLUSB\ROOT_HUB_FL30\, ho anche queste due voci: 5&f0b5d82&0e 5&21f33a01&0, che sembra rispecchiare la configurazione della chiave sopra. L'unico IdleInWorkingStatecambiamento, tuttavia, è quello sopra descritto.
  • quando modifico manualmente il registro, il valore della casella di controllo in Gestione dispositivi non cambia, deve essere memorizzato nella cache da qualche parte.


@ and31415: no, non lo è. Ho dovuto disabilitare anche questo un po 'di tempo fa, ma rimane così dopo il riavvio.
scristalli,

È impostato su Disabilitato: Pannello di controllo -> Opzioni risparmio energia -> Modifica impostazioni piano -> Modifica impostazioni avanzate alimentazione -> Impostazioni USB -> Impostazione sospensione selettiva USB.
harrymc,

@harrymc, se leggi i 2 commenti sopra vedrai che l'ho già disabilitato.
scristalli,

Qual è la tua USB3? Il mio non ha affatto una scheda "Risparmio energia" e non si spegne mai completamente.
harrymc,

Risposte:


6

Requisiti di alimentazione

Ho installato un hub USB 3.0 sul mio computer desktop. Lo uso per collegare un disco USB 3.0 esterno a scopo di backup e ho un problema: Windows 7 abilita per impostazione predefinita il risparmio energetico per detto hub, che provoca la disconnessione del disco durante le operazioni di I / O intense

Sei sicuro che l'unità si stia spegnendo per il risparmio energetico e non semplicemente perché sta provando a consumare troppa energia? È possibile controllare l'assorbimento di potenza sull'hub USB tramite Gestione dispositivi (figure 1 e 2). Verificare che l'alimentazione che l'hub può fornire per porta sia sufficiente per l'unità esterna. In caso contrario, potresti essere in grado di utilizzare un adattatore a Y USB (figure 3 e 4) per prelevare energia da due porte. (Le unità esterne high-draw di solito vengono fornite con un adattatore Y specifico per questo scopo, quindi ricontrollare la casella e il manuale.)

Rintracciare la malattia

È possibile disabilitare questa impostazione procedendo come segue: Vai a Gestione dispositivi> Fai clic destro sull'hub> Proprietà> Risparmio energia> Deseleziona Consenti al computer di spegnere questo dispositivo per risparmiare energia

Peccato, ogni volta che riavvio il computer, la casella viene nuovamente selezionata. C'è un modo per disabilitare questa impostazione in modo permanente?

Se la disabilitazione di tale impostazione risolve effettivamente il problema, il problema ora è farlo incollare e non ripristinare. Un'opzione è utilizzare qualcosa come Process Monitor con un filtro impostato sulla voce di registro pertinente ( HcDisableSelectiveSuspend) per vedere quale programma lo modifica in modo che l'opzione sia disattivata (dovrebbe essere impostata 1per disabilitare la gestione dell'alimentazione).

Sarebbe il metodo ideale perché rintraccia la causa effettiva del ripristino delle impostazioni. Sfortunatamente questo trova solo la causa; effettivamente risolverlo potrebbe non essere facile o addirittura possibile. Ad esempio, Windows potrebbe ripristinarlo automaticamente allo spegnimento o, più probabilmente, impostarlo sul valore predefinito durante l'avvio quando rileva l'hardware.

Definizione di "Dispositivo"; Controlla la porta USB

Per inciso, stai collegando l'unità a diverse porte USB? Per quanto riguarda Windows, un “dispositivo noto” è un abbinamento di dispositivo + porto , quindi se avete già collegato un dispositivo nella porta A e lasciare che Windows installi i driver per esso, allora più tardi collega il salvataggio dispositivo nella porta B, Windows lo vedrà come un nuovo dispositivo e (re) installare i driver per esso insieme alle impostazioni predefinite. Pertanto, è necessario ripristinare tutte le impostazioni quando lo si collega a una nuova porta. Successivamente, Windows dovrebbe ricordare le impostazioni sia per la porta nuova che per quella vecchia. Potresti voler collegare una o più unità una volta a ciascuna porta USB e configurarle in modo da poter essere sicuro che siano tutte configurate in futuro, indipendentemente dalla porta in cui le colleghi. (Lo stesso vale per le lettere di unità, ma quelle tendono ad essere un po 'meno affidabili a causa della natura effimera delle lettere di unità per i volumi rimovibili.

Trattare il sintomo

Un modo per impedire a Windows di ripristinare l'impostazione è semplicemente negare l'accesso all'impostazione. Ciò richiede l'uso dell'editor del registro che può essere rischioso se non si presta attenzione, quindi prendere le consuete precauzioni di backup e ricontrollare prima di apportare una modifica (soprattutto quando si elimina qualcosa, cosa che non si dovrebbe fare qui comunque).

  1. Per prima cosa dovrai trovare l'ID dispositivo pertinente:

    1. Aprire la finestra di dialogo Proprietà dell'hub principale USB per l'hub in Gestione dispositivi (figura 1), quindi passare alla scheda Risparmio energia
    2. Modificare il valore della Allow to turn offcasella di controllo (non importa cosa, basta cambiarlo ), ma non fare clic OK(figura 5)
    3. Esegui Process Manager e imposta un filtro (figura 6):
      1. Ctrl+L
      2. Set per Path, contains, DisableSelectiveSuspend,Include
      3. Clic Add
      4. Impostare un altro filtro per Operation, contains, setvalue,Include
      5. Add
      6. Clic OK
    4. Cancella l'acquisizione corrente ( Ctrl+ X) e avvia ( Ctrl+ E) se non è già in esecuzione
    5. Tornare alla finestra di dialogo Gestione dispositivi e fare clicOK
    6. Tornare a Process Monitor e interrompere l'acquisizione ( Ctrl+ E)
    7. Annotare l'ID del dispositivo a quattro cifre dopo il GUID (figura 7); in questo esempio 0055,:

      HKLM\System\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}\0055\HcDisableSelectiveSuspend
      
  2. Fai clic sulla riga in Process Monitor, premi Ctrl+ Jper aprire Regedit e vai direttamente al tasto (se non funziona, quindi apri Regedit e passa manualmente al tasto)

  3. Configurare l'impostazione su come si desidera che sia l'ultima volta (deselezionare la casella nella scheda Risparmio energia e fare clic OK)

  4. Ora blocca quell'impostazione e blocca l'accesso alla chiave (figura 8):

    1. Fare clic con il tasto destro del mouse sulla chiave nel riquadro sinistro di Regedit
    2. Seleziona Autorizzazioni
    3. Clic Advanced
    4. Deseleziona la Inherit from parentcasella, quindi fai clic su CopyeOK
    5. Indietro nel regolare (non-avanzato) le autorizzazioni di dialogo, fare clic su ognuno dei gruppi e degli utenti presenti nell'elenco superiore e per ciascuno di essi, un -check la Full Controlcasella nella lista in basso

Ora nessuno, nemmeno tu, nemmeno il sistema stesso sarà in grado di modificare l'impostazione (ma possono ancora leggerlo), quindi dovrebbe sempre rimanere in quello che hai impostato prima di impostarlo in sola lettura. (Se necessario, è possibile ripristinare l'accesso in scrittura rimuovendo le autorizzazioni specifiche dell'elemento nella finestra di dialogo Impostazioni di sicurezza avanzate e ricontrollando la Inherit from parentcasella.

Ovviamente, dovrai riavviare in seguito per accertarti che le impostazioni rimangano.

Ultima risorsa

Se l'unità è ancora in fase di arresto, provare a impostare HKLM\System\CurrentControlSet\Services\usb\DisableSelectiveSuspendper 1e rendendo sola lettura come sopra. Questa impostazione non è presente in un sistema normale, né è documentata come HcDisableSelectiveSuspend è (gli unici riferimenti ad essa sono nelle pagine della comunità), ma Windows sembra richiedere prima questo valore HcDisableSelectiveSuspend(figura 7), quindi vale la pena provare.

Sherlock Holmes

A questo punto, se vuoi, puoi tornare indietro e diagnosticare il problema sottostante invece di trattare solo il sintomo. È possibile utilizzare il filtro sopra riportato per consentire a Log di Process Monitor di accedere in scrittura alla voce di registro durante l'avvio ( Opzioni → Abilita registrazione di avvio ) e durante l' arresto (che è leggermente più complicato ) per scoprire esattamente cosa lo sta modificando. Quindi puoi incrociare le dita e sperare che ci sia un modo per impedirlo.


Illustrazioni

Figura 1 : schermata dell'hub USB in Gestione dispositivi

Schermata dell'hub USB in Gestione dispositivi

Figura 2 : Schermata della potenza assorbita su un hub USB

Schermata della potenza assorbita su un hub USB

Figura 3 : foto di un adattatore a Y USB

Foto di un adattatore a Y USB

Figura 4 : diagramma dell'utilizzo dell'adattatore a Y USB

Diagramma dell'utilizzo dell'adattatore a Y USB

Figura 5 : schermata della scheda Risparmio energia dell'hub USB

Schermata della scheda Risparmio energia dell'hub USB

Figura 6 : filtri necessari per Process Monitor

Schermata dei filtri richiesti di Process Monitor

Figura 7 : Schermata della voce di registro pertinente nei risultati di Process Monitor

Schermata della voce di registro rilevante nei risultati di Process Monitor

Figura 8 : diagramma di flusso dell'impostazione di una chiave di registro in sola lettura

Diagramma di flusso dell'impostazione di una chiave di registro in sola lettura


Prima di tutto, grazie per la tua fantastica risposta, è sicuramente in pole position per la taglia. Ho seguito i tuoi consigli e, anche se ho scoperto ulteriori dettagli, il problema non è stato ancora risolto. Ho modificato la mia domanda di conseguenza, spero che tu possa ottenere ulteriori informazioni dalla mia modifica.
scristalli,

2

Accedi a Gestione dispositivi, espandi l'elenco degli alberi in "Controller bus seriale universale", fai clic con il pulsante destro del mouse sulla voce per il dispositivo e seleziona le proprietà.

inserisci qui la descrizione dell'immagine

Vai alla scheda "Risparmio energia" nella finestra di dialogo delle proprietà e deseleziona la casella "Consenti al computer di spegnere questo dispositivo per risparmiare energia".

inserisci qui la descrizione dell'immagine

Se si utilizza un laptop, potrebbe essere necessario accedere alle impostazioni avanzate del piano di risparmio energia e disabilitare l'opzione che consente a Windows di interrompere l'alimentazione dei dispositivi quando non sono in uso.


Grazie per la tua risposta. Mi dispiace se non è stato chiaro dalla mia domanda (uso Win 7 in italiano e ho cercato di tradurre al volo), ma è esattamente quello che ho fatto finora.
scristalli,

Ho modificato la mia domanda. Grazie ancora, ma sembra che la soluzione non sia così semplice.
scristalli,

2

Poiché nessuna delle altre soluzioni ha funzionato, ho risolto la seguente soluzione alternativa:

Script Powershell per disabilitare l'impostazione

Modificando uno script trovato su Internet, ho creato questo:

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()
}

Esecuzione all'avvio con privilegi elevati

Lo script sopra richiede privilegi elevati, quindi ho creato un'attività nell'Utilità di pianificazione di Windows 7 per eseguire il seguente script (come amministratore utente) quando eseguo l'accesso con il mio utente:

C: \ powerMgmt.cmd

powershell -file C:\powerMgmt.ps1

Tutta questa faccenda è un po 'un trucco; non è elegante e non mi aiuta a capire il problema, ma lo risolve.


0

Ti consigliamo di modificare il registro.

  1. apri regedit.exe ed eseguilo come amministratore.

    a) fai clic su start> quindi digita regedit nella casella di ricerca> fai clic con il tasto destro su regedit.exe> ​​seleziona "esegui come amministratore

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

    a) fai clic destro su servizi> passa il mouse su "nuovo" e seleziona "chiave"

    b) inserisci "USB"

    c) Passare a "USB"> fare clic con il tasto destro su USB

    d) passa con il mouse su "nuovo" e seleziona "Valore DWORD (32 bit)

    e) modifica il valore predefinito in "DisableSelectiveSuspend"

    f) Seleziona DisableSelectiveSuspend> fai clic su "Modifica"> "Modifica"

    g) in "Dati valore:"> modifica lo 0 in 1> fai clic su OK.

  3. Riavvia il computer. Il tuo problema dovrebbe essere risolto.

Se ti senti a disagio a modificare il registro. È possibile aprire il blocco note e tagliare e incollare il testo sottostante nel blocco note e salvare il file con qualsiasi nome, ad esempio "temp.reg" deve avere l'estensione ".reg" e non l'estensione ".txt". Se si salva il file nella cartella "Documenti", è necessario fare doppio clic sul file da Windows Explorer e i valori del registro verranno creati automaticamente. Ecco il testo da incollare nel blocco note, includere tutto tra le righe.


Editor del registro di Windows Versione 5.00

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


Se si utilizza il metodo del file .reg, riavviare il computer e il problema dovrebbe essere risolto.


Grazie per averci provato, ma non ha funzionato.
scristalli,

0

Potresti provare a eliminare completamente il driver e cancellare le informazioni USB obsolete:

  1. Vai a Gestione dispositivi, apri "Controller bus seriale universale", fai clic con il pulsante destro del mouse sull'hub principale USB e scegli Disinstalla.

  2. Usa regedit per cancellare HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FLUSB.
    In caso di errore delle autorizzazioni, vedere Come assumere il controllo completo delle chiavi del registro di Windows (inclusi i commenti). L'utilità gratuita RegOwnit potrebbe aiutare qui (io stesso non l'ho mai usato).

  3. Reboot.

Creare prima un punto di ripristino del sistema, per ogni evenienza.

Un'altra soluzione sarebbe quella di utilizzare un driver più vecchio, che può essere combinato con la procedura sopra descritta.

Eccone due che ho trovato:
3.5.36.0, A01
Fresco Logic USB 3.0 Driver 3.5.93.0


0

È possibile impostare più schemi di gestione dell'alimentazione diversi, ma ne è stato selezionato uno (ad esempio "Bilanciato" o "Prestazioni elevate"). Windows sta probabilmente caricando il tuo schema di gestione dell'alimentazione che hai selezionato e probabilmente non hai disabilitato la gestione dell'alimentazione USB.

Nel menu di avvio, digitare "modifica piano di alimentazione" e selezionare l'opzione per ciò che trova il menu di avvio. Esistono altri modi per accedere a questa finestra, ad esempio attraverso le impostazioni di personalizzazione in cui si imposta lo screen saver.

Una volta che sei lì, devi "Modificare le impostazioni avanzate di potenza".

Quindi vai su "Impostazioni USB", quindi su "Impostazioni di sospensione selettiva USB" e modifica qui l'impostazione .

Ecco un articolo che qualcun altro ha scritto sul tuo problema. In esso sono presenti istruzioni e immagini simili.


Grazie per aver risposto, ma anche se non sono sicuro di averlo menzionato qui, questa è la prima cosa che ho provato. Non ha funzionato Attualmente l'unica soluzione che funziona è quella che ho pubblicato, con lo script Powershell che disabilita l'impostazione all'accesso.
scristalli,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.