Cómo evitar apagar ciertos dispositivos USB cuando una máquina está suspendida


8

Me gustaría mantener la fuente de alimentación de una unidad con alimentación USB cuando el sistema entra en modo de suspensión (AKA S3 o "suspender a RAM").

Normalmente, la energía se corta mientras la máquina está suspendida, lo que hace que se desmonte y luego se vuelva a montar cuando se reanude el sistema. Esto no es realmente bueno, especialmente si la unidad en sí es compatible con la administración de energía.

Aunque podría ejecutarlo en una fuente de alimentación separada, preferiría evitar asignar más cableado para algo que, al menos en teoría, se pueda hacer con mi hardware existente.

¿Cómo puedo determinar si es posible hacer esto con mi sistema y cómo puedo organizar un dispositivo USB en particular, es decir, este gabinete, para que siempre sea tratado de esta manera?

Estoy ejecutando ubuntu 10.10.

actualizar

Descubrí este hilo de ubuntuforums que sugiere usar acpitool -wpara determinar el nivel de activación disponible para el controlador USB.

Ejecutar esto en mi sistema muestra S1 para los controladores 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

Lo que parece indicarme que la capacidad de activación solo se puede habilitar para USB en el estado S1.

No estoy seguro de cuán útil es esto, ya que proporcionar potencia completa y permitir el despertar puede ser una preocupación ortogonal. Es posible que habilitar la activación solo proporcione poca energía, por lo que puede haber una forma diferente de habilitar la energía completa.

Si encender el despertador equivale a proporcionar potencia completa, parece que puedo hacer lo que quiero colocando una tarjeta USB en la ranura de expansión (¿supongo que eso PCIEes lo que es?). Aunque creo que me gustaría saber un poco más sobre esto antes de intentar excavar una tarjeta de PC USB2.


1
esta pregunta parece ser casi un duplicado de su otra pregunta: unix.stackexchange.com/questions/5343
Stefan

@Stefan: Es una elaboración / aclaración de lo que es un punto secundario en esa otra publicación. También es distinto porque se enfoca más en el lado del sistema, mientras que esa pregunta es más sobre las capacidades típicas de los dispositivos conectados.
intuido

@Stefan: Sin embargo, gracias por mencionar eso ... ahora que conozco un poco mejor el paisaje, está claro para mí que esta debería ser una pregunta separada, así que he editado la otra.
intuido

Respuestas:


4

Habilitar la activación en un bus no equivale a darle a ese bus la máxima potencia mientras está en suspensión. Simplemente significa que el sistema escuchará la señal de activación en las líneas que corresponden a ese dispositivo. El bus apropiado proporciona la energía de reserva, pero esta energía es mucho menor que la potencia total para el funcionamiento normal. Agregar una tarjeta USB PCI / PCIe puede o no permitir la activación por USB, pero definitivamente no proporcionará energía completa a los puertos USB mientras la máquina esté en S3. En cambio, proporcionará lo suficiente para mantener el chipset en funcionamiento, aproximadamente 200 mA a 3,3 V de lo que deduzco de esta página de Intel sobre sus adaptadores de red.

Creo que esta es una característica que será específica para una placa base y solo se podrá controlar a través del BIOS. Tengo un Thinkpad y una placa base Gigabyte que permiten alimentar dispositivos USB mientras la máquina no está despierta, y en ambos casos es una configuración en el BIOS en lugar de algo que puede cambiar mientras el sistema se inicia por completo. Ahora que lo pienso, es posible que Thinkpad configure eso mientras se ejecuta, pero los Thinkpads son conocidos por tener extensiones ACPI especiales para administrar las opciones de energía. De todos modos, para ambos sistemas es una propuesta de todo o nada: no hay opción para la configuración por puerto o por dispositivo. Estoy bastante seguro de que el USB de máxima potencia en suspensión es algo que no es estándar en las PC, y como tal, no hay una forma portátil de verificar si está disponible.

Aunque es hardware adicional, creo que la solución más simple y más universal es usar un concentrador con alimentación.


3

El kernel tiene soporte para la función de ahorro de energía USB 2.0

Para deshabilitarlo después de haber iniciado, puede intentar

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

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

Para más detalles mira en esta página de lesswatts.org


Ese enlace ahora está muerto, ¿sabe si el sitio se movió o tiene enlaces alternativos?
Kerry

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.