cpufreqd will nicht

Debian auf Notebooks und speziellen Geräten wie eingebetteten Systemen, Routern, Set-Top-Boxen, ...
Antworten
Benutzeravatar
Felix
Beiträge: 453
Registriert: 17.02.2003 10:26:57
Lizenz eigener Beiträge: MIT Lizenz

cpufreqd will nicht

Beitrag von Felix » 22.02.2005 16:14:17

Hallo,

Ich habe ein IBM Thinkpad X21 mit 700MHz P3. Dieser unterstuetzt soweit ich weiss Speedstepping. Das Bios taktet das Geraet je nachdem ob er am Netz haengt oder nicht runter oder hoch. Nun moechte ich aber das Debian diese Aufgabe dynamisch uebernimmt um unteranderem die Lueftergeraeusche noch weiter zu minimieren (hoert man so schon kaum) und die Ackulaufzeit zu verlaengern. Ich habe alle Dinge die ich fuer noetig halte in den Kernel kompiliert. Also unter anderem auch das Speedstepping fuer P3 Coppermine Prozessoren mit BX440 Chipsatz. Alles einwandfrei. Aber cpufreqd sagt mir beim starten immer "no cpufreq interface found". Ein "dpkg-reconfigure cpufreqd" liefert einen Hinweis das ich den cpufreq driver im kernel aktivieren soll.
Ich benutze Debian Sarge und die Kernelsourcen 2.6.10 aus Sid. Ich hoffe mir kann jemand einen Tipp geben oder sagen welche Infos ich noch posten soll.

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 22.02.2005 19:42:31

Da hast du Glück gehabt. Ich hab nämlich auch so eines und ich hab auch schon die Lösung (danke an MrIch von Linuxforen der hat auch so eins und an die Kernelentwickler die ihm die Lösung geliefert haben ;)).

Cpufreqd lief bei mir übrigens sowieso nicht so recht. Ich nutze deshalb Powernowd aber das nur am Rande.

Das Mainboard oder der Prozessor in den X21 ist recht alt für Speedstepping. Deshalb erkennt Linux das dort nicht. Damit man Linux quasi händisch davon überzeugen kann dass das Ding trotzdem Speedstep kann gibts folgende Option:
CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y

und nachher muss noch ein

Code: Alles auswählen

# cpufreq relaxed capability check to make it work
options speedstep-lib relaxed_check=1
am besten gleich in eine eigene Datei im Ordner /etc/modprobe.d

Nachher noch ein update-modules ausführen und jetzt sollte es gehen. (Ich weiss nicht ob das update-modules nötig oder ein Relikt aus 2.4er Zeiten ist).

MfG Peschmä

P.S. damit das geht musst du das Speedstep-Modul, also CONFIG_X86_SPEEDSTEP_SMI=m als Modul kompilieren und nicht fest in den Kernel.
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

Benutzeravatar
Felix
Beiträge: 453
Registriert: 17.02.2003 10:26:57
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Felix » 22.02.2005 20:21:41

Ok, also das mit dem Kernel kompilieren hab ich soweit. Aber das mit dem "options speedstep-lib relaxed_check=1" hab ich nicht verstanden. Wo soll das hin und was bewirkt das genau? Ist das eine Option mit der das Kernelmodul geladen werden soll? Wenn ja, muesste es dann nicht in die /etc/modules ? Will nix anzweifeln, nur verstehen ;).

Aber schonmal tausend Dank fuer den Tipp :)

Benutzeravatar
Felix
Beiträge: 453
Registriert: 17.02.2003 10:26:57
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Felix » 22.02.2005 21:33:22

Ok, habs nun verstanden. Das modul speedstep-lib wird mit relaxed_check=1 geladen und dann muss noch das modul speedstep-smi geladen werden. Damit laeuft es nun :). Das einzige was ich bisher machen kann is zwar die CPU zwischen 500 und 700 MHz umhertakten, aber hey, is ja schonmal cool :D.

Benutzeravatar
Felix
Beiträge: 453
Registriert: 17.02.2003 10:26:57
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Felix » 22.02.2005 22:22:08

Also jetzt ist alles fein eingerichtet. Es laeuft alles sauber. Bin zufrieden. Aber kann diese CPU wirklich nur zwischen 500 und 700 MHz umschalten?
Eine weitere Frage fuer die ich aber lieber mal nen eigenes Thread oeffnen sollte: kannst du mir sagen wie ich den XScreensaver dazu bekomme das Backlight des Displays mit auszuschalten? Das ist bei mir permanent an. Wenn du auch so ein Geraet hast weisst du das ja vielleicht zufaellig. Ansonsten schonmal vielen, vielen Dank bis hierher :).

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 23.02.2005 09:13:32

Felix hat geschrieben:Also jetzt ist alles fein eingerichtet. Es laeuft alles sauber. Bin zufrieden. Aber kann diese CPU wirklich nur zwischen 500 und 700 MHz umschalten?
Ja. Hey, tu doch nicht so negativ, das waren die allerersten mit Speedstep und Core-Spannungsänderung. Da kann man noch nicht allzu viel erwarten - das war ja schon fast eine kleine Revolution so. :D
Eine weitere Frage fuer die ich aber lieber mal nen eigenes Thread oeffnen sollte: kannst du mir sagen wie ich den XScreensaver dazu bekomme das Backlight des Displays mit auszuschalten? Das ist bei mir permanent an. Wenn du auch so ein Geraet hast weisst du das ja vielleicht zufaellig. Ansonsten schonmal vielen, vielen Dank bis hierher :).
Keine Ahnung, ich mach jeweils den Deckel zu oder suspende gleich ;)

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

Benutzeravatar
Felix
Beiträge: 453
Registriert: 17.02.2003 10:26:57
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Felix » 23.02.2005 11:55:51

:D ok, vielen Dank. Ich hab gemerkt wenn ich die CPU auf 500 runtertakte und das System is voll ausgelastet schaltet er automatisch auf 700 hoch und anschliessend wieder runter. Find ich sehr schick, genauso hab ich mir das vorgestellt. Der Luefter ging bis jetzt beim normalen Arbeiten nur auf minimalster Stufe an. Mehr wollt ich ja eigentlich garnich erreichen.
Das mit dem Backlight bekomm ich auch noch raus, da ich zwischendurch oefter mal vom Laptop weggehe und grundsaetzlich sowas wie Suspend oder Zuklappen vergesse waere das nicht verkehrt. Apropos Suspend. Funktioniert das bei dir einfach so? Momentan bei mir noch nicht, aber das kann auch daran liegen das ich die Funktionstasten noch deaktviert habe. Ich guck mir das jetzt mal genauer an.

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 23.02.2005 13:50:10

Suspend (also S3 Schlafmodus) geht seit Kernel 2.6.9 (oder wars 2.6.8, ich glaub 2.6.8 mit Patch und 2.6.9 einfach so).

Mein Script dazu damit nachher Sound und so auch brav wieder laufen (verlangsamt allerdings die Sache, so Dienste stoppen und starten geht unglaublich lang):

Code: Alles auswählen

#!/bin/bash

/etc/init.d/networking stop
/etc/init.d/alsa stop

modprobe -r snd_cs4281 snd_pcm_oss

su - $XUSER -c "DISPLAY=:0.0 xlock -mode matrix +echokeys" &
sync
echo -n mem > /sys/power/state

modprobe snd_cs4281
modprobe snd-mixer-oss 
modprobe snd-pcm-oss

/etc/init.d/alsa start
/etc/init.d/networking start
das su blabla führt xlock für die aktuelle X-Session aus.

Das ist wie gesagt für mit ACPI. Mit APM ging das eigentlich schon immer.

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

hackbard

Beitrag von hackbard » 03.03.2005 14:42:28

servus leute trifft eure lösung zum cpufreq auch auf thinkpad t22 zu mit nem 2.6.10er kernel? hab nämlci glaub ich die selbe fehlermeldung!!!???

Benutzeravatar
Felix
Beiträge: 453
Registriert: 17.02.2003 10:26:57
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Felix » 03.03.2005 14:53:15

Was fuer eine CPU hast du denn im T22? Wenn ich mich recht entsinne is das auch ein Pentium 3 mit Copperminekern. Gib doch mal cat /proc/cpuinfo ein und guck was bei model name steht. Bei mir kommt an der Stelle:

Code: Alles auswählen

model name      : Pentium III (Katmai)
Das ist auf meinem DesktopPC bei meinem X21 steht dort Comppermine. Das zweite worauf es ankommt ist der Chipsatz den du hast. Unsere Loesung basiert auf dem BX Chipsatz. Welchen du hast bekommst du mit lspci -v raus. Bei meinem Desktop bekomm ich dann unter anderem sowas:

Code: Alles auswählen

0000:00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 02)
Dannach musst du entscheiden welches Speedstepping fuer deine Maschiene das richtige ist. Wenn du den Kernel per make menuconfig compilierst kannst du dir zu den Verschiedenen Speedsteppings in der Hilfe dazu angucken welches zu deinem Chipsatz und CPU passt.
Der Rest der Anleitung hier sollte dann genauso bei dir laufen. 2.6.10er Kernel habe ich bei mir jetzt einwandfrei am arbeiten. Bin sehr zufrieden.

hackbard

Beitrag von hackbard » 03.03.2005 14:59:49

hi also meine cpu is die p3 copermine
und lspci -v gibt das bei mir aus

http://nopaste.debianforum.de/132

wegen kernel kompilieren hab ich überhaupt kein plan wie geh ich den in meinem fall da vor??

EDIT: lspci nach nopaste verschoben - blackm

Benutzeravatar
Felix
Beiträge: 453
Registriert: 17.02.2003 10:26:57
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Felix » 03.03.2005 15:03:44

Schon in der ersten Zeile stehts: 440BX/ZX/DX. Dann sollte das alles so laufen es oben beschreiben ist.

hackbard

Beitrag von hackbard » 03.03.2005 15:08:29

super nur wie komme ich in das kernel kompilieren ich muss doch da eine einstellung machen

Benutzeravatar
Felix
Beiträge: 453
Registriert: 17.02.2003 10:26:57
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Felix » 03.03.2005 15:28:10

Dazu guckst du dir am besten im Wiki an wie man nen Kernel kompiliert. Das ist etwas aufwendiger. Du musst schon so halbwegs wissen was in deinem Rechner steckt und was du brauchst und was nicht. Aber dazu gibt es hier massenhaft Lektuere im Forum. ;)

hackbard

Beitrag von hackbard » 03.03.2005 15:32:02

alles klar viellen dank für die hilfe

Thomas_s
Beiträge: 18
Registriert: 08.03.2005 09:59:18

Script wohin?

Beitrag von Thomas_s » 08.03.2005 10:01:38

Hallo peschmae,

wohin packst Du denn das Script fuer suspend?

Thanks

Thomas

Charon
Beiträge: 8
Registriert: 09.12.2004 11:20:28
Kontaktdaten:

Beitrag von Charon » 18.03.2005 19:52:29

@hackbard

habe es soeben auf meinem T22 mit der hier beschriebenen methode ans laufen gebracht ^^

die CPU beherrscht leider nur 700MHz und 900MHz (zumindest gibt "scaling_available_frequencies" nur diese beiden an), mal sehen wie sich das auf die laufzeit auswirken wird.
als demon benutze ich powernowd. cpufreqd wollte garnicht (ok, habe mich nicht wirklich mit der konfiguration davon beschäftigt) und cpudyn hat teilweise schon nur beim bewegen des mauszeigers die cpu-frequenz nach oben gesetzt...

grüße
Charon

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 18.03.2005 21:21:25

@Thomas_s: /usr/local/bin/suspend.sh aber das kannst du entscheiden wo du das willst. :)
Einfach ausführen dann... *g*

@Charon: Das ist so bei den alten Speedstep CPU da gibts nur zwei Frequenzen. Ist aber imo nicht weiter störend, schliesslich ist ja bei denen auch der Unterschied noch nicht so riesig.
Die Erfahrungen bezüglich cpufreqd waren bei mir übrigens genau gleich, drum hab ich jetzt powernowd, der geht. :)
Der Ondemand-Kernel-Policy-Dings geht leider nicht bei mir - der schaltet wohl zu schnell und häufig für die alte CPU vermute ich mal, auf einem anderen AMD XP Mobile gehts nämlich.

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

PsychoFreak
Beiträge: 9
Registriert: 11.11.2004 10:29:33

Beitrag von PsychoFreak » 16.02.2006 16:56:10

Hi,
hab auch das x21.
Und das klappt auch so weit. Nutze zur zeit den powernowd aber der macht mir irgendwie angst... Wenn ich mit Netzteil Linux boote läuft der mit 697.088 MHz. Ist ja auch nen 700MHz Prozessor. Wenn ich aber nun etwas mache und die CPU auslastung geht über 80% zeigt der mir an das der mit 975.923MHz läuft, kann das sein?!
Oder könnt ihr mir anstatt powernowd etwas anderes empfehlen?
Außerdem habe ich noch ein Problem das wenn ich ohne Netzteil boote der bei ca 500MHz ist aber nie auf 700MHz kommt. Auch wenn ich nach dem Booten das Netzteil einstecke. Ist das änderbar?
mfg

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 16.02.2006 19:03:17

Das mit dem ohne Netzteil hatte ich auch. Aber ich weiss nicht ob da nur die Anzeige falsch ist oder so, hab micht dann schlussendlich nie gross drum gekümmert. Ich denke mal es ist irgendwas in die Richtung.

Die 9xy Mhz sind tatsächlich recht merkwürdig. Heitzt er denn auch entsprechend stark? (Temparatur steht in /proc/acpi/thermal_zone/THM0/temperature)

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von rendegast » 04.05.2006 23:44:12

Hallo,
PsychoFreak hat geschrieben:Oder könnt ihr mir anstatt powernowd etwas anderes empfehlen?
Eine andere (meine) Lösung für Speedstepping mit ondemand/conservative-governor statt Userspace-Daemon:
http://www.pro-linux.de/forum/viewtopic.php?t=1030676

in include/linux/cpufreq.h:
  • ...
    /* #define CPUFREQ_ETERNAL (-1)*/
    #define CPUFREQ_ETERNAL (10)
    ...

Antworten