Empêcher Windows 7 d'activer l'économie d'énergie sur le concentrateur USB 3.0

14

J'ai installé un concentrateur USB 3.0 sur mon ordinateur de bureau.

Je l'utilise pour connecter un disque USB 3.0 externe à des fins de sauvegarde, et j'ai un problème: Windows 7 active par défaut l'économie d'énergie pour ledit concentrateur, ce qui provoque la déconnexion du disque lors d'intenses opérations d'E / S (par exemple, ma sauvegarde planifiée à 8 heures) pm).

Je peux désactiver ce paramètre en procédant comme suit:
Accédez au Gestionnaire de périphériques> Faites un clic droit sur le concentrateur> Propriétés> Gestion de l'alimentation> Décochez Autoriser l'ordinateur à éteindre ce périphérique pour économiser de l'énergie

Dommage, chaque fois que je redémarre l'ordinateur, la case est à nouveau cochée. Existe-t-il un moyen de désactiver définitivement ce paramètre?

EDIT : J'ai édité ma question avec les noms anglais réels pour les paramètres ci-dessus (ce n'était pas très clair auparavant).

EDIT :La réponse de Peter Fitzgerald décrit exactement ce que j'ai fait jusqu'à présent. Chaque fois que je redémarre, la case est à nouveau cochée, je cherche un moyen de la désactiver définitivement.

EDIT : après avoir lula réponse de Synetech , j'ai pu retrouver l'entrée de registre qui est modifiée lorsque je change le paramètre, qui est:

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

Cette clé est modifiée par la console de gestion chaque fois que je désactive la case à cocher, et également lorsque je désactive et réactive le périphérique par le système de processus. Dommage, tout paramètre dans les autorisations est mystérieusement ignoré, et même en refusant tous les privilèges à tout le monde, la clé est toujours définie sur 1.

J'ai essayé de rechercher en ligne et j'ai trouvé ce guide Microsoft . Essayer de définir chaque clé décrite n'a pas aidé, il semble que ces clés soient ignorées. J'ai même essayé de copier le bon chemin pour les clés du fichier .INF existant trouvé en ligne (quelles clés mettre sous /WDFet quelles clés mettre sous le parent), comme ça , mais je n'ai rien obtenu.

Autres informations utiles:

  • en dessous HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FLUSB\ROOT_HUB_FL30\, j'ai aussi ces deux voix: 5&f0b5d82&0et 5&21f33a01&0, qui semble refléter la configuration de la touche ci-dessus. Le seul IdleInWorkingStatechangement, cependant, est celui décrit ci-dessus.
  • lorsque je modifie manuellement le registre, la valeur de la case à cocher dans le Gestionnaire de périphériques ne change pas, elle doit être mise en cache quelque part.
scristalli
la source
@ and31415: non, ce n'est pas le cas. J'ai dû désactiver cela également il y a un certain temps, mais cela reste ainsi après le redémarrage.
scristalli
Est-ce réglé sur Désactivé: Panneau de configuration -> Options d'alimentation -> Modifier les paramètres du plan -> Modifier les paramètres d'alimentation avancés -> Paramètres USB -> Paramètre de suspension sélective USB.
harrymc
@harrymc, si vous lisez les 2 commentaires ci-dessus, vous verrez que je l'ai déjà désactivé.
scristalli
De quelle marque est votre USB3? Le mien n'a pas du tout d'onglet "Gestion de l'alimentation" et il ne s'éteint jamais complètement.
harrymc

Réponses:

6

Exigences d'alimentation

J'ai installé un concentrateur USB 3.0 sur mon ordinateur de bureau. Je l'utilise pour connecter un disque USB 3.0 externe à des fins de sauvegarde et j'ai un problème: Windows 7 active par défaut l'économie d'énergie pour ledit concentrateur, ce qui provoque la déconnexion du disque lors d'intenses opérations d'E / S

Êtes-vous sûr que le lecteur s'arrête pour la gestion de l'alimentation et pas simplement parce qu'il essaie de consommer trop d'énergie? Vous pouvez vérifier la consommation électrique de votre concentrateur USB via le Gestionnaire de périphériques (figures 1 et 2). Vérifiez que l'alimentation que le concentrateur peut fournir par port est suffisante pour le lecteur externe. Sinon, vous pourrez peut-être utiliser un adaptateur USB en Y (figures 3 et 4) pour alimenter deux ports. (Les disques externes à tirage élevé sont généralement fournis avec un adaptateur en Y spécialement conçu à cet effet, alors vérifiez la case et le manuel.)

Dépister la maladie

Je peux désactiver ce paramètre en procédant comme suit: Accédez au Gestionnaire de périphériques> Faites un clic droit sur le concentrateur> Propriétés> Gestion de l'alimentation> Décochez Autoriser l'ordinateur à éteindre ce périphérique pour économiser de l'énergie

Dommage, chaque fois que je redémarre l'ordinateur, la case est à nouveau cochée. Existe-t-il un moyen de désactiver définitivement ce paramètre?

Si la désactivation de ce paramètre résout réellement le problème, le problème est maintenant de le faire coller et de ne pas revenir. Une option consiste à utiliser quelque chose comme Process Monitor avec un filtre défini sur l'entrée de registre appropriée ( HcDisableSelectiveSuspend) pour voir quel programme la modifie afin que l'option soit désactivée (il doit être défini sur 1pour désactiver la gestion de l'alimentation).

Ce serait la méthode idéale, car elle traque la cause réelle du rétablissement du paramètre. Malheureusement, cela ne trouve que la cause; en fait, le réparer peut ne pas être facile ni même possible. Par exemple, Windows peut le rétablir automatiquement à l'arrêt ou, plus probablement, le définir par défaut lors du démarrage lorsqu'il détecte du matériel.

Définition de «périphérique»; Vérifiez le port USB

Soit dit en passant, branchez-vous le lecteur sur différents ports USB? En ce qui concerne Windows, un "appareil connu" est une association d' appareil + port , donc si vous avez déjà branché un appareil sur le port A et laissé Windows installer les pilotes pour cela, vous branchez plus tard l'appareil de sauvegarde sur le port B, Windows le verra comme un nouveau périphérique et (ré) installera les pilotes avec les paramètres par défaut. Par conséquent, vous devez réinitialiser tous les paramètres lorsque vous le branchez sur un nouveau port. Après cela, Windows devrait se souvenir des paramètres du nouveau et de l'ancien port. Vous souhaiterez peut-être brancher vos lecteurs une fois sur chaque port USB et les configurer de sorte que vous puissiez être sûr qu'ils seront tous configurés à l'avenir, quel que soit le port sur lequel vous les branchez. (Il en va de même pour les lettres de lecteur, mais celles-ci ont tendance à être un peu moins fiables en raison de la nature éphémère des lettres de lecteur pour les volumes amovibles.

Traiter le symptôme

Une façon d'empêcher Windows de rétablir le paramètre consiste simplement à refuser l'accès au paramètre. Cela nécessite l'utilisation de l'éditeur de registre, ce qui peut être risqué si vous ne faites pas attention, alors prenez les précautions de sauvegarde habituelles et revérifiez avant d'apporter une modification (en particulier lorsque vous supprimez quoi que ce soit - ce que vous ne devriez pas faire ici de toute façon).

  1. Vous devez d'abord trouver l'ID d'appareil approprié:

    1. Ouvrez la boîte de dialogue Propriétés du concentrateur racine USB pour votre concentrateur dans le Gestionnaire de périphériques (figure 1), puis passez à l' onglet Gestion de l' alimentation
    2. Modifiez la valeur de la Allow to turn offcase à cocher (peu importe quoi, changez-la simplement ), mais ne cliquez pasOK (figure 5)
    3. Exécutez Process Manager et définissez un filtre (figure 6):
      1. Ctrl+L
      2. Ensemble pour Path, contains, DisableSelectiveSuspend,Include
      3. Cliquez sur Add
      4. Définir un autre filtre pour Operation, contains, setvalue,Include
      5. Add
      6. Cliquez sur OK
    4. Effacez la capture actuelle ( Ctrl+ X) et démarrez ( Ctrl+ E) si elle n'est pas déjà en cours d'exécution
    5. Revenez à la boîte de dialogue Gestionnaire de périphériques et cliquez surOK
    6. Revenez à Process Monitor et arrêtez la capture ( Ctrl+ E)
    7. Notez l'ID de l'appareil à quatre chiffres après le GUID (figure 7); dans cet exemple 0055,:

      HKLM\System\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}\0055\HcDisableSelectiveSuspend
      
  2. Cliquez sur la ligne dans Process Monitor, appuyez sur Ctrl+ Jpour ouvrir Regedit et accédez directement à la clé (si cela ne fonctionne pas, ouvrez Regedit et accédez manuellement à la clé)

  3. Configurez le paramètre à ce que vous voulez qu'il soit une dernière fois (décochez la case dans l' onglet Gestion de l' alimentation et cliquez OK)

  4. Maintenant, verrouillez ce paramètre et bloquez l'accès à la clé (figure 8):

    1. Cliquez avec le bouton droit sur la clé dans le volet gauche de Regedit
    2. Sélectionnez les autorisations
    3. Cliquez sur Advanced
    4. Un -check la Inherit from parentboîte, puis cliquez sur CopyetOK
    5. Retour dans les autorisations régulières (non avancé) de dialogue, cliquez sur chacun des groupes et utilisateurs répertoriés dans la liste de haut et pour chacun d' eux, un -check la Full Controlcase dans la liste en bas

Désormais, personne, pas vous, pas même le système lui-même ne pourra modifier le paramètre (mais ils peuvent toujours le lire), il doit donc toujours rester sur ce que vous avez défini avant de le mettre en lecture seule. (Si nécessaire, vous pouvez restaurer l'accès en écriture en supprimant les autorisations spécifiques à l'élément dans la boîte de dialogue Paramètres de sécurité avancés et en cochant de nouveau la Inherit from parentcase.

Bien sûr, vous devrez redémarrer par la suite pour vous assurer que le paramètre est respecté.

Dernier recours

Si le lecteur s'arrête toujours , essayez de le paramétrer HKLM\System\CurrentControlSet\Services\usb\DisableSelectiveSuspendsur 1et de le rendre en lecture seule comme ci-dessus. Ce paramètre n'est pas présent dans un système normal, ni documenté comme l' est HcDisableSelectiveSuspend (les seules références à celui-ci se trouvent sur les pages de communauté), mais Windows semble interroger cette valeur avant HcDisableSelectiveSuspend(figure 7), donc ça vaut le coup.

Sherlock Holmes

À ce stade, si vous le souhaitez, vous pouvez revenir en arrière et diagnostiquer le problème sous-jacent au lieu de simplement traiter le symptôme. Vous pouvez utiliser le filtre ci-dessus pour avoir un accès en écriture au journal Process Monitor sur l'entrée de registre au démarrage ( Options → Activer la journalisation de démarrage ) et pendant l' arrêt (ce qui est un peu plus délicat ) pour savoir exactement ce qui le modifie. Ensuite, vous pouvez croiser les doigts et espérer qu'il existe un moyen de l'empêcher.


Des illustrations

Figure 1 : Capture d'écran du concentrateur USB dans le Gestionnaire de périphériques

Capture d'écran du concentrateur USB dans le Gestionnaire de périphériques

Figure 2 : Capture d'écran de l'alimentation électrique sur un concentrateur USB

Capture d'écran de l'alimentation électrique sur un concentrateur USB

Figure 3 : Photo d'un adaptateur USB en Y

Photo d'un adaptateur USB en Y

Figure 4 : Schéma d'utilisation de l'adaptateur USB Y

Schéma d'utilisation de l'adaptateur USB Y

Figure 5 : Capture d'écran de l'onglet Gestion de l'alimentation du concentrateur USB

Capture d'écran de l'onglet Gestion de l'alimentation du concentrateur USB

Figure 6 : Filtres de moniteur de processus nécessaires

Capture d'écran des filtres Process Monitor requis

Figure 7 : Capture d'écran de l'entrée de registre pertinente dans les résultats de Process Monitor

Capture d'écran de l'entrée de registre pertinente dans les résultats de Process Monitor

Figure 8 : Organigramme de définition d'une clé de registre en lecture seule

Organigramme de définition d'une clé de registre en lecture seule

Synetech
la source
Tout d'abord, merci pour votre réponse impressionnante, il est définitivement en pole position pour la prime. J'ai suivi vos conseils et même si j'ai découvert des détails supplémentaires, le problème n'est pas encore résolu. J'ai modifié ma question en conséquence, j'espère que vous pourrez obtenir des informations supplémentaires à partir de ma modification.
scristalli
2

Allez dans le Gestionnaire de périphériques, développez l'arborescence sous «Contrôleurs de bus série universels», cliquez avec le bouton droit sur l'entrée du périphérique et sélectionnez les propriétés.

entrez la description de l'image ici

Accédez à l'onglet "Gestion de l'alimentation" dans la boîte de dialogue des propriétés et décochez la case "Autoriser l'ordinateur à éteindre cet appareil pour économiser de l'énergie".

entrez la description de l'image ici

Si vous utilisez un ordinateur portable, vous devrez peut-être également accéder aux paramètres avancés de votre plan d'alimentation et désactiver l'option qui permet à Windows de couper l'alimentation des appareils lorsqu'ils ne sont pas utilisés.

P Fitz
la source
Merci pour votre réponse. Je suis désolé si ma question n'était pas claire (j'utilise Win 7 en italien et j'ai essayé de traduire à la volée), mais c'est exactement ce que j'ai fait jusqu'à présent.
scristalli
J'ai édité ma question. Merci encore, mais il semble que la solution n'est pas aussi simple.
scristalli
2

Étant donné qu'aucune des autres solutions n'a fonctionné, j'ai résolu la solution de contournement suivante:

Script Powershell pour désactiver le paramètre

En éditant un script trouvé sur Internet, j'ai construit ceci:

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

Exécution au démarrage avec des privilèges élevés

Le script ci-dessus nécessite des privilèges élevés, j'ai donc créé une tâche dans le Planificateur de tâches de Windows 7 pour exécuter le script suivant (en tant qu'administrateur utilisateur) lorsque je me connecte avec mon utilisateur:

C: \ powerMgmt.cmd

powershell -file C:\powerMgmt.ps1

Tout cela est un peu un hack; ce n'est pas élégant et ça ne m'aide pas à comprendre le problème, mais ça le résout.

scristalli
la source
0

Vous voudrez modifier votre registre.

  1. ouvrez regedit.exe et exécutez en tant qu'administrateur.

    a) cliquez sur démarrer> puis tapez regedit dans la zone de recherche> faites un clic droit sur regedit.exe> ​​sélectionnez "exécuter en tant qu'administrateur

  2. Annuler le retrait [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \

    a) faites un clic droit sur les services> survolez "nouveau" et sélectionnez "clé"

    b) entrez "USB"

    c) Accédez à "USB"> faites un clic droit sur USB

    d) survolez "nouveau" et sélectionnez "Valeur DWORD (32 bits)

    e) changer la valeur par défaut en "DisableSelectiveSuspend"

    f) Sélectionnez DisableSelectiveSuspend> cliquez sur "Modifier"> "Modifier"

    g) sous "Données de la valeur:"> changez le 0 en 1> cliquez sur OK.

  3. Redémarrez votre ordinateur. Votre problème devrait être résolu.

Si vous n'êtes pas à l'aise de modifier votre registre. Vous pouvez ouvrir le bloc-notes et couper et coller le texte ci-dessous dans le bloc-notes et enregistrer le fichier sous n'importe quel nom, dites "temp.reg", il doit avoir l'extension ".reg" et non une extension ".txt". Si vous enregistrez le fichier dans votre dossier "Documents", vous devez double-cliquer sur le fichier depuis l'explorateur Windows et les valeurs de registre seront créées pour vous. Voici le texte à coller dans le bloc-notes, incluez tout entre les lignes.


Éditeur de registre Windows version 5.00

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


Si vous utilisez la méthode du fichier .reg, redémarrez votre ordinateur et votre problème devrait être résolu.

user305084
la source
Merci d'avoir essayé, mais cela n'a pas fonctionné.
scristalli
0

Vous pouvez essayer de supprimer complètement le pilote et de supprimer les informations USB périmées:

  1. Goto Device Manager, ouvrez "Universal Serial Bus Controllers", cliquez avec le bouton droit sur le concentrateur racine USB et choisissez Désinstaller.

  2. Utilisez regedit pour supprimer HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FLUSB.
    En cas d'erreur d'autorisation, voir Comment prendre le contrôle total des clés de registre Windows (y compris les commentaires). L'utilitaire gratuit RegOwnit pourrait aider ici (je ne l'ai jamais utilisé moi-même).

  3. Redémarrez.

Créez d'abord un point de restauration système, au cas où.

Une autre solution serait d'utiliser un pilote plus ancien, qui peut être combiné avec la procédure ci-dessus.

En voici deux que j'ai trouvées:
3.5.36.0, A01
Fresco Logic USB 3.0 Driver 3.5.93.0

harrymc
la source
0

Vous pouvez configurer plusieurs schémas de gestion de l'alimentation différents, mais vous en avez sélectionné un (tel que «équilibré» ou «haute performance»). Windows charge probablement votre schéma de gestion de l'alimentation que vous avez sélectionné et là, la gestion de l'alimentation USB n'est probablement pas désactivée.

Dans le menu de démarrage, tapez "modifier le plan d'alimentation" et sélectionnez l'option correspondant à ce que le menu de démarrage trouve. Il existe également d'autres moyens d'accéder à cette fenêtre, par exemple via les paramètres de personnalisation dans lesquels vous définissez votre économiseur d'écran.

Une fois que vous y êtes, vous devez "Modifier les paramètres d'alimentation avancés".

Ensuite, descendez dans "Paramètres USB", puis dans "Paramètre de suspension sélective USB" et modifiez le paramètre ici .

Voici un article que quelqu'un d'autre a écrit sur votre problème. Il contient des instructions et des images similaires.

Loduwijk
la source
Merci d'avoir répondu, mais bien que je ne sois pas sûr d'avoir mentionné ici, c'est la première chose que j'ai essayée. Ça n'a pas marché. Actuellement, la seule solution qui fonctionne est celle que j'ai publiée, le script Powershell désactivant le paramètre à la connexion.
scristalli