Samsung P35 XVM 1500 - SuSE Linux 9.3 - vcore

Vorab, nicht das ich es vergesse - Ich übernehme keine Verantwortung, für den Fall das der Prozessor zu schaden kommt.
Intel sieht für das setzen des Prozessortaktes und der Spannungswerte das MSR (Model Specific Register) vor.
Zum setzen der Spannungswerte ist das MSR 0x199 (IA32_PREF_CTL) zuständig.
Infos: Enhanced Intel SpeedStep Technology for the Intel Pentium M Processor ()
Auf http://www.kernel.org/pub/linux/utils/cpu/msr-tools/ gibt es ein MSR-Tool welches das Lesen und Schreiben auf das MSR gestattet. (Vorkompiliert Version 1.1.2)
Bevor man auf das Register zugreifen kann, muss noch das Modul msr.ko geladen werden: Als root geht das mit modprobe msr
Um das laden des Modules zu automatisieren wird es in /etc/sysconfig/kernel bei INITRD_MODULES das Modul msrhinzugefügt. Anschliessend wird die Initial RAM Disk mit mkinitrd aktuallisiert.
Auslesen kann man die aktuelle Einstellung des Register mit rdmsr 0x199:
steve@tuxBook:~/bin/Tools/msr-tools/msr-tools-1.1.2> ./rdmsr 0x199 612
Der Prozessor läuft hier mit 600Mhz und der Wert "612" ist hier Standard.
Das erste Byte ist die Prozessorgeschwindigkeit in 100 Mhz, die nächsten 2 Byte * 16 +700 beschreiben die Spannung in Millivolt.
0x600 = 600 Mhz
0x012 = 18
18 * 16 + 700 = 988 mV
Mit wrmsr 0x199 0xXXX kann man einen Wert in das Register schreiben:
steve@tuxBook:~/bin/Tools/msr-tools/msr-tools-1.1.2> ./rdmsr 0x199 612 steve@tuxBook:~/bin/Tools/msr-tools/msr-tools-1.1.2> ./wrmsr 0x199 0x610 steve@tuxBook:~/bin/Tools/msr-tools/msr-tools-1.1.2> ./rdmsr 0x199 610 steve@tuxBook:~/bin/Tools/msr-tools/msr-tools-1.1.2>
Hier gibt es allerdings noch ein kleines Problem, die Werte werden bei jedem Frequenzwechsel durch die Standardwerte wieder überschrieben. Um das zu verhindern muss der Kernel die geänderten Spannungswerte kennen.
Original Werte: Pentium M 715 | Ausprobierte Stabile Werte | ||||||||
Mhz | V | V | Diff. V / % | ||||||
600 | 0,988 | 0,700 | -0,288 / 70,9 | ||||||
800 | 1,068 | 0,700 | -0,368 / 65,5 | ||||||
1000 | 1,148 | 0,748 | 0,732 | 0,712 | -0,400 / 65,2 | ||||
1200 | 1,228 | 0,812 | 0,796 | 0,780 | -0,416 / 66,1 | ||||
1500 | 1,340 | 0,940 | 0,924 | 0,908 | 0,892 | -0,400 / 70,1 |
Der Kernel der SuSE 9.3 kennt jedoch nur die Spannungswerte des Banias, um ihm die Spannungswerte des Dothan bekannt zu machen muss erst mal der Speedstep-Dothan Patch von Sanjiv Sinha eingespielt werden.
cpufreq-speedstep-dothan-3.patch von Sanjiv Sinha ![]() |
speedstep-centrino.c.dothan gepatchte Version ![]() |
speedstep-centrino.c.original SuSE 9.3 ![]() |
speedstep-centrino.c.steve Version mit meinen Werten ![]() |
Nach dem einspielen der Kernel-Sources von CD/DVD bringt ein Online Update mit YOU die Quelltexte auf dem neusten Stand. Die Datei versteckt sich in /usr/src/linux/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c
In der gepatchten Version müssen dann noch die Spannungswerte angepasst werden. Anschliessend wird dir Kernel vorbereitet.
steve@tuxBook:~> su Password tuxBook:/home/steve # cd /usr/src/linux tuxBook:/usr/src/linux # make mrproper tuxBook:/usr/src/linux # make cloneconfig tuxBook:/usr/src/linux # make prepare tuxBook:/usr/src/linux # make xconfig
Da das Speedstep Modul die Spannungswerte aus den ACPI-Tabellen nimmt muss man diese Funktion noch deaktivieren
Power management options (ACPI, APM) ---> CPU Frequency scaling ---> [*] CPU Frequency scaling <M> Intel Enhanced SpeedStep [ ] Use ACPI tables to decode valid frequency/voltage pairs --- Built-in tables for Banias CPUs

Jetzt noch die Module kompilieren und kopieren
tuxBook:/usr/src/linux # make modules tuxBook:/usr/src/linux # cd arch/i386/kernel/cpu/cpufreq/ tuxBook:/usr/src/linux/arch/i386/kernel/cpu/cpufreq # cp speedstep-centrino.ko /lib/modules/AKTUELLER-KERNEL/kernel/ arch/i386/kernel/cpu/cpufreq/ (eine Zeile)
Zum guten Anschluss "ein-Boot-tut-gut". Nach dem Neustart des System kann mit dem MSR-Tool wieder die aktuelle Einstellung des Register mit rdmsr 0x199 ausgelesen werden. Allerdings sollte jetzt nicht wie am Anfang der Standardwert, sondern der gepatchte Wert ausgegeben werden.
steve@tuxBook:~/bin/Tools/msr-tools/msr-tools-1.1.2> ./rdmsr 0x199 600
Abgesehen vom der Entlastung des Akkus, sodass dieser länger hält, hat es auch noch den positiven Nebeneffekt das der Lüfter mit den Original ACPI-Tabellen nicht mehr im Dauerbetrieb läuft, sondern im "Office"-Betrieb fast komplett aus bleibt.