# problem mit cpufreq(d) (endlich gelöst)

## bigfaxi

servus

bin recht neu bei gentoo (vorher suse) und im großen und ganzen sehr zufrieden, habe aber ein problem mit dem dynamischen takten des prozzis in meinem notebook (asus a2d, athlon xp m)

habe gentoo nach der anleitung von gentoo.de installiert.

wenn ich /etc/init.d/cpufreqd start eingebe bekomme ich die meldung: "cpufreq requires the kernel to be configured with CONFIG_CPU_FREQ"

dies hab ich aber explizit gemacht. (siehe unten)

/etc/init.d/powersave start funktioniert, bildschirm abdunkeln etc läuft, aber den CPU takt runterzusetzen funzt natürlich ohne cpufreq nicht, powersave -c -> Speedstepping is not supported)

das verzeichnis /sys/devices/system/cpu/cpu0 enthält nur den ordner "topology" sonst nichts

ich habe beim ewigen suchen (auch in den englischen foren) einmal gelesen das es mit den 2.6.16er kerneln probs mit cpufreq gibt, ich nutze den 2.6.16-gentoo-r9

muss ich ein downgrade auf nen 2.15er machen? wenn ja wie mache ich das?

wenn nicht wie krieg ich cpufreqd zum laufen?

hier noch der ausschnitt aus meiner kernel.conf

```

#

# CPU Frequency scaling

#

CONFIG_CPU_FREQ=y

CONFIG_CPU_FREQ_TABLE=y

# CONFIG_CPU_FREQ_DEBUG=y

CONFIG_CPU_FREQ_STAT=y

# CONFIG_CPU_FREQ_STAT_DETAILS 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_GOV_CONSERVATIVE=y

#

# CPUFreq processor drivers

#

CONFIG_X86_ACPI_CPUFREQ=y

CONFIG_X86_POWERNOW_K6=y

CONFIG_X86_POWERNOW_K7=y

CONFIG_X86_POWERNOW_K7_ACPI=y

# CONFIG_X86_POWERNOW_K8 is not set

# CONFIG_X86_GX_SUSPMOD is not set

# CONFIG_X86_SPEEDSTEP_CENTRINO=y

# CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y

# CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y

# CONFIG_X86_SPEEDSTEP_ICH is not set

# CONFIG_X86_SPEEDSTEP_SMI is not set

# CONFIG_X86_P4_CLOCKMOD is not set

# CONFIG_X86_CPUFREQ_NFORCE2 is not set

# CONFIG_X86_LONGRUN is not set

```

PS: noch zwei kleinere weniger wichtigere fragen:

1: gimp hat die local einstellung missachtet und ist in englisch? kann ich das nachträglich ändern, wenn ja wie?

2: firefox hat unter kde das prob das es bei flash filmen nur sound gibt wenn ich arts ausstelle, in foren habe ich gelesen das man in der "firefoxrc" die im /etc/firefox oder /etc/mozilla-firefox liegt die DSP einstellung ändern kann. ich finde diese datei aber nirgends auf dem system, heißt sie evtl anders? oder kann ich das problem noch anders lösen, wollte arts eigentlich ganz gerne nutzen

danke für die hilfe

mfg benLast edited by bigfaxi on Sun Jul 09, 2006 6:29 pm; edited 1 time in total

----------

## Bhaallord

Ich benutze zwar Powernowd, aber vielleicht geht es mit dieser einstellung auch bei dir:

```
# Power management options (ACPI, APM)

#

CONFIG_PM=y

CONFIG_PM_LEGACY=y

# CONFIG_PM_DEBUG is not set

#

# ACPI (Advanced Configuration and Power Interface) Support

#CONFIG_ACPI=y

CONFIG_ACPI_AC=y

CONFIG_ACPI_BATTERY=y

CONFIG_ACPI_BUTTON=y

CONFIG_ACPI_VIDEO=y

CONFIG_ACPI_HOTKEY=y

CONFIG_ACPI_FAN=y

CONFIG_ACPI_PROCESSOR=y

CONFIG_ACPI_THERMAL=y

CONFIG_ACPI_ASUS=m

CONFIG_ACPI_IBM=m

CONFIG_ACPI_TOSHIBA=m

CONFIG_ACPI_BLACKLIST_YEAR=0

# CONFIG_ACPI_DEBUG is not set

CONFIG_ACPI_EC=y

CONFIG_ACPI_POWER=y

CONFIG_ACPI_SYSTEM=y

CONFIG_X86_PM_TIMER=y

CONFIG_ACPI_CONTAINER=m

#

# CPU Frequency scaling

#

CONFIG_CPU_FREQ=y

CONFIG_CPU_FREQ_TABLE=y

CONFIG_CPU_FREQ_DEBUG=y

CONFIG_CPU_FREQ_STAT=m

# CONFIG_CPU_FREQ_STAT_DETAILS 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=m

CONFIG_CPU_FREQ_GOV_USERSPACE=y

CONFIG_CPU_FREQ_GOV_ONDEMAND=m

CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m

```

Zu Gimp: 

offne ein Terminal:

```
touch /etc/env.d/02locale && nano -w /etc/env.d/02locale
```

dann schaun ob alles richtig gesetzt ist (vorallen GDM_LANG für gimp)

Bei mir:

```
LANG="de_DE"

LANGUAGE="de_DE"

GDM_LANG="de_DE"

LC_ALL="de_DE"
```

env-update; source /etc/profile

speichern und dann in die make.conf überprüfen ob USE="nls" und LINGUAS="de" gesetzt ist

Hier findest du weitere Hilfe http://de.gentoo-wiki.com/Deutsche_Lokalisierung

Ich hoffe das hilft dir.

----------

## bigfaxi

sers

 hab den kernel nochmal so angepasst und kompiliert

modprobe cpufreq_powersave funzt

also lsmod zeigt mir das dann auch an

aber ich muss doch sicher noch mehr module laden, wie heißen die?

durch das laden dieses modules hat sich zumindest nichts getan, cpufreq schmeißt immernoch den "...kernel ... with CONFIG_CPU_FREQ"

und powernowd gibt folgenden fehler:

```

powernowd: Couldn't open file /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq

/etc/init.d/powernowd: line 11: 7730 Speicherzugriffsfehler /usr/sbin/powernowd -q $(POWERNOW_OPTS)

```

in /.../cpu0 liegt auch weiterhin nur ein ordner "topology" 

hat noch jemand ne idee?

oder muss ich es wirklich mit nem anderen kernel probieren

----------

## freigeist

was sagt denn dmesg | grep ACPI 

Hast du beim neubauen des Kernels auch an mnt /boot gedacht, falls boot auf einer eigenen Partition liegt?

----------

## Bhaallord

Der Fehler mit den Speicherzugriff lag bei mir daran das 

Default CPUFreq governor () auf performance stand, das muss auf userspace stehen.  :Rolling Eyes: 

----------

## bigfaxi

@Bhaallord: Default CPUFreq governor () steht ja auf USERSPACE

@ hatte neu gebootet, damit sollte sich das mnt ja geklärt haben  :Smile: 

```
gentoobook ben # dmesg | grep ACPI

 BIOS-e820: 000000001ffd0000 - 000000001ffdf000 (ACPI data)

 BIOS-e820: 000000001ffdf000 - 0000000020000000 (ACPI NVS)
```

hilft mir absolut garnicht

ne idee woran es liegt?

da /sys/../cpu0 nur diesen komischen topology ordner enthält und nicht cpufreq, kann es doch eigentlich nur an fehlenden kernel modulen / einstellungen liegen.

nachdem ich wie oben den kernel neu kompiliert hatte hab ich auch nur das "cpufreq_powersave" geladen, sollte das etwa schon reichen?

----------

## freigeist

Ist das alles, was bei dmesg | grep ACPI ausgegen wird? Du hast nicht zufällig acpi=off oder sowas in grub.conf? Was sagt denn ein dmesg | grep powernow ? 

Naja, nur durch neu booten hat sich nicht erklärt, ob das boot device gemounted war...wenn du den kernel baust ohne boot, dann landet der neue kernel halt nicht auf dem boot device und der alte wird genommen, du hast dann sogar die neuen module zur Verfügung, da die nicht auf dem boot sondern dem root device landen, sofern sich die kernel version nicht geändert hat.

----------

## Bhaallord

Bau mal alle module fest in Kernel oder lade mal alle module mit CPU und ACPI  :Rolling Eyes: 

----------

## bigfaxi

dmesg | grep powernow gibt:

```
powernow: PowerNow! Technology present. Can scale: frequency and voltage.
```

/boot war gemountet, hab den den alten kernel auch durch das bzImage ersetzt.

ACPI=off hab ich nicht

alle module fest in den kernel hatte ich vor dem umbau (siehe oben), gleiche resultate

----------

## freigeist

Das mit powernow sieht doch schonmal gut aus  :Smile: 

Hast du den ACPI Processor P-States driver fest einkompiliert? (Kernel Config => Power Management => CPU Frequency Scaling)

----------

## bigfaxi

hab grad mal die komplette ausgabe von dmesg durchgeguckt

folgende zeilen sind mir aufgefallen

```

Linux version 2.6.16-gentoo-r9 (root@gentoobook) (gcc-Version 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)) #13 SMP PREEMPT Sat Jul 8 ....

Local APIC disabled by BIOS -- you can enable it with "lapic"

mapped APIC to ffffd000 (01443000)

Enabling fast FPU save and restore... done.

Enabling unmasked SIMD FPU exception support... done.

Initializing CPU#0

PID hash table entries: 2048 (order: 11, 32768 bytes)

Detected 2133.706 MHz processor

...

CPU0: AMD mobile AMD Athlon(tm) XP-M 2800+ stepping 00

SMP motherboard not detected.

Local APIC not detected. Using dummy APIC emulation

...

powernow: PowerNOW! Technology present. Can scale: frequency and voltage

...

apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)

```

habe eben im bios nachgeschaut, da ist alles aktiviert, und unter windoof funzt es ja auch

irgendwas ist da ganz faul

----------

## freigeist

Hast du APM in der Kernel config aktiviert? APM wird echt nicht mehr benötigt...und wer weiss ob sich das nicht mit ACPI kabbelt. Achja und vorsicht...nicht APIC mit ACPI verwechseln  :Smile: 

----------

## bigfaxi

so hab den kernel nochmal konfiguriert, ACPI allgemein war deaktiviert, daher gabs mit make menuconfig auch die option mit den p-stat drivern nicht.

hab jetzt beides drin, der rest wie oben

dmesg | grep ACPI schmeißt jetzt:

```

 BIOS-e820: 000000001ffd0000 - 000000001ffdf000 (ACPI data)

 BIOS-e820: 000000001ffdf000 - 0000000020000000 (ACPI NVS)

ACPI: RSDP (v000 ACPIAM                                ) @ 0x000f62d0

ACPI: RSDT (v001 A M I  OEMRSDT  0x02000525 MSFT 0x00000097) @ 0x1ffd0000

ACPI: FADT (v002 A M I  OEMFACP  0x02000525 MSFT 0x00000097) @ 0x1ffd0200

ACPI: OEMB (v001 A M I  AMI_OEM  0x02000525 MSFT 0x00000097) @ 0x1ffdf040

ACPI: DSDT (v001  1ABSU 1ABSU001 0x00000001 INTL 0x02002026) @ 0x00000000

ACPI: PM-Timer IO Port: 0x808

ACPI: setting ELCR to 0200 (from 8410)

ACPI: bus type pci registered

ACPI: Subsystem revision 20060127

ACPI: Interpreter enabled

ACPI: Using PIC for interrupt routing

ACPI: PCI Root Bridge [PCI0] (0000:00)

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]

ACPI: Embedded Controller [EC0] (gpe 25) interrupt mode.

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.AGP_._PRT]

ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 *10 11 12 14)

ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 *10 11 12 14)

ACPI: PCI Interrupt Link [LNKC] (IRQs 3 *4 5 7 10 11 12 14)

ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 *10 11 12 14)

ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 11 12 14 *15)

ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 11 12 14 *15)

ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 11 12 14 15) *0, disabled.

ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 7 11 12 14 *15)

pnp: PnP ACPI init

pnp: PnP ACPI: found 14 devices

PCI: Using ACPI for IRQ routing

ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10

ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [LNKA] -> GSI 10 (level, low) -> IRQ 10

ACPI: AC Adapter [AC] (on-line)

ACPI: Battery Slot [BAT0] (battery absent)

ACPI: Power Button (FF) [PWRF]

ACPI: Sleep Button (CM) [SLPB]

ACPI: Lid Switch [LIDD]

ACPI: Power Button (CM) [PWRB]

ACPI: Video Device [VGA] (multi-head: yes  rom: no  post: no)

ACPI: Video Device [ACPI] (multi-head: yes  rom: no  post: no)

ACPI: CPU0 (power states: C1[C1] C2[C2])

ACPI: Thermal Zone [THRM] (88 C)

Asus Laptop ACPI Extras version 0.29

ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 4

ACPI: PCI Interrupt 0000:00:02.6[C] -> Link [LNKC] -> GSI 4 (level, low) -> IRQ 4

ACPI: PCI interrupt for device 0000:00:02.6 disabled

ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10

ACPI: PCI Interrupt 0000:00:04.0[A] -> Link [LNKD] -> GSI 10 (level, low) -> IRQ 10

ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10

ACPI: PCI Interrupt 0000:00:0a.1[B] -> Link [LNKB] -> GSI 10 (level, low) -> IRQ 10

ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 15

ACPI: PCI Interrupt 0000:00:03.3[D] -> Link [LNKH] -> GSI 15 (level, low) -> IRQ 15

ACPI: PCI Interrupt Link [LNKE] enabled at IRQ 15

ACPI: PCI Interrupt 0000:00:03.0[A] -> Link [LNKE] -> GSI 15 (level, low) -> IRQ 15

ACPI: PCI Interrupt Link [LNKF] enabled at IRQ 15

ACPI: PCI Interrupt 0000:00:03.1[B] -> Link [LNKF] -> GSI 15 (level, low) -> IRQ 15

ACPI: PCI Interrupt 0000:00:02.7[C] -> Link [LNKC] -> GSI 4 (level, low) -> IRQ 4

ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 10 (level, low) -> IRQ 10
```

----------

## freigeist

Und was sagt cpufreq-info jetzt?

----------

## bigfaxi

cpufreq-info sagt: 

```
...

analysiere CPU 0:

kein oder nicht bestimmbarer cpufreq-Treiber aktiv
```

ein /etc/init.d/cpufreqd start gibt immernoch

```
cpufreq requires the kernel to be configured with CONFIG_CPU_FREQ
```

welches ja wie oben zu sehen erfüllt ist

ich denke langsam ernsthaft dran das es am kernel liegt, habe in einem forum gelesen das jemand das gleiche prob hatte nachdem er von nem 2.6.15er auf nen 2.6.16er geupdated hat, leider finde ich diesen beitrag nichtmehr

gute nacht, ich probiers morgen abend weiter  :Smile: 

wenn noch wer ne idee hat immer her damit

----------

## bigfaxi

ES LÄUFT!

das prob war das ich im kernel SMP support aktiviert hatte, dieses verträgt sich aber nicht mit powernow-k7, das konnte ich aber nicht merken da ich powernow-k7 nicht als modul sondern einkompiliert hatte...

nun läuft alles

vielen dank für die bemühungen

mfg ben

----------

## cHeFr0cKaH

Hi!

Also ich hab auch das Problem, dass cpufreq bei mir nicht läuft. 

Ich hab da kurz ein paar Fragen: Wo finde ich diese kernel.conf  bzw was genau ist mit CONFIG_CPU_FREQ gemeint ?? Welche Dateien muss ich da denn genau editieren?

Und was genau müsste ich denn noch im Kernel einstellen?

thx!

mfg

cHeFr0cKaH

bye!

p.s smp support ist bei mir nicht im kernel miteingebaut

----------

## Battlestar Gentoo

Ich hab da kurz ein paar Fragen: Wo finde ich diese kernel.conf bzw was genau ist mit CONFIG_CPU_FREQ gemeint ?? Welche Dateien muss ich da denn genau editieren? 

In der Kernelkonfiguration, i.d.R in /usr/src/linux/.config, wobei CONFIG_CPU_FREQ einfach nur ein Kernelparameter ist, der entweder gesetzt werden kann, oder nicht. Es sind einfach nur die Parameter, die man auch mit "make menuconfig" im Kernelverzeichnis setzt. Nur macht man es hier eben "per Hand".

```
cat /usr/src/linux/.config | grep 'CONFIG_CPU_FREQ' 
```

----------

## cHeFr0cKaH

Hi!

Also ich habs nu glaub ich auch geschafft cpufreq ans laufen zu kriegen. Die Taktrate läßt sich auch von Hand wunderbar ändern. Aber ich hätte es lieber das die Taktrate hoch geht wenn Leistung gebraucht wird und runter geht wenn keine benötigt wird. 

Weißt jemand wie man das hinkriegen kann ?

mfg

cHeFr0cKaH

bye!

----------

