Comment puis-je dire à Windows ou Linux de placer un périphérique (PCI [e]) spécifique en état de veille / arrêt (D3)?


5

Comment puis-je dire à Windows ou Linux d'allumer un périphérique spécifique (par exemple, un contrôleur USB, une carte réseau, une carte vidéo), ce qui le met à l'état D3? D'après le peu que je sais d'ACPI, le système d'exploitation en a le contrôle, car il place les périphériques dans l'état D3 (si pris en charge), par exemple lors de la mise en veille de l'ordinateur (S3). Je me demande s’il est possible de le faire manuellement pour certains appareils.

Pour Linux, j’ai trouvé ce fil de discussion suggérant d’activer le pilote pour contrôler la puissance du périphérique en utilisant par exemple:

 echo -n "auto" > /devices/pci0000:00/0000:00:02.0/power/control' 

puis décharger le pilote:

 echo -n "0000:00:02.0" > /sys/bus/pci/drivers/i915/unbind

de sorte que l'appareil va dormir.

Y a-t-il un autre moyen? Peut-être pour imiter ce qui se passe lorsque tout le système est mis en mode veille?

De plus, comment cela fonctionnerait-il dans Windows 7?

Réponses:


3

Pour Linux, j’ai trouvé ce fil de discussion suggérant d’activer le pilote pour contrôler la puissance du périphérique en utilisant par exemple:

echo -n "auto"> /devices/pci0000:00/0000:00:02.0/power/control 'et

puis décharger le chauffeur:

echo -n "0000: 00: 02.0"> / sys / bus / pci / drivers / i915 / unbind

de sorte que l'appareil va dormir.

Pour Linux,

Faire écho à auto dans le fichier sys (/sys/devices/..../..../power/control) indique au noyau d'activer la gestion de l'alimentation Runtime pour ce périphérique spécifique. Je pense que cela nécessite une version minimale du noyau de 2.6.32 et que Runtime PM doit être activé dans le fichier de configuration du noyau (CONFIG_PM_RUNTIME = y).

L'événement qui initie la transition vers D3 est la perte de lien. Le déchargement du pilote empêchera probablement le périphérique de passer en D3, mieux vaut simplement ifftdown (ou ifconfig ethX down) de l'interface.

Vous pouvez déterminer l'état du périphérique à l'aide de la commande suivante:

lspci -s 00: 02.0 -vv

Pour NDIS, le même événement (perte de lien) est ce qui initie la transition vers D3 (déchargement / désactivation du périphérique / câble, extraction / déconnexion du partenaire de liaison). Vous pouvez connaître l'état de l'appareil en consultant Propriétés -> Détails -> Données d'alimentation. De plus, l’écran de données d’alimentation devrait vous informer des mappages d’état d’alimentation (c.-à-d. Quel état Dx est entré dans chaque état Sx).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.