Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I have a Dell Latitude D600 running CrunchBang Statler (Debian Squeeze-based) with a 1.4GHz Pentium M. I noticed in Conky that my CPU freq is stuck at 600MHz, even when doing CPU-intensive things like Flash video. So I installed cpufreqd, ran cpufreq-info, and it returned this:

cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 600 MHz - 1.40 GHz
  available frequency steps: 1.40 GHz, 1.20 GHz, 1000 MHz, 800 MHz, 600 MHz
  available cpufreq governors: powersave, userspace, conservative, ondemand, performance
  current policy: frequency should be within 600 MHz and 600 MHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 600 MHz.
  cpufreq stats: 1.40 GHz:0.00%, 1.20 GHz:0.00%, 1000 MHz:0.00%, 800 MHz:0.00%, 600 MHz:100.00%

Notice the part about "CPUs which need to have their frequency coordinated". It seems CPUFreqD is unable to manage my processor frequency, and it also says that it's being kept at a range of 600MHz to 600MHz. I have SpeedStep on, and supposedly 2.6 has full support for that (I have 2.6.39 backported from Wheezy), but I never notice SpeedStep doing anything. If I disable it, the BIOS says I'll be stuck at 600MHz.

Power is no issue, as the laptop has no battery; it relies solely on its power cord. How can I enable the full frequency of my processor? Is Linux lying to me about the frequency? I'm decently experienced with Linux, so I'm not afraid to try complex fixes.

share|improve this question
add comment

3 Answers

up vote 2 down vote accepted

A month later, and running Arch Linux instead, I discovered the real problem, and its solution.

My Dell D600 doesn't have a battery in it, and is running solely on power from the AC adapter. When the BIOS detects that there is no battery installed, it permanently downclocks the CPU to avoid overwhelming the AC adapter.

If you want to override this behavior, all you have to do is add processor.ignore_ppc=1 to the end of your kernel boot command (usually found in your GRUB config.) Then you can use the acpi_cpufreq driver to enable CPU frequency scaling properly.

Or you could choose not to be cheap and buy a battery. That would also solve the problem.

share|improve this answer
add comment

The information "CPUs which need to have their frequency coordinated by software: 0" is perfectly alright. This 0 means not a number of CPUs to be controlled, but a list of CPUs - which in your case is only one, and its number is 0.

Did you read man cpufreq-set? It tells you how to set the min and max allowed CPU frequency. Also, the recommended cpufreq governor is conservative. Just change to that and you need no additional system daemons running.

share|improve this answer
    
Doesn't work. I ran sudo cpufreq-set --cpu 0 --governor conservative --min 600MHz --max 1400MHz, and the output of cpufreq-info remained the same. –  soren121 Oct 15 '11 at 1:43
add comment

You need to actually load the appropriate power modules as they're not normally loaded automatically by Debian.

Checking the Squeeze install that I have at home, there are a number of speedstep modules that can be loaded. I'm not sure which ones are needed for your specific machine. You can try them out one by one.

-rw-r--r-- 1 root root  7500 Oct  3 17:07 speedstep-centrino.ko
-rw-r--r-- 1 root root  7120 Oct  3 17:07 speedstep-ich.ko
-rw-r--r-- 1 root root  6912 Oct  3 17:07 speedstep-lib.ko
-rw-r--r-- 1 root root  8152 Oct  3 17:07 speedstep-smi.ko

Check that they are already loaded using lsmod | grep speedstep command.

share|improve this answer
    
Thank you! I needed the SpeedStep-Centrino driver, and the guide I was following on the Arch wiki made no mention of it. –  soren121 Oct 16 '11 at 3:42
    
You're welcome. Every Linux distro has differences but once you learn how things work, it's easier. –  sybreon Oct 16 '11 at 4:44
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.