PHC Undervolting Thread

buddabrod

New member
Themenstarter
Registriert
15 Juni 2007
Beiträge
3.749
Hallo zusammen,

da ich meine VIDs noch ein wenig gedrückt hatte, dachte ich es wäre eine gute Idee, einen Sammelthread was Installationsanleitungen angeht sowie vielleicht eine CPU Liste mit funktionierenden Spannungsstufen zu erstellen.

Vielleicht versinkt der Thread aber auch schon bald :D

Also erstmal für:

  • Fedora 14 (und auch Fedora 13)

Kernel 2.6.37 installieren (Stromsparender als der default 2.6.35)
Code:
mkdir -p PHC/kernel-2.6.37 && cd PHC/kernel-2.6.37

# Pakete von koji (fedora Buildserver) herunterladen

#### 32-bit ####

wget [url]http://kojipkgs.fedoraproject.org/packages/kernel/2.6.37/2.fc15/i686/kernel-2.6.37-2.fc15.i686.rpm[/url]
wget [url]http://kojipkgs.fedoraproject.org/packages/kernel/2.6.37/2.fc15/i686/kernel-devel-2.6.37-2.fc15.i686.rpm[/url]
wget [url]http://kojipkgs.fedoraproject.org/packages/kernel/2.6.37/2.fc15/i686/kernel-headers-2.6.37-2.fc15.i686.rpm[/url]
wget [url]http://kojipkgs.fedoraproject.org/packages/kernel/2.6.37/2.fc15/i686/perf-2.6.37-2.fc15.i686.rpm[/url]

#### 64-bit ####

wget [url]http://kojipkgs.fedoraproject.org/packages/kernel/2.6.37/2.fc15/x86_64/kernel-2.6.37-2.fc15.x86_64.rpm[/url]
wget [url]http://kojipkgs.fedoraproject.org/packages/kernel/2.6.37/2.fc15/x86_64/kernel-devel-2.6.37-2.fc15.x86_64.rpm[/url]
wget [url]http://kojipkgs.fedoraproject.org/packages/kernel/2.6.37/2.fc15/x86_64/kernel-headers-2.6.37-2.fc15.x86_64.rpm[/url]
wget [url]http://kojipkgs.fedoraproject.org/packages/kernel/2.6.37/2.fc15/x86_64/perf-2.6.37-2.fc15.x86_64.rpm[/url]

# Pakete installieren

yum install --nogpgcheck kernel*.rpm perf*.rpm

# System mit dem neuen kernel neustarten!
/sbin/reboot

PHC Module bauen und installieren (falls make etc nicht installiert sind: yum groupinstall "Development Tools")
Code:
cd PHC

wget [url]http://www.thinkpad-forum.de/index.php?page=Attachment&attachmentID=41606&h=7e18fabfa11f8be746f47c566809f9ffe1140bd1[/url]
unzip phc-intel-0.3.2-12-1.zip
cd phc-intel-3.2.12-1

./prepare.sh 2.6.37
make
make install

# Neustarten, damit die Module geladen werden können
/sbin/reboot

PHCTool herunterladen (svn muss installiert sein: yum install subversion)
Code:
cd PHC
svn co [url]http://phctool.googlecode.com/svn/trunk/[/url] phctool

cd phctool

# phctool patchen
wget [url]http://www.thinkpad-forum.de/index.php?page=Attachment&attachmentID=41607&h=85ebdfc6bcf82140494f24aee2373737048536ef[/url]
unzip cpuinfo.zip -d inc/libs/

# phctool starten
./phctool.py

Damit sollte alles erledigt sein.

Nun kann man mit den Spannungen experimentieren, wobei meine Vorgehensweise so aussieht:

Code:
cd PHC

#### 32-bit ####
wget [url]http://mersenneforum.org/gimps/mprime265.tar.gz[/url]

#### 64-bit ####
wget [url]http://mersenneforum.org/gimps/mprime265-linux64.tar.gz[/url]

tar xvf mprime*.tar.gz

./mprime
Dort 15 eingeben (für Options/Torture Test)
Thread nach CPU Core-Anzahl richten und Option 2 (In-place large FFTs) auswählen.

Um die einzelnen VIDs anzupassen, wird z.B. der cpufreq-set der Takt manuell begrenzt: für 1.6GHz sieht das so aus:
cpufreq-set -u 1.6G (evtl. muss man beide Cores einzeln setzen, dann jeweils mit -c0 bzw. -c1 etc anhängen).

Vorher per "yum install cpufrequtils" entsprechendes Paket installieren.

Für jede Takstufe VIDs reduzieren, dabei immer mprime einige Minuten laufen lassen und hoffen, dass mprime keine Fehler zeigt bzw. das System nicht abschmiert ;)

Nebenbei überwache ich die Temperatur in einem zweiten Terminal: watch -n1 cat /proc/acpi/ibm/thermal



Für meinen T7500 ergaben sich somit folgende Werte:
  • T7500
Code:
Frequenz -- VID -- Spannung -- Urspr. Spannung

2201MHz -- 28 -- 1.0625V -- 1.2750V  (Turbo Modus, nutze ich aber nicht)
2200MHz -- 26 -- 1.0375V -- 1.2500V
1600MHz -- 13 -- 0.8750V -- 1.0625V
1200MHz -- 12 -- 0.8625V -- 0.9375V
 800MHz -- 11 -- 0.8500V -- 0.8500V (nicht konfigurierbar)

Die entsprechenden VIDs setze ich beim Booten per /etc/rc.local:
Code:
echo "28 26 13 12 11" > /sys/devices/system/cpu/cpu0/cpufreq/phc_vids
echo "28 26 13 12 11" > /sys/devices/system/cpu/cpu1/cpufreq/phc_vids
ACHTUNG: Wenn die Werte zu niedrig sind, kann es sein, dass das System nicht richtig bootet! Dann muss z.B. ein anderer kernel ohne PHC gebootet werden und die Werte nach oben korrigiert werden.


So, jetzt bin ich erstmal fertig.

Bitte um Vorschläge, Kritik etc.
 
Schmeiß in die /etc/default/grub ein
Code:
GRUB_CMDLINE_LINUX="cpufreq_driver=phc-intel"
rein, und lass update-grub2 laufen (kein Blacklisting von acpi_cpufreq und/oder cpufreq_stats nötig). The Ubuntu Way of Fixing Zeug, das alles nicht nötig wäre, wenn der Mist als normales Modul vorhanden statt eben fest eingebaut wäre.
 
Schmeiß in die /etc/default/grub ein
Code:
GRUB_CMDLINE_LINUX="cpufreq_driver=phc-intel"
rein, und lass update-grub2 laufen (kein Blacklisting von acpi_cpufreq und/oder cpufreq_stats nötig). The Ubuntu Way of Fixing Zeug, das alles nicht nötig wäre, wenn der Mist als normales Modul vorhanden statt eben fest eingebaut wäre.
Oops, so einfach kanns sein. Danke!
 
Hallo Undervolter-Stromsparkenner,

kann man durch deaktivieren der Intel vt-x Virtualisierung den Stromverbrauch weiter senken?

MfG

xsid
 
Debian 8.0 Jessie

Kernel = 3.16.0-4-amd64 x86_64 - Intel Core 2 Duo CPU

Hallo zusammen, bin neu hier. Habe mir aus unterschiedlichen Quellen die Vorgehensweise für Debian Jessie (funktionierte bei mir auch mit Wheezy) zusammengesucht.

Besonders hilfreich war dieser Thread aus dem Debian-Forum: https://debianforum.de/forum/viewtopic.php?f=33&t=154693

Da ich als Linux-Anfänger aber noch zusätzliche Informationen brauchte, hier eine Schritt für Schritt Anleitung. Vielleicht ist es ja für den einen oder anderen hilfreich.

1.)

PHC-Modul Download (für Intel CPUs)

phc-intel-pack-rev17.tar.bz2

http://linux-phc.org/forum/viewtopic.php?f=7&t=267

2.)

Entpacken mit

Code:
 tar -xfv phc-intel-pack-rev17.tar.bz2

3.)

in das entpackte Verzeichnis wechseln

4.)

Code:
 sudo apt-get install debhelper dkms

5.)

Code:
 sudo make dkms_mkdeb

6.)

Das erzeugte Paket installieren mit

Code:
sudo dpkg -i phc-intel-dkms_0.3.2_all.deb

7.)

VID anpassen wie in #1 beschrieben. Ich verwende TLP zur Anzeige der VIDs

Verbesserungsvorschläge sind sehr willkommen!
 
Zuletzt bearbeitet:
Hm...:zornig:

Versuch auf Mint 17.1

Angeblich muß das Patch nicht installiert werden.
Nach Anleitung von hier http://thinkwiki.de/PHC-Patch bis Bootparameter anpassen...passiert nix. PHC ist nicht aktiv.

Danach das Patch versucht zu installieren. Lief soweit auch durch. blacklist in die /etc/modprobe.d/phc-intel.conf eintragen...Fehlanzeige. Die config gibt es nicht.
phc in die /etc/modules geht nicht, angeblich keine Berechtigung (mit sudo ausgeführt).

Und nu?
Gibt es eine vollständige Anleitung für Mint 17.1 bzw Ubuntu 14.04?

Uwe

TLP bestätigt mir nur, daß phc nicht vorhanden
 
blacklist in die /etc/modprobe.d/phc-intel.conf eintragen...Fehlanzeige. Die config gibt es nicht.
Ja und? Dann leg sie doch an:
Code:
gksudo gedit /etc/modprobe.d/phc-intel.conf
EDITH: Pfad korrigiert
Die beiden Zeilen reinkopieren und speichern.

phc in die /etc/modules geht nicht, angeblich keine Berechtigung (mit sudo ausgeführt).
Der Befehl im Wiki war falsch, ich hab ihn korrigiert.

Lesestoff:
 
Zuletzt bearbeitet:
Ja und? Dann leg sie doch an:
Ja nu...kann ich doch net riechen :) Danke.
Allerdings funktioniert das immer noch nicht.

Nach der Anleitung müßte doch unter /sys/devices/system/cpu/cpu0/cpufreq/ eine Datei phc_controls zu finden sein.
Die gibt es aber nicht.
tlp-stat sagt immer noch, daß kein phc kernel geladen.

Wie geschrieben: Exakt nach Anleitung vorgegangen.
-build-essential debhelper dkms installiert (angeblich erfolgreich)
-phc installiert (auch erfolgreich...ohne Fehlermeldung)
-blacklist und phc in /etc/modules sind eingetragen

Uwe
 
Na, dann schaun wir doch mal:
Code:
dkms status
modinfo phc-intel
grep ".*"  /etc/etc/modprobe.d/phc-intel.conf /etc/modules
sudo tlp-stat -c -s -p
 
Code:
dkms status
acpi-call, 1.1.0, 3.13.0-37-generic, x86_64: installed
phc-intel, 0.3.2, 3.13.0-37-generic, amd64: installed
tp-smapi, 0.41, 3.13.0-37-generic, x86_64: installed (original_module exists)
virtualbox-guest, 4.3.18, 3.13.0-37-generic, x86_64: installed (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!)
Code:
modinfo phc-intel
filename:       /lib/modules/3.13.0-37-generic/updates/phc-intel.ko
alias:          acpi
license:        GPL
description:    ACPI Processor P-States Driver
author:         Paul Diefenbaugh, Dominik Brodowski
srcversion:     24856A584FEAF0BAC35CE20
alias:          x86cpu:vendor:*:family:*:model:*:feature:*00E8*
alias:          x86cpu:vendor:*:family:*:model:*:feature:*0016*
alias:          acpi*:ACPI0007:*
alias:          acpi*:LNXCPU:*
depends:        
vermagic:       3.13.0-37-generic SMP mod_unload modversions 
parm:           acpi_pstate_strict:value 0 or non-zero. non-zero -> strict ACPI checks are performed during frequency changes. (uint)
Code:
grep ".*"  /etc/etc/modprobe.d/phc-intel.conf /etc/modules
grep: /etc/etc/modprobe.d/phc-intel.conf: Datei oder Verzeichnis nicht gefunden
/etc/modules:# /etc/modules: kernel modules to load at boot time.
/etc/modules:#
/etc/modules:# This file contains the names of kernel modules that should be loaded
/etc/modules:# at boot time, one per line. Lines beginning with "#" are ignored.
/etc/modules:# Parameters can be specified after the module name.
/etc/modules:
/etc/modules:lp
/etc/modules:rtc
/etc/modules:phc-intel
Code:
--- TLP 0.7 --------------------------------------------

+++ Configured Settings: /etc/default/tlp
TLP_ENABLE=1
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
NMI_WATCHDOG=0
ENERGY_PERF_POLICY_ON_AC=performance
ENERGY_PERF_POLICY_ON_BAT=powersave
DISK_DEVICES="sda sdb"
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"
SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave
RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=low
RADEON_DPM_STATE_ON_AC=performance
RADEON_DPM_STATE_ON_BAT=battery
RADEON_DPM_PERF_LEVEL_ON_AC=auto
RADEON_DPM_PERF_LEVEL_ON_BAT=auto
WIFI_PWR_ON_AC=1
WIFI_PWR_ON_BAT=5
WOL_DISABLE=Y
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=1
SOUND_POWER_SAVE_CONTROLLER=Y
BAY_POWEROFF_ON_BAT=0
BAY_DEVICE="sr0"
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto
RUNTIME_PM_ALL=1
RUNTIME_PM_DRIVER_BLACKLIST="radeon nouveau"
USB_AUTOSUSPEND=1
USB_DRIVER_BLACKLIST="usbhid"
USB_BLACKLIST_WWAN=1
RESTORE_DEVICE_STATE_ON_STARTUP=0

+++ System Info
System         = LENOVO ThinkPad X200s 7470WPZ
BIOS           = 6DET71WW (3.21 )
Release        = Linux Mint 17.1 Rebecca
Kernel         = 3.13.0-37-generic x86_64
/proc/cmdline  = BOOT_IMAGE=/vmlinuz-3.13.0-37-generic root=/dev/mapper/mint--vg-root ro quiet splash vt.handoff=7
Init system    = upstart

+++ System Status
TLP power save = enabled
power source   = ac

+++ Processor
CPU Model      = Intel(R) Core(TM)2 Duo CPU     L9400  @ 1.86GHz

/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver    = acpi-cpufreq
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor  = ondemand
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq  =   800000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq  =  1867000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies = 1867000 1866000 1600000 800000 [kHz]

/sys/devices/system/cpu/cpu1/cpufreq/scaling_driver    = acpi-cpufreq
/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor  = ondemand
/sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq  =   800000 [kHz]
/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq  =  1867000 [kHz]
/sys/devices/system/cpu/cpu1/cpufreq/scaling_available_frequencies = 1867000 1866000 1600000 800000 [kHz]

/sys/devices/system/cpu/cpufreq/boost                  = 1

x86_energy_perf_policy: program not installed.

/proc/sys/kernel/nmi_watchdog                          = 0

+++ Undervolting
PHC kernel not available.

Uwe
 
Du hast die Anleitung nicht vollständig ausgeführt:

1. Bootoption cpufreq_driver=phc-intel ist nicht aktiv
/proc/cmdline = BOOT_IMAGE=/vmlinuz-3.13.0-37-generic root=/dev/mapper/mint--vg-root ro quiet splash vt.handoff=7
Du hast entweder /etc/default/grub nicht angepasst oder das abschließende sudo update-grub vergessen. Bitte nachholen.

2. /etc/modprobe.d/phc-intel.conf ist nicht da
grep: /etc/etc/modprobe.d/phc-intel.conf: Datei oder Verzeichnis nicht gefunden
Mach hier bitte gar nichts, denn der Schritt aus dem Wiki ist unnötig. Auch die Zeile phc-intel in /etc/modules wird nicht gebraucht, kannst Du rauseditieren. EDITH hat das Wiki angepasst.

Also nur 1. korrigieren und Reboot.
 
Zuletzt bearbeitet:
Alles klar, danke!
Hatte die Anleitung dann falsch verstanden.
Bei dem Abschnitt mit grub anpassen steht, daß bei neuen Kernel kein Patch benötigt wird. Nachdem sich da (noch ohne Patch) nix getan hat, hab ich das wieder aus grub raus genommen und danach den Patch installiert. War davon ausgegangen, daß man grub mit dem Patch nicht anpassen muß. Okay..Irrtum.

Uwe
 
OK, dann fliegt der Patch-nicht-notwendig-Hinweis auch noch aus dem Wiki raus :D.

Zeig bitte noch:
Code:
grep "cpufreq" /etc/modprobe.d/*
 
Code:
grep "cpufreq" /etc/modprobe.d/*
/etc/modprobe.d/dkms.conf:# We want to use the phc-intel driver instead of the unmodified acpi-cpufreq driver
/etc/modprobe.d/dkms.conf:install acpi-cpufreq /sbin/modprobe phc-intel || { /sbin/modprobe --ignore-install acpi-cpufreq; }
/etc/modprobe.d/dkms.conf:remove acpi-cpufreq /sbin/modprobe -r cpufreq_stats && { /sbin/modprobe --ignore-remove -r acpi-cpufreq ; }
/etc/modprobe.d/dkms.conf:remove phc-intel /sbin/modprobe -r cpufreq_stats && { /sbin/modprobe --ignore-remove -r phc-intel ; }

OK, dann fliegt der Patch-nicht-notwendig-Hinweis auch noch aus dem Wiki raus
Jo. Ohne Patch läuft da wohl nix.
 
Ehe ich es vergesse: Du solltest deinem Mint aus Sicherheitsgründen noch einen aktuellen Kernel spendieren. Mint macht leider von Haus aus keine Kernelupdates.

Das tust Du entweder über die Mint-Updateverwaltung oder mit dem Holzhämmerchen:
Code:
sudo apt-get install linux-generic
(dabei auftretende Nachfragen bejahen)
 
So.. X200, P8700 mit 2,53GHz.

43, 37, 23, 17 -> 31, 29, 19, 17

Edit: Werte korrigiert! Mprime lief fröhlich vor sich hin ohne zu meckern, und dann will ich mal eben 'ne Datenbank in cmus einlesen und krieg direkt nen Fehler. Sogar 100% reproduzierbar. Und es war der Turbo-Wert! Also: 2530MHz läuft stabil auf 28, aber 2531MHz läuft nicht stabil auf 29. Komische Kiste. Ich habe schliesslich etwas mehr Puffer drauf gelegt da es mir auf ein, zwei Grad auch nicht ankommt. Von 1,25V auf 1,1V reicht völlig.
 
Zuletzt bearbeitet:
@Pferdle, danke das war genau das was ich braucht. Bin Linuxneuling und hab ein X41t mit Mate aufgesetzt. Das Einzige was mir jetzt noch zu meinem Glück fehlt, ist der Startup von PHCtray. Wenn ich es in zu den Startupapllications hinzufüge lädt er es trotzdem nicht. Muss da noch zusätzlich was eingestellt werden? Vielleicht kann er das wegen AdminPW nicht starten?
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben