Comment éviter d'éteindre certains périphériques USB lorsqu'une machine est suspendue


8

Je voudrais maintenir l'alimentation d'un lecteur alimenté par USB lorsque le système passe en mode de suspension (AKA S3 ou "suspension vers RAM").

Normalement, l'alimentation est coupée pendant que la machine est suspendue, ce qui la fait démonter puis remonter lorsque le système est remis en marche. Ce n'est pas vraiment génial, surtout si le disque lui-même prend en charge la gestion de l'alimentation.

Bien que je puisse le faire fonctionner sur une alimentation séparée, je préfère éviter d'allouer plus de câblage à quelque chose qui peut, au moins en théorie, être fait avec mon matériel existant.

Comment puis-je déterminer s'il est possible de le faire avec mon système, et comment puis-je faire en sorte qu'un périphérique USB particulier, c'est-à-dire ce boîtier, soit toujours traité de cette façon?

J'utilise Ubuntu 10.10.

mise à jour

Découvert ce fil ubuntuforums qui suggère d'utiliser acpitool -wpour déterminer le niveau de réveil disponible pour le contrôleur USB.

L'exécution de ceci sur mon système affiche S1 pour les contrôleurs USB:

$ acpitool -w
   Device   S-state   Status   Sysfs node
  ---------------------------------------
  1. LID      S3    *enabled   
  2. PBTN     S4    *enabled   
  3. PCI0     S3    *disabled  no-bus:pci0000:00
  4. USB0     S1    *disabled  pci:0000:00:1d.0
  5. USB1     S1    *disabled  pci:0000:00:1d.1
  6. USB2     S1    *disabled  pci:0000:00:1d.2
  7. USB3     S1    *disabled  pci:0000:00:1d.7
  8. MODM     S3    *disabled  
  9. PCIE     S4    *disabled  pci:0000:00:1e.0

Ce qui semble me dire que la capacité de réveil ne peut être activée que pour l'USB à l'état S1.

Je ne sais pas à quel point cela est utile, car fournir la pleine puissance et permettre le réveil peuvent être des préoccupations orthogonales. Il se peut que l'activation du réveil ne fournisse qu'une faible puissance, il peut donc y avoir une manière différente d'activer la pleine puissance.

Si l'activation du réveil équivaut à fournir la pleine puissance, il semble que je puisse faire ce que je veux en mettant une carte USB dans le slot d'extension (je suppose que c'est ce que PCIEc'est?). Bien que je pense que je voudrais en savoir un peu plus à ce sujet avant d'essayer de fouiller une carte PC USB2.


1
cette question semble être un double de votre autre question: unix.stackexchange.com/questions/5343
Stefan

@Stefan: C'est une élaboration / clarification de ce qui est une sorte de point secondaire sur cet autre poste. Il se distingue également en ce qu'il se concentre davantage sur le côté système des choses, alors que cette question concerne davantage les capacités typiques des périphériques connectés eux-mêmes.
intuition

@Stefan: Merci d'avoir mentionné cela cependant .. maintenant que je connais un peu mieux le paysage, il est clair pour moi que cela devrait être une question distincte, j'ai donc édité cette autre.
intuition

Réponses:


4

L'activation du réveil sur un bus n'équivaut pas à donner à ce bus la pleine puissance pendant la suspension. Cela signifie simplement que le système écoutera le signal de réveil sur les lignes correspondant à cet appareil. L'alimentation de secours est fournie par le bus approprié, mais cette puissance est bien inférieure à la pleine puissance pour un fonctionnement normal. L'ajout d'une carte USB PCI / PCIe peut ou non permettre un réveil sur USB, mais il ne fournira certainement pas la pleine puissance aux ports USB pendant que la machine est en S3. Au lieu de cela, il fournira juste assez pour que le chipset fonctionne, environ 200mA @ 3,3V d'après ce que je collecte sur cette page d'Intel à propos de ses adaptateurs réseau.

Je pense que c'est une fonctionnalité qui va être spécifique à une carte mère et contrôlable uniquement via le BIOS. J'ai un Thinkpad et une carte mère Gigabyte qui permettent d'alimenter des périphériques USB pendant que la machine n'est pas réveillée, et dans les deux cas, c'est un paramètre dans le BIOS plutôt que quelque chose que vous pouvez changer pendant que le système est complètement démarré. À bien y penser, il peut y avoir un moyen pour le Thinkpad de configurer cela pendant son fonctionnement, mais les Thinkpad sont connus pour avoir des extensions ACPI spéciales pour gérer les options d'alimentation. Quoi qu'il en soit, pour les deux systèmes, c'est une proposition tout ou rien - il n'y a pas d'option pour la configuration par port ou par périphérique. Je suis assez certain que l'USB à pleine puissance en suspension est quelque chose qui n'est pas standard sur tous les PC, et en tant que tel, il n'y a aucun moyen portable de vérifier s'il est disponible.

Bien qu'il s'agisse de matériel supplémentaire, je pense que la solution la plus simple et la plus universelle consiste à simplement utiliser un concentrateur alimenté.


3

Le noyau prend en charge la fonction d'économie d'énergie USB 2.0

Pour le désactiver après avoir démarré, vous pouvez essayer

echo 1> / sys / bus / usb / devices / your-USB-device / power / autosuspend

echo "on"> / sys / bus / usb / devices / your-USB-device / power / level

Pour plus de détails, regardez dans cette page lesswatts.org


Ce lien est maintenant mort, savez-vous si le site a été déplacé ou s'il existe des liens alternatifs?
Kerry

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.