web-dev-qa-db-fra.com

Empêcher Windows 7 d'activer les économies d'énergie sur un concentrateur USB 3.0

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

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

Je peux désactiver ce paramètre en procédant comme suit:
Allez dans le Gestionnaire de périphériques> Faites un clic droit sur le concentrateur> Propriétés> Gestion de l’alimentation> Décochez . Autorisez 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. Est-il possible de désactiver ce paramètre de manière permanente?

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

MODIFIER: Peter Fitzgerald 's answer décrit exactement ce que j'ai fait jusqu'à présent. Chaque fois que je redémarre la case à cocher est cochée, je cherche un moyen de la désactiver de façon permanente.

MODIFIER: après avoir lu Synetech 's répondre , j'ai pu localiser l'entrée de registre modifiée lorsque je modifie le paramètre, à savoir:

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, ainsi que lorsque je désactive et réactive le périphérique par Process System. Dommage, tout réglage 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 chercher 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 existantes . INF trouvé en ligne (les clés à mettre sous /WDF et les clés à placer sous le parent), comme ceci , mais je n'ai rien eu.

Autres informations utiles:

  • sous HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FLUSB\ROOT_HUB_FL30\, j'ai également ces deux voix: 5&f0b5d82&0 et 5&21f33a01&0, qui semble refléter la configuration de la clé ci-dessus. Le seul changement IdleInWorkingState, 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, il doit être mis en cache quelque part.
14
scristalli

Aucune des autres solutions n’ayant fonctionné, j’ai résolu le problème suivant:

Script Powershell pour désactiver le paramètre

En modifiant 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 d'utilisateur) lorsque je me connecte à mon utilisateur:

C:\powerMgmt.cmd

powershell -file C:\powerMgmt.ps1

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

2
scristalli

Exigences de puissance

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

Êtes-vous sûr que le lecteur est en train de fermer ses portes à 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 tirer l’alimentation de deux ports. (Les lecteurs externes à tirage élevé sont généralement fournis avec un adaptateur en Y, vous devez donc cocher la case correspondante et le manuel.)

Traquer la maladie

Je peux désactiver ce paramètre en procédant comme suit: Allez dans le Gestionnaire de périphériques> Faites un clic droit sur le concentrateur> Propriétés> Gestion de l’alimentation> Décochez la case 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. Est-il possible de désactiver ce paramètre de manière permanente?

Si la désactivation de ce paramètre résout réellement le problème, le problème est maintenant de l’obtenir et de ne pas le rétablir. Une option consiste à utiliser quelque chose comme Process Monitor avec un filtre défini sur l'entrée de registre correspondante ( HcDisableSelectiveSuspend ) pour voir quel programme le modifie de sorte que l'option soit désactivée (il devrait être réglé sur 1 à disable gestion de l'alimentation).

Ce serait la méthode idéale car elle détecte la cause du réglage en cours. Malheureusement, cela ne fait que trouve la cause; En fait, le réparer ne sera peut-être pas facile ni même possible. Par exemple, Windows peut le restaurer automatiquement à l’arrêt ou, plus probablement, le configurer par défaut au démarrage lorsqu’il détecte du matériel.

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

Incidemment, connectez-vous le lecteur à différents ports USB? En ce qui concerne Windows, un "périphérique connu" est un couplage de périphérique + port , donc si vous avez déjà branchez un périphérique sur le port A et laissez Windows installer les pilotes correspondants. Branchez ensuite le périphérique de sauvegarde sur le port B. Windows le verra comme un nouveau périphérique et (ré) installera les pilotes correspondants, avec le paramètre default paramètres. Par conséquent, vous devez redéfinir tous les paramètres lorsque vous le connectez à un nouveau port. Après cela, Windows doit mémoriser les paramètres du nouveau et de l'ancien port. Vous voudrez peut-être brancher votre ou vos lecteurs une fois sur chaque port USB et les configurer de manière à pouvoir ê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

Un moyen d'empêcher Windows de rétablir le paramètre consiste à refuser tout accès à ce paramètre. Cela nécessite l’utilisation de l’éditeur de registre, ce qui peut être risqué si vous ne faites pas attention, prenez donc les précautions de sauvegarde habituelles et vérifiez bien avant de faire une modification (surtout lors de la suppression de quelque chose que vous ne devriez pas faire ici de toute façon).

  1. Vous devez d’abord trouver l’ID de périphérique approprié:

    1. Ouvrez la boîte de dialogue Propriétés du concentrateur USB racine de votre concentrateur dans Gestionnaire de périphériques (figure 1), puis passez à l'onglet Gestion de l'alimentation.
    2. Modifiez la valeur de la case à cocher Allow to turn off (peu importe quoi, mais change ça), mais faites pas cliquez OK (figure 5)
    3. Exécutez Process Manager et définissez un filtre (figure 6):
      1. Ctrl+L
      2. Définir pour Path, contains, DisableSelectiveSuspend, Include
      3. Cliquez sur Add
      4. Définissez un autre filtre pour Operation, contains, setvalue, Include
      5. Add
      6. Cliquez sur OK
    4. Effacer la capture en cours (Ctrl+X) et commencer (Ctrl+E) s'il ne fonctionne pas déjà
    5. Revenez dans la boîte de dialogue Gestionnaire de périphériques et cliquez sur OK
    6. Revenez dans Process Monitor et arrêtez la capture (Ctrl+E)
    7. Notez l’identifiant 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, la presse Ctrl+J ouvrir Regedit et accéder directement à la clé (si cela ne fonctionne pas, ouvrez Regedit et naviguez manuellement vers la clé)

  3. Configurez ce paramètre une dernière fois (décochez la case dans l'onglet Gestion de l'alimentation et cliquez sur 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 Autorisations
    3. Cliquez sur Advanced
    4. n - cochez la case Inherit from parent, puis cliquez sur Copy et OK
    5. De retour dans la boîte de dialogue des autorisations habituelles (non avancées), cliquez sur chacun des groupes et utilisateurs répertoriés dans la liste du haut et pour chacun d'eux, n - cochez la case Full Control dans la liste du bas

Maintenant, personne, pas vous, ni même le système lui-même ne pourra modifier le paramètre (mais ils peuvent toujours le lire), il devrait donc toujours rester à ce que vous avez défini avant de le définir 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 revérifiant la case Inherit from parent.

Bien sûr, vous devrez ensuite redémarrer pour vous assurer que le réglage est correct.

Dernier recours

Si le lecteur est toujours en train de s'éteindre, essayez de définir HKLM\System\CurrentControlSet\Services\usb\DisableSelectiveSuspend sur 1 et 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 HcDisableSelectiveSuspend est (les seules références qui le concernent se trouvent sur des pages de communauté), mais Windows semble interroger cette valeur avant HcDisableSelectiveSuspend (figure 7), cela vaut donc la peine de tenter 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 que le journal Process Monitor dispose d'un accès en écriture à l'entrée de registre lors du démarrage (Options → Activer la journalisation de démarrage) et de arrêt (ce qui signifie légèrement plus délicat ) pour savoir exactement ce qui le change. Ensuite, vous pouvez croiser les doigts et espérer qu’il ya un moyen de l’empêcher.


Des illustrations

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

Screenshot of USB hub in Device Manager

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

Screenshot of power draws on a USB hub

Figure 3 : Photo d'un adaptateur en Y USB

Photo of a USB Y-adapter

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

Diagram of USB Y-adapter usage

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

Screenshot of Power Management tab of USB hub

Figure 6 : Filtres de moniteur de processus nécessaires

Screenshot of required Process Monitor filters

Figure 7 : capture d'écran de l'entrée de registre correspondante dans les résultats de Process Monitor.

Screenshot of relevant registry entry in Process Monitor results

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

Flow-diagram of setting a registry key to read-only

6
Synetech

Allez dans le Gestionnaire de périphériques, développez l'arborescence sous "Contrôleurs de bus universels", cliquez avec le bouton droit de la souris sur l'entrée du périphérique et sélectionnez Propriétés.

enter image description here

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 ce périphérique pour économiser de l'énergie."

enter image description here

Si vous utilisez un ordinateur portable, vous devrez peut-être également définir vos paramètres de gestion de l'alimentation avancés et désactiver l'option permettant à Windows de couper l'alimentation des périphériques non utilisés.

2
P Fitz

Vous pouvez essayer de supprimer complètement le pilote et d'effacer les informations USB obsolètes:

  1. Allez dans Gestionnaire de périphériques, ouvrez "Contrôleurs de bus universels série", cliquez avec le bouton droit sur le concentrateur USB racine 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 intégral 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émarrer.

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

Une autre solution consiste à utiliser un pilote plus ancien, qui peut être combiné à la procédure ci-dessus.

Voici deux que j'ai trouvé:
3.5.36.0, A01
Pilote Fresco Logic USB 3.0 3.5.93.0

0
harrymc

Vous voudrez éditer votre registre.

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

    a) cliquez sur Démarrer> puis tapez regedit dans le champ de recherche> cliquez avec le bouton droit sur regedit.exe> ​​sélectionnez "Exécuter en tant qu'administrateur".

  2. Ne pas décompresser [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \

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

    b) entrez "USB"

    c) Naviguez vers "USB"> clic droit sur USB

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

    e) changez 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 ne vous sentez pas à l'aise, modifiez votre registre. Vous pouvez ouvrir le bloc-notes, couper et coller le texte ci-dessous dans le bloc-notes et enregistrer le fichier sous n'importe quel nom. Par exemple, "temp.reg" doit avoir l'extension ".reg" et non pas ".txt". Si vous enregistrez le fichier dans votre dossier "Documents", vous devez alors double-cliquer sur le fichier à partir de l'Explorateur Windows et les valeurs de registre seront créées pour vous. Voici le texte à coller dans le bloc-notes, tout ce qui se trouve 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.

0
user305084

Vous pouvez configurer plusieurs modes de gestion de l'alimentation, mais vous en avez sélectionné un (par exemple, "Équilibré" ou "Haute performance"). Windows est probablement en train de charger le schéma de gestion de l’énergie que vous avez sélectionné et , la gestion de l’alimentation USB n’est probablement pas désactivée.

Dans le menu Démarrer, tapez "Modifier le plan d'alimentation" et sélectionnez l'option correspondante au menu Démarrer. Vous pouvez également accéder à cette fenêtre par d'autres moyens, 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, allez dans "Paramètres USB", puis "Paramètres de suspension sélective USB" et modifiez le paramètre ici .

Voici un article écrit par une autre personne sur votre problème. Il contient des instructions et des images similaires.

0
Loduwijk