Centrino mit powernowd?

Debian auf Notebooks und speziellen Geräten wie eingebetteten Systemen, Routern, Set-Top-Boxen, ...
Antworten
nihonto
Beiträge: 868
Registriert: 04.05.2003 00:02:55
Wohnort: hinter den sieben Bergen

Centrino mit powernowd?

Beitrag von nihonto » 31.10.2004 16:51:20

Bonjour!

Bin seit ein paar Tagen stolzer Besitzer eines Asus M6700N 8) ! Nun ringe ich ein wenig mit der Energieverwaltung des guten Stücks unter Sid mit Kernel 2.6.9.

Aaaalso:
- acpi ist im Kernel und der acpid läuft (Runterfahren auf Knopfdruck funzt!)
- powernowd ist installiert, läuft aber anscheinend nicht so ganz richtig
- habe folgende CPU-Optionen im Kernel:

Code: Alles auswählen

# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_THERMAL=m
CONFIG_ACPI_ASUS=y
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_BUS=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y

Code: Alles auswählen

# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
# CONFIG_CPU_FREQ_PROC_INTF is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_24_API is not set
CONFIG_CPU_FREQ_TABLE=y

#
# CPUFreq processor drivers
#
CONFIG_X86_ACPI_CPUFREQ=m
# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_GX_SUSPMOD is not set
CONFIG_X86_SPEEDSTEP_CENTRINO=y
CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
CONFIG_X86_SPEEDSTEP_ICH=y
# CONFIG_X86_SPEEDSTEP_SMI is not set
# CONFIG_X86_P4_CLOCKMOD is not set
CONFIG_X86_SPEEDSTEP_LIB=y
# CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set
Nehme mal an, dass das halbwegs ok ist, oder?!

Nun zu den eher seltsamen Dingen:

Eine verwirrende Bootmeldungen:

Code: Alles auswählen

speedstep-centrino: no table support for CPU model "Intel(R) Pentium(R) M processor 1.60GHz": 
speedstep-centrino: try compiling with CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI enabled
Diese Option gibt's aber gar nicht im Kernel!

und

Läuft powernowd???

Code: Alles auswählen

debian:/home/etranger# powernowd -v
powernowd: PowerNow Daemon v0.90, (c) 2003-2004 John Clemens
powernowd: Settings:
powernowd:   verbosity:        1
powernowd:   mode:             1     (AGGRESSIVE)
powernowd:   step:           100 MHz (100000 kHz)
powernowd:   lowwater:        20 %
powernowd:   highwater:       80 %
powernowd:   poll interval: 1000 ms
powernowd: Found 1 cpu:
Couldn't open file: No such file or directory
Couldn't open file: No such file or directory
Couldn't open file: No such file or directory
couldn't open govn's file for writing: No such file or directory
Couldn't get per-cpu data: Illegal seek
PowerNowd encountered and error and could not start.
Please make sure that:
 - You are running a v2.5/v2.6 kernel or later
 - That you have sysfs mounted /sys
 - That you have the core cpufreq and cpufreq-userspace
   modules loaded into your kernel
 - That you have the cpufreq driver for your cpu loaded,
   and that it works. (check dmesg for errors)
If all of the above are true, and you still have problems,
please email the author: clemej@alum.rpi.edu
In der /etc/fstab habe ich folgenden Eintrag:

Code: Alles auswählen

/sysfs          /sys            sysfs   defaults        0       0
Unter /sys/devices/system/cpu/cpu0 findet sich übrigens nichts!

Und dann sind da noch diese "laptop-mode-tools". Hab' das Paket mal per apt installiert, aber muss ich da noch was nachkonfigurieren, oder ist das so ok?

Sorry, ob dieses vermutlich etwas chaotischen Fragenwusts, aber das ist mein erstes Laptop :wink:
Thinkpad Edge E520 (Intel Core i5, 4GB RAM, 128 GB Crucial M4 SSD) + ITX-Desktop (Asrock H77M-ITX, Intel Core i3-2120T, 8GB RAM, 64 GB Samsung 830 SSD)

Benutzeravatar
QT
Beiträge: 1242
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 01.11.2004 23:10:56

Die Option CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI gibt es sehr wohl. Zumindest mein 2.6.7 Kernel kennt sie:

Code: Alles auswählen

$ grep CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI /boot/config-2.6.7
CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y

Benutzeravatar
fred19726
Beiträge: 507
Registriert: 18.07.2002 03:38:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Heidelberg (DE)
Kontaktdaten:

Beitrag von fred19726 » 02.11.2004 00:46:46

hi,

Das Problem kenne ich und es kommt daher, das die ACPI Tabelle in der die möglichen Prozessorgrschwindigkeiten stehehen ungültige werte enthällt ... :roll:

hier ist ein kleiner Patch für den 2.6.9er Kernel den ich selber gebastelt hab:

Code: Alles auswählen

--- arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c.org	2004-10-16 05:02:55.000000000 +0200
+++ arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c	2004-10-16 22:49:05.000000000 +0200
@@ -384,6 +384,7 @@
 		if (p.states[i].core_frequency > p.states[0].core_frequency) {
 			printk(KERN_DEBUG "P%u has larger frequency than P0, skipping\n", i);
 			p.states[i].core_frequency = 0;
+			p.state_count=i;
 			continue;
 		}
 	}

Dazu musst du dir allerdings den Kernel selber bauen (für Details siehe wiki), und vor dem ersten make-kpkg ... naturlich den Patch einspielen. ;)

MfG Fred
2 Dinge sind Unendlich, das Universum und die Menschliche Dummheit,
wobei ich mir beim Universum nicht sicher bin
-- Albert Einstein

nihonto
Beiträge: 868
Registriert: 04.05.2003 00:02:55
Wohnort: hinter den sieben Bergen

Beitrag von nihonto » 02.11.2004 23:30:04

Hi Fred,

vielen Dank für den Patch! Leider ändert er nix an meinem Dilemma. Beim nächsten Boot nach einspielen und kompilieren des 2.6.9-Kernels kommt wieder:

Code: Alles auswählen

speedstep-centrino: no table support for CPU model "Intel(R) Pentium(R) M processor 1.60GHz": 
speedstep-centrino: try compiling with CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI enabled
Und - Grüße an QT :wink: - im 2.6.9er-Kernel gibt's tatsächlich keine Option CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI!

Hmmm, stellt sich die Frage, wie ich die Tabelle nun so zurechtfummel, dass mein Prozzi erkannt wird. Ist ein 1,6 GHz Pentium M 725 - hat jemand evtl. so einen schon mit speedstep in die Gänge bekommen?
Thinkpad Edge E520 (Intel Core i5, 4GB RAM, 128 GB Crucial M4 SSD) + ITX-Desktop (Asrock H77M-ITX, Intel Core i3-2120T, 8GB RAM, 64 GB Samsung 830 SSD)

Benutzeravatar
fred19726
Beiträge: 507
Registriert: 18.07.2002 03:38:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Heidelberg (DE)
Kontaktdaten:

Beitrag von fred19726 » 02.11.2004 23:51:43

nihonto hat geschrieben: Und - Grüße an QT :wink: - im 2.6.9er-Kernel gibt's tatsächlich keine Option CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI!
8O also in meinem 2.6.9er Kernel gibts die:

Code: Alles auswählen

<23:44 drd@trinity [/usr/src/linux-2.6.9]> :) cat .config | grep -i speedstep_centrino
CONFIG_X86_SPEEDSTEP_CENTRINO=m
CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y
Hmmm, stellt sich die Frage, wie ich die Tabelle nun so zurechtfummel, dass mein Prozzi erkannt wird. Ist ein 1,6 GHz Pentium M 725 - hat jemand evtl. so einen schon mit speedstep in die Gänge bekommen?
1. Meine CPU ist ein 1,5 GHz Pentium M "Dothan" das sollten abgesehen von der Taktfrequentz die selben CPUs sein !
2. Das mit den ACPI Tabellen zurechtfummeln wird nicht gehen da die im BIOS oder in der CPU sind. :(
3. Wenn die Drei CONFIG_X86_SPEEDSTEP_CENTRINO* auf Y oder M stehen sollte es funktionieren mit dem patch funktionieren.

/me geht jetzt schafen und hofft darauf das hier Morgen eine Erfolgmeldung vorliegt ;)
2 Dinge sind Unendlich, das Universum und die Menschliche Dummheit,
wobei ich mir beim Universum nicht sicher bin
-- Albert Einstein

nihonto
Beiträge: 868
Registriert: 04.05.2003 00:02:55
Wohnort: hinter den sieben Bergen

Beitrag von nihonto » 03.11.2004 00:37:53

Och menno, wo findet sich denn diese Option CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI??? Ich find' die nicht. Im CPUfreq-Teil meiner .config steht nur folgendes:

Code: Alles auswählen

# CPUFreq processor drivers
#
CONFIG_X86_ACPI_CPUFREQ=m
# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_GX_SUSPMOD is not set
CONFIG_X86_SPEEDSTEP_CENTRINO=y
CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
CONFIG_X86_SPEEDSTEP_ICH=y
# CONFIG_X86_SPEEDSTEP_SMI is not set
# CONFIG_X86_P4_CLOCKMOD is not set
CONFIG_X86_SPEEDSTEP_LIB=y
CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set
Da ist nirgendwo die Rede von CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI 8O
Und "uname -a" bestätigt:

Code: Alles auswählen

Linux debian 2.6.9 #1 Wed Nov 3 00:12:43 CET 2004 i686 GNU/Linux
Ich versteh's nicht :evil: !
Thinkpad Edge E520 (Intel Core i5, 4GB RAM, 128 GB Crucial M4 SSD) + ITX-Desktop (Asrock H77M-ITX, Intel Core i3-2120T, 8GB RAM, 64 GB Samsung 830 SSD)

Benutzeravatar
fred19726
Beiträge: 507
Registriert: 18.07.2002 03:38:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Heidelberg (DE)
Kontaktdaten:

Beitrag von fred19726 » 03.11.2004 10:13:15

nihonto hat geschrieben:Och menno, wo findet sich denn diese Option CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI??? Ich find' die nicht. Im CPUfreq-Teil meiner .config steht nur folgendes:

[snip]

Ich versteh's nicht :evil: !
mach mal folgende Optionen an:

Code: Alles auswählen

CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
Dann sollte es eigentlich auftauchen

MfG Fred
2 Dinge sind Unendlich, das Universum und die Menschliche Dummheit,
wobei ich mir beim Universum nicht sicher bin
-- Albert Einstein

nihonto
Beiträge: 868
Registriert: 04.05.2003 00:02:55
Wohnort: hinter den sieben Bergen

Beitrag von nihonto » 03.11.2004 19:03:07

Hey Fred,

vielen Dank für Deine Hilfe und Dein Durchhaltevermögen 8) !

Aber es ist echt zum Haareraufen. Ich kann CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI beim besten Willen in linux-2.6.9 nicht finden :oops: !

Die "Code maturity level options" sind natürlich aktiviert:

Code: Alles auswählen

# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
Trotzdem fehlt ausgerechnet die besagte Zeile für CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI 8O

Code: Alles auswählen

# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_THERMAL=m
CONFIG_ACPI_ASUS=y
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_BUS=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y

...

# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
# CONFIG_CPU_FREQ_PROC_INTF is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
# CONFIG_CPU_FREQ_24_API is not set
CONFIG_CPU_FREQ_TABLE=y

#
# CPUFreq processor drivers
#
CONFIG_X86_ACPI_CPUFREQ=m
# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_GX_SUSPMOD is not set
CONFIG_X86_SPEEDSTEP_CENTRINO=y
CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
=> hier sollte sich die ACPI-Option befinden, aber da ist nichts!!!
CONFIG_X86_SPEEDSTEP_ICH=y
CONFIG_X86_SPEEDSTEP_SMI=y
# CONFIG_X86_P4_CLOCKMOD is not set
CONFIG_X86_SPEEDSTEP_LIB=y
CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set
Ist das irgendwie zu erklären???
Thinkpad Edge E520 (Intel Core i5, 4GB RAM, 128 GB Crucial M4 SSD) + ITX-Desktop (Asrock H77M-ITX, Intel Core i3-2120T, 8GB RAM, 64 GB Samsung 830 SSD)

Benutzeravatar
fred19726
Beiträge: 507
Registriert: 18.07.2002 03:38:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Heidelberg (DE)
Kontaktdaten:

Beitrag von fred19726 » 03.11.2004 20:04:59

Ist das irgendwie zu erklären???
hmm ... merkwürdig ...

mach mal "make menuconfig" und schau in

Power management options (ACPI, APM) ---> CPU Frequency scaling --->

ob folgende Optionen vorhanden sind:

Intel Enhanced SpeedStep
Use ACPI tables to decode valid frequency/voltage pairs (EXPERIMENTAL)

und wenn nicht ... woher hast du den kernel source ?
2 Dinge sind Unendlich, das Universum und die Menschliche Dummheit,
wobei ich mir beim Universum nicht sicher bin
-- Albert Einstein

nihonto
Beiträge: 868
Registriert: 04.05.2003 00:02:55
Wohnort: hinter den sieben Bergen

Beitrag von nihonto » 03.11.2004 20:12:17

Das ist doch wirklich verrückt!

- "Intel Enhanced SpeedStep" ist da und aktiviert,
aber
- "Use ACPI tables to decode valid frequency/voltage pairs (EXPERIMENTAL)" gibt's bei mir nicht 8O

Die Sourcen sind offizielle von kernel.org.
Thinkpad Edge E520 (Intel Core i5, 4GB RAM, 128 GB Crucial M4 SSD) + ITX-Desktop (Asrock H77M-ITX, Intel Core i3-2120T, 8GB RAM, 64 GB Samsung 830 SSD)

Benutzeravatar
fred19726
Beiträge: 507
Registriert: 18.07.2002 03:38:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Heidelberg (DE)
Kontaktdaten:

Beitrag von fred19726 » 03.11.2004 20:34:03

O.K. irgendwie seltsam ...

aber schauen wir mal ...

Code: Alles auswählen

<20:25 drd@trinity [/usr/src/linux]> :) cat arch/i386/kernel/cpu/cpufreq/Kconfig 
...
config X86_SPEEDSTEP_CENTRINO_ACPI
	bool "Use ACPI tables to decode valid frequency/voltage pairs (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	depends on ((X86_SPEEDSTEP_CENTRINO = "m" && ACPI_PROCESSOR) || (X86_SPEEDSTEP_CENTRINO = "y" && ACPI_PROCESSOR = "y"))
	help
	  Use primarily the information provided in the BIOS ACPI tables
	  to determine valid CPU frequency and voltage pairings.

	  If in doubt, say Y.
...
was sagt uns der Auszug aus der Kconfig Datei von cpufreq ?

naaaa ?

ich hab auch 2 Minuten gbraucht bis ich drauf gekommen bin !

immer noch nix ?

Dabei ist die Lösung doch soooo einfach: ;)

entweder
CONFIG_ACPI_PROCESSOR=y
CONFIG_X86_SPEEDSTEP_CENTRINO=y

oder
CONFIG_ACPI_PROCESSOR=m (oder Y)
CONFIG_X86_SPEEDSTEP_CENTRINO=m

sonst wirds nix mit
CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI 8)
2 Dinge sind Unendlich, das Universum und die Menschliche Dummheit,
wobei ich mir beim Universum nicht sicher bin
-- Albert Einstein

nihonto
Beiträge: 868
Registriert: 04.05.2003 00:02:55
Wohnort: hinter den sieben Bergen

Beitrag von nihonto » 03.11.2004 20:52:29

Aaaaah, es ist sogar noch ein bisschen komplizierter - aber ich hab's jetzt gefunden :D !

Man muss einfach alle gewünschten Optionen im ACPI-Teil der .config mit "y" beantworten (also alles fest in den Kernel). Dann kann man nämlich bei "CPUFreq processor drivers" die Option CONFIG_X86_ACPI_CPUFREQ auf "y" setzen, was bei mir bisher nicht ging. Ich konnte das immer nur als Modul bauen. Und jetzt *heureka!* taucht endlich auch CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI auf, was ich ebenfalls fest in den Kernel einbaue.

Soooo, die Kompilierorgie läuft gerade. Mal sehen, was dabei rauskommt 8) !

Und Dir werter Fred an dieser Stelle nochmal einen ganz dicken Dank - yessss! :wink:
Thinkpad Edge E520 (Intel Core i5, 4GB RAM, 128 GB Crucial M4 SSD) + ITX-Desktop (Asrock H77M-ITX, Intel Core i3-2120T, 8GB RAM, 64 GB Samsung 830 SSD)

nihonto
Beiträge: 868
Registriert: 04.05.2003 00:02:55
Wohnort: hinter den sieben Bergen

Beitrag von nihonto » 03.11.2004 21:26:40

Es läuft, es läuft *tanzhüpfspringjubilier* :D :D :D 8) !

Und sogar powernowd löppt - näää watt iss datt schön!

Dicken Dank allen Helfern - you're great!!!
Thinkpad Edge E520 (Intel Core i5, 4GB RAM, 128 GB Crucial M4 SSD) + ITX-Desktop (Asrock H77M-ITX, Intel Core i3-2120T, 8GB RAM, 64 GB Samsung 830 SSD)

Benutzeravatar
fred19726
Beiträge: 507
Registriert: 18.07.2002 03:38:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Heidelberg (DE)
Kontaktdaten:

Beitrag von fred19726 » 03.11.2004 21:34:25

nihonto hat geschrieben:Es läuft, es läuft *tanzhüpfspringjubilier* :D :D :D 8) !

Und sogar powernowd löppt - näää watt iss datt schön!

Dicken Dank allen Helfern - you're great!!!

Dann viel Spaß mit deinem neuen Notebook :)
2 Dinge sind Unendlich, das Universum und die Menschliche Dummheit,
wobei ich mir beim Universum nicht sicher bin
-- Albert Einstein

Antworten