¿Cómo puedo decirle a Windows o Linux que pongan un dispositivo específico (PCI ) en estado de suspensión / apagado (D3)?

¿Cómo puedo decir a Windows o Linux para encender un dispositivo específico (por ejemplo, controlador USB, tarjeta de red, tarjeta de vídeo), que se pone en el estado D3? Por lo poco que sé sobre ACPI y tal, el sistema operativo tiene control sobre esto, ya que pone dispositivos en dicho estado D3 (si está soportado), por ejemplo, al poner el ordenador en modo de suspensión (S3). Me pregunto si hay una manera de hacer esto manualmente para ciertos dispositivos.

Para Linux encontré este hilo , lo que sugiere que el controlador pueda controlar la potencia del dispositivo usando, por ejemplo,

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

Y luego descargar el controlador:

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

Para que el dispositivo se duerma.

¿Hay otra manera? Tal vez para emular lo que sucede cuando todo el sistema se pone en modo de espera?

Además, ¿cómo funcionaría esto en Windows 7?

Para Linux encontré este hilo, lo que sugiere que el controlador pueda controlar la potencia del dispositivo usando, por ejemplo,

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

Luego descargando el controlador:

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

Para que el dispositivo se duerma.

Para Linux,

Haciendo eco automático en el archivo sys (/sys/devices/…./…./power/control) le está diciendo al kernel que habilite la Administración de energía de Runtime para ese dispositivo específico. Creo que esto requiere una versión mínima del kernel de 2.6.32, y Runtime PM debe estar habilitado en el archivo de configuración del kernel (CONFIG_PM_RUNTIME = y).

El evento que inicia la transición en D3 es la pérdida de enlace. La descarga del controlador probablemente evitará que el dispositivo entre en D3, mejor sólo si ifdown (o ifconfig ethX abajo) la interfaz.

Puede determinar el estado del devie con el comando:

Lspci -s 00: 02.0 -vv

Para NDIS, el mismo evento (pérdida de enlace) es lo que inicia la transición a D3 (descarga / deshabilitar dispositivo / cable de extracción / enlace-socio desconectar). Puede averiguar el estado del dispositivo mirando Propiedades-> Detalles-> Datos de energía. Además, la pantalla de datos de energía debe informarle de las asignaciones de estado de energía (es decir, qué estado Dx se introduce en cada estado Sx).