I've never been able to control the frequency my cpu runs at in linux (I had this same problem when I ran slackware on this box and could not fix it). If I run the system without cpufreq support, it'll only run at full speed if the laptop's cool when it boots - otherwise it's stuck running at 800MHz (according to /proc/cpuinfo - and how accurate is this btw?). If I load the acpi-cpufreq module (speedstep-centrino doesnt load), my cpu is still running at 800MHz according to /proc/cpuinfo and cpufrequtils show me the following:
tom ~ $ cpufreq-info cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006 Report errors and bugs to firstname.lastname@example.org, please. analyzing CPU 0: driver: acpi-cpufreq CPUs which need to switch frequency at the same time: 0 hardware limits: 800 MHz - 2.00 GHz available frequency steps: 2.00 GHz, 1.60 GHz, 1.33 GHz, 1.07 GHz, 800 MHz available cpufreq governors: userspace, performance current policy: frequency should be within 800 MHz and 800 MHz. The governor "performance" may decide which speed to use within this range. current CPU frequency is 800 MHz.
A range of 800-800mhz, wtf? So I tried using the 'userspace' governor, it loads fine, but when I try to manually set my frequencues (using both cpufreq-utils and manually) , I get basically the same output as above with a '(asserted by call to hardware)' message beside my current cpu frequency.
Trying to use cpufreqd didn't seem to help me either, and I noticed the following lines when I ran it verbosely:
tom ~ $ cpufreqd -D -V7 cpufreqd_loop : New Rule ("AC Rule"), applying. cpufreqd_set_profile : Couldn't set profile "Performance High" set for cpu0 (100-100-performance) cpufreqd_loop : Cannot set policy, Rule unchanged ("none").
If anyone has any insight into this, I would greatly appreciate it as this issue is one that has been plaguing me for a long time
funny that you started this thread, i´ve recognized the same "error" with the cpu range (800Mhz-800Mhz) just yesterday.
i don´t think it is a real error, my laptop has a "silent mode" button which turns out the fans and lower the cpu capacity.
this function is controlled through the bios i think, in any case throuch something "low level".
just check if you are in silent mode or something like that.
my laptop has a "silent mode" button which turns out the fans and lower the cpu capacity.
Me too! :-)
i thought that the button you say, was only for make the fan speed lower. Nothing related to the CPU.
Amazing discovery ;-)
hmm, unfortunately my laptop has no such feature
If the #cpufreq-set is not working, try to edit manually cpufreq conf. files. They are located in /sys/devices/system/cpu/cpu0/cpufreq/* directory. File names important for you are:
scaling_min_freq (min freq. value in Hz)
scaling_max_freq (max freq. value in Hz)
scaling_governor (governor - I use ondemand always)
Also use acpi-cpufreq module, it works just fine.
If, after restart, your setting get lost, use rc.local and echo command to force them on boot. I hope it helps!;)
Last edited by ak-87 (2008-01-15 15:29:02)
Try the ondemand governor
Yeah, I'm using acpi-cpufreq, it's the only one that'll even load for me
The ondemand governor didn't seem to help (modprobed it, then loaded it with echo -n ondemand > scaling_governor). No matter how high my cpu usage goes, the frequency never leaves 800mhz according to /proc/cpuinfo.
With the userspace governor, 'echo -n 2000000 > scaling_max_freq ' doesn't change the value at all (that's a valid freq according to the scaling_available_frequencies file), it stays at 800000. Same thing when I 'echo -n 2000000 > scaling_setspeed'.
Last edited by ice_nine (2008-01-17 05:18:48)
What do you have in /etc/conf.d/cpufreq ? You can set the min/max frequency in that file.
#configuration for cpufreq control # valid governors: # ondemand, performance, powersave, # conservative, userspace governor="userspace" # valid suffixes: Hz, kHz (default), MHz, GHz, THz min_freq="1.60GHz" max_freq="2.00GHz"
And /etc/rc.d/cpufreq restart gives :
:: Setting cpufreq governing rules , cpu 0Error setting new values. Common errors: [BUSY] - Do you have proper administration rights? (super-user?) - Is the governor you requested available and modprobed? - Trying to set an invalid policy? - Trying to set a specific frequency, but userspace governor is not available, for example because of hardware which cannot be set to a specific frequency or because the userspace governor isn't loaded?
Though I haven't been using this at all, since it just automates the use of cpufreq-set.
Try setting the max_freq to something like "2.10GHz". I remember having problems with it when I had it set to exactly the max freq of my processor (apparently the script uses "less than" rather than "less than or equal" when determining valid frequencies). You can also try commenting these out completely and see how that works.
Last edited by fwojciec (2008-01-17 22:31:47)
hmm, seems that the "Error setting new values" comes from trying to set a min freq higher then 800. Commenting out the min/max allow the script to run errorless and it will correctly set the governor (though I'm still stuck at 800).
Setting my max to 2.10GHz works without errors, but doesn't seem to affect anything. It also let me set my current frequency to 2.10GHz, though that didn't affect anything either (scaling_cur_freq and scaling_max_freq are both still 800000).
I experienced pretty much the same troubles earlier: my PentiumM 750 1.86GHz was stuck on 800 Mhz and acpi-cpufreq was not able to change frequency in spite of the fact speedstep was enabled in BIOS, but speedstep-centrino module couldn't be loaded due to "No such device" error.
It seemed that BIOS hadn't report valid CPU frequencies correctly or I had had some another issues with ACPI system.
So here is the speedstep-centrino.c patch which is based on linux-phc-0.2.10 and adopted to vanilla 2.6.24 kernel by one friend of mine.
It doesn't use ACPI info in its work, so it can fix the problem with broken ACPI or BIOS functionality. Moreover, it might be useful when you are not able to change speedstep settings from BIOS but want to use speedestep anyway.
Patch also adds some new options to the kernel, which needs to be answered 'Y'.
I hope this might be useful for fixing similar problems.
Link to the patch:
http://horna.org.ua/kernel/linux-phc-0. … pted.patch
Ivan N. Veselov.
With best regards,
Ivan N. Veselov.
Do you still have this problem?
I read the log file and found out that I also have this problem.
Both my 2 cores go on 800MHz
It worked before with cpufreqd, new kernel has a bug?