• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Taktfrequenz der CPU einstellen?

Ulrich_H

Newbie
Ich habe ein Acer Extensa 3000er Serie mit einem 1,5GH Centrino. Diese CPU wird aber unter Suse 10.0 und 10.1 mit 1,6GHz getaktet. Nicht das ich mich nicht über etwas mehr Leistung freuen würde, ich mach mir nur Sorgen w/ der Temp. im Gehäuse. Schließlich ist auch noch eine ATI Mobility verbaut und auch die wird unter Suse deutlich wärmer (Handballenauflage ist deutlich wärmer) als unter dem Fenstersystem.

Wo / wie kann ich denn die Taktfreq. oben kappen?
 
Mit KPowersave kann man die Geschwindigkeit dynamisch einstellen, falls deine CPU das unterstützt. Allerdings funktioniert das auch nicht optimal, hab häufiger beim booten Fehlermeldungen...
 

Tlaloc

Member
Schau nach den Schlagworten "powersave", "cpufreq", "cpudyn" und besonders for Centrinos nach "speedstep". Für die Grundlagen lohnt sich evtl. ein Ausflug ins Gentoo-Wiki.

Grüße, T.
 

na-cx

Hacker
Das ist ein DSDT Problem.

wichtige Seiten:
1) http://sourceforge.net/projects/sbs-linux/ // DSDT-Patch & kernel < 2.6.12 ein SBS-Patch
2) http://acpi.sourceforge.net/dsdt/index.php // eventuell findet man hier eine gepatchte DSDT zum einspielen
3) http://www.intel.com/technology/IAPC/acpi/downloads.htm // Intel IASL Compiler
4) http://www.cpqlinux.com/acpi-howto.html#fix_broken_dsdt // kleine Hilfestellung
5) http://www.squirrel.nl/people/jvromans/articles/TM4001WLMi/acpi/dsdt.html // Beispiele einer kaputten und reparierten DSDT

Vorgehensweise:

Den SBS-Patch von 1) und den IASL Compiler von 2) besorgen. Ein neues Verzeichnis anlegen, in welchem man beide heruntergeladenen Dateien entpackt. Als root mit dem Befehl # cat /proc/acpi/dsdt > /home/%pfad-zum-erstellten-verzeichnis%/dsdt.dat die defekte DSDT kopieren. Den IASL-Compiler entpacken, in das Unterverzeichnis /acpia.../compiler wechseln und make aufrufen. Die Datei iasl in das Verzeichnis mit der DSDT.dat kopieren. Durch aufruf von # ./iasl -d dsdt.dat die DSDT decodieren. Den SBS Patch entpacken. In das entsprechende Verzeichnis gehen und die Readme durchlesen - vor allem welcher Patch für die DSDT benötigt wird. Die entstandene dsdt.dsl patchen. Nun die Beispiele von 5) ansehen um zu sehen an welcher Stelle die CPU-Frequenzen wie verändert werden müssen (Das TM 4001 hat einen 1,5'er Centrino und die DSDT eines 1,6'er). Die dsdt.dsl in einem Editor nach Wahl bearbeiten und mit # ./iasl -tc dsdt.dsl compilieren.
Hierbei dürften erfahrungsgemäss Fehlermeldungen auftauchen. Erst mal die Warnungen mit "Warning XXX - ... method must return a value" beachten. Jede dieser Methoden nun einen Rückgabewert mit 'Return (0x0)' versehen (Editor). Anschliessend mit # ./iasl -tc dsdt.dsl nochmals die Datei durch den Compiler schieben. Nun sollten nur noch 3 Warnungen bezüglich des SBS-Patches dort stehen. Einfach ignorieren.
Nun mit # mkinitrd -a /%pfad-zur-fertigen-dsdt/DSDT.aml eine neue Initrd erzeugen. Nach einem Neustart kann man nun den Akkustand, momentane CPU-Frequenz u.a. auslesen.

Sollte unter 2) eine passende DSDT vorhanden sein, so kann man sich auch die besorgen und in die Initrd einpflegen.

Sehr gute Anleitung: http://forums.gentoo.org/viewtopic-t-122145-highlight-dsdt+initrd.html (nutzt aber nicht den SBS-Patch)
 
OP
Ulrich_H

Ulrich_H

Newbie
Uhi,

das ja viel zu lesen. :) Und dann bei meinen Englischkenntnissen.

Danke für die Infos.

Ich habe immerhin den Patch für mein Notebook schon eingespielt und zwischenzeitlich läuft auch die Akkuanzeige richtig. Ob das schon Auswirkungen auf den Takt hatte weiß ich nicht (noch nicht drauf geachtet).

Ich muss aber zugeben, dass so eine Originaltabelle für mich ein Buch mit sieben Siegeln ist. Ich habe nichtmal den Bereich mit den Taktfrequenzen gefunden. Was mich daran so ärgert ist, dass Windows sich offensichtlich nen Dreck um diese fehlerhafte Tabelle kümmert und über irgendwelche Tools damit "lebt".

Auch finde ich den Unterschied in der Akkulaufzeit sehr interessant. Linux (Suse10.1) 2 Stunden 20 Minute, Windows 3 Stunden 50 Minuten (laut Anzeige). Da frag ich mich doch, wo da die Ungenauigkeiten herkommen?
 

Tlaloc

Member
Ich glaube, Linux nutzt die verfügbaren Ressourcen immer härter aus - Speicherplatz, RAM, Swap, alles ...
Deswegen könnte es durchaus sein, dass deine Akku-Laufzeit unter Linux eben kürzer ist (keine "Ungenauigkeit" - du gehst davon aus, dass der Wert unter beiden Systemen gleich sein müsste - das ist vielleicht falsch).
Wenn Du das System noch nicht takten kannst, schau doch mal auf Konsole nach cpufreq-info.

Grüße, t.
 
Oben