Wie kann ich Windows oder Linux anweisen, ein bestimmtes (PCI [e]) Gerät in den Ruhezustand (D3) zu versetzen?

5

Wie kann ich Windows oder Linux anweisen, ein bestimmtes Gerät (z. B. USB-Controller, Netzwerkkarte, Videokarte) herunterzufahren, dh, es in den D3-Status zu versetzen? Von dem sehr kleinen, was ich über ACPI und dergleichen weiß, hat das Betriebssystem die Kontrolle darüber, da es Geräte in den besagten D3-Zustand versetzt (sofern unterstützt), beispielsweise wenn der Computer in den Ruhezustand (S3) versetzt wird. Ich frage mich, ob es eine Möglichkeit gibt, dies manuell für bestimmte Geräte durchzuführen.

Für Linux habe ich gefunden dieser Thread , was vorschlägt, dem Fahrer zu ermöglichen, die Leistung der Vorrichtung unter Verwendung von z.B.

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

und dann den Treiber entladen:

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

damit das Gerät schläft.

Gibt es eine andere Art und Weise? Vielleicht um zu emulieren, was passiert, wenn das gesamte System in den Ruhezustand versetzt wird?

Wie würde dies in Windows 7 funktionieren?

Balthasar Neumann
quelle

Antworten:

3

Für Linux habe ich diesen Thread gefunden und vorgeschlagen, den Treiber zu aktivieren   Steuern Sie die Leistung des Geräts, indem Sie z.

echo -n "auto" & gt; /devices/pci0000:00/0000:00:02.0/power/control 'und

dann den Treiber entladen:

echo -n "0000: 00: 02.0" & gt; / sys / bus / pci / drivers / i915 / aufheben

so, dass die   Gerät wird schlafen.

Für Linux

Das automatische Echo der sys-Datei (/sys/devices/..../..../power/control) weist den Kernel an, Runtime Power Management für dieses bestimmte Gerät zu aktivieren. Ich glaube, dies erfordert eine Kernel-Mindestversion von 2.6.32 und Runtime PM muss in der Kernel-Konfigurationsdatei aktiviert sein (CONFIG_PM_RUNTIME = y).

Das Ereignis, das den Übergang zu D3 einleitet, ist ein Verbindungsverlust. Das Entladen des Treibers wird wahrscheinlich verhindern, dass das Gerät in D3 wechselt, besser nur, wenn die Schnittstelle heruntergefahren wird (oder wenn ethX heruntergefahren wird).

Sie können den Status des Geräts mit dem Befehl ermitteln:

lspci -s 00: 02.0 -vv

Für NDIS löst das gleiche Ereignis (Verbindungsverlust) den Übergang zu D3 aus (Entladen / Deaktivieren von Gerät / Kabelzug / Verbindungspartner trennen). Den Status des Geräts können Sie unter Eigenschaften- & gt; Details- & gt; Leistungsdaten ermitteln. Außerdem sollten Sie auf dem Bildschirm mit den Energiedaten Informationen über die Zuordnungen der Energiestatus erhalten (d. H. Welcher Dx-Status in jedem Sx-Status eingegeben wird).

xraso
quelle