Durch folgenden Thread ist unter Windows mit Hilfe von NHC das Problem eigentlich schon gelöst:
3000 n200 0769 Lüftersteuerung Lüfter Problem Laut
Ziel
Ähnliches möchte ich auch für Linux erreichen - am einfachsten wäre hier eine Anpassung der DSDT, mit der man sicher die Temperaturen genauso auslesen kann - und optimalerweise den Lüfter direkt steuern, nicht nur durch "vortäuschen" einer niedrigeren Temperatur.
Auslesen/erstellen der DSDT unter Linux mit iasl
DSDT in DSL-Code umwandeln:
Mit
kann man dann die DSDT dann wieder erstellen, nachdem man (zumindest bei mir) einen Fehler korrigiert hat:
Zeile 23:
wird zu
(Ich hoffe das ist so richtig korrigiert.)
Die Original-Datei sowie die korrigierte habe ich angehängt (Lenovo 3000 N200 0769-AC5).
Jetzt zum Inhalt:
Wenn man einfach nach FAN in der Datei sucht, dann findet man automatisch den Field-Abschnitt "_SB.PCI0.LPCB.EC0.ERAM", aus welchem auch in Windows die Temperaturen ausgelesen werden.
In der lenovo.cs werden drei Offsets verwendet:
B0, B1 und B5
Sucht man B0 in der DSL-Datei, dann findet man die Zeile 5493
Der Name CTMP ist ja auch vielversprechend ;-)
Die 8 Bit von B1 machen aber irgendwie keinen Sinn:
(die letzten zwei Bit sind nicht definiert)
In Zeile 5504 findet man dann Offset B5:
Mit der Bezeichnung SKTA kann ich nichts anfangen.
Mir stellt sich nun die Frage: Stehen in B1 und B5 wirklich (ab und zu, bei manchen Modellen?) Temperaturen?
In der lenovo.cs wird die aktuelle Temperatur ja durch eine Maximumsbildung von den Werten aus B0, B1 und B5 gebildet.
Ansonsten habe ich mich mit dem Thema bisher kaum beschäftigt, deshalb hoffe ich, dass sich hier auch einige melden, die mehr wissen ;-)
Leider habe ich für 2,5 Wochen keinen Zugriff auf das N200 - es gehört nicht mir, aber den Lüfter will ich unter Linux trotzdem leise bekommen.
Lüftersteuerung
Die eigentliche Lüftersteuerung stelle ich mir momentan so vor, dass die entsprechenden Abschnitte PowerResource, Device und ThermalZone einfach eingefügt werden - was machbar sein sollte mit genug Hintergrundwissen und wenn Lenovo sich einigermaßen an Standards hält. Soweit ich gelesen habe, geht die Lüftersteuerung fast immer über das Device PNP0C0B, verschiedene Stufen = verschiedene Offsets. Vielleicht kann das jemand bestätigen.
So, vielen Dank fürs Lesen
Gruß
Aaron
PS: Nützliche Links:
http://www.acpi.info/spec.htm (ACPI Spezifikation)
3000 n200 0769 Lüftersteuerung Lüfter Problem Laut (oben erwähnte lenovo.cs für NHC)
3000 n200 0769 Lüftersteuerung Lüfter Problem Laut
Ziel
Ähnliches möchte ich auch für Linux erreichen - am einfachsten wäre hier eine Anpassung der DSDT, mit der man sicher die Temperaturen genauso auslesen kann - und optimalerweise den Lüfter direkt steuern, nicht nur durch "vortäuschen" einer niedrigeren Temperatur.
Auslesen/erstellen der DSDT unter Linux mit iasl
DSDT in DSL-Code umwandeln:
Code:
cat /proc/acpi/dsdt > dsdt.dat
iasl -d dsdt.dat
Code:
iasl -tc dsdt.dsl
Zeile 23:
Code:
External (^CPU0._PPC)
Code:
External (\_PR.CPU0._PPC)
Die Original-Datei sowie die korrigierte habe ich angehängt (Lenovo 3000 N200 0769-AC5).
Jetzt zum Inhalt:
Wenn man einfach nach FAN in der Datei sucht, dann findet man automatisch den Field-Abschnitt "_SB.PCI0.LPCB.EC0.ERAM", aus welchem auch in Windows die Temperaturen ausgelesen werden.
In der lenovo.cs werden drei Offsets verwendet:
B0, B1 und B5
Sucht man B0 in der DSL-Datei, dann findet man die Zeile 5493
Code:
CTMP, 8,
Die 8 Bit von B1 machen aber irgendwie keinen Sinn:
Code:
LIDE, 1,
PMEE, 1,
PWBE, 1,
RNGE, 1,
BTWE, 1,
DCKE, 1,
In Zeile 5504 findet man dann Offset B5:
Code:
SKTA, 8,
Mir stellt sich nun die Frage: Stehen in B1 und B5 wirklich (ab und zu, bei manchen Modellen?) Temperaturen?
In der lenovo.cs wird die aktuelle Temperatur ja durch eine Maximumsbildung von den Werten aus B0, B1 und B5 gebildet.
Ansonsten habe ich mich mit dem Thema bisher kaum beschäftigt, deshalb hoffe ich, dass sich hier auch einige melden, die mehr wissen ;-)
Leider habe ich für 2,5 Wochen keinen Zugriff auf das N200 - es gehört nicht mir, aber den Lüfter will ich unter Linux trotzdem leise bekommen.
Lüftersteuerung
Die eigentliche Lüftersteuerung stelle ich mir momentan so vor, dass die entsprechenden Abschnitte PowerResource, Device und ThermalZone einfach eingefügt werden - was machbar sein sollte mit genug Hintergrundwissen und wenn Lenovo sich einigermaßen an Standards hält. Soweit ich gelesen habe, geht die Lüftersteuerung fast immer über das Device PNP0C0B, verschiedene Stufen = verschiedene Offsets. Vielleicht kann das jemand bestätigen.
So, vielen Dank fürs Lesen
Gruß
Aaron
PS: Nützliche Links:
http://www.acpi.info/spec.htm (ACPI Spezifikation)
3000 n200 0769 Lüftersteuerung Lüfter Problem Laut (oben erwähnte lenovo.cs für NHC)






