3000 N200 - DSDT modifizieren für bessere Lüftersteuerung (Linux)

asp

New member
Themenstarter
Registriert
5 Juni 2008
Beiträge
5
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:
Code:
cat /proc/acpi/dsdt > dsdt.dat
iasl -d dsdt.dat
Mit
Code:
iasl -tc dsdt.dsl
kann man dann die DSDT dann wieder erstellen, nachdem man (zumindest bei mir) einen Fehler korrigiert hat:
Zeile 23:
Code:
    External (^CPU0._PPC)
wird zu
Code:
    External (\_PR.CPU0._PPC)
(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
Code:
CTMP,   8,
Der Name CTMP ist ja auch vielversprechend ;-)

Die 8 Bit von B1 machen aber irgendwie keinen Sinn:
Code:
                        LIDE,   1, 
PMEE,   1,
PWBE,   1,
RNGE,   1,
BTWE,   1,
DCKE,   1,
(die letzten zwei Bit sind nicht definiert)

In Zeile 5504 findet man dann Offset B5:
Code:
SKTA,   8,
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)
 

Anhänge

einfache Lösung

Der Thread ist zwar schon etwas alt, aber für Leute, die das Problem heute noch haben, lohnt es sich vielleicht, eine einfache Lösung zu ergänzen.
Ergänze bei Kernelversion > 2.6.22 (siehe /boot/vmlinuz-kernelversion) in der Datei /etc/modprobe.d/options folgende Zeile:
Code:
options thinkpad_acpi fan_control=1
und starte den Rechner neu. Der Lüfter läuft dann seltener und sehr viel leiser.

Näheres hier: http://www.thinkwiki.org/wiki/How_to_control_fan_speed#For_Linux
 
Hast du das selbst getestet?
thinkpad_acpi ist für Thinkpads und soweit ich mich erinnere, haben andere berichtet, dass dieses Modul auf dem N200 nicht funktioniert.
 
Hall.

Mein Gott, schon ein uralter Thread, aber das Problem scheint mir für Linux-User mit dem genannten Modell weiterhin aktuell zu sein!
Hat schon Jemand eine brauchbare Lösung gefunden?

Danke jetzt schonmal.
 
  • ok1.de
  • thinkstore24.de
  • ok2.de - Notebook Computer Server
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben