LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 03-03-2015, 06:38 AM   #1
DvD12
LQ Newbie
 
Registered: Mar 2015
Posts: 13

Rep: Reputation: Disabled
CPU frequency scale


I'm trying to underclock my netbook's CPU (Intel Atom D2500) in order to save some precious energy.

I tried using the cpufreq utility. However, cpufreq-info yields the following output:

Code:
analyzing CPU 0:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 0.00 ms.
analyzing CPU 1:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 0.00 ms.
So I tried sudo modprobe acpi-cpufreq and other combinations as suggested elsewhere. Loading these modules usually yields

Code:
ERROR: could not insert 'acpi_cpufreq': No such device
So I thought the BIOS doesn't allow scaling. Its configuration is very limited, though, and I couldn't find anything related.

My BIOS is the following (sudo dmidecode):

Code:
BIOS Information
        Vendor: Phoenix Technologies Ltd.
        Version: CDVW712M[2012/04/14] X64
        Release Date: 09/18/2012
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 2048 kB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                CGA/mono video services are supported (int 10h)
                NEC PC-98
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Function key-initiated network boot is supported
                Targeted content distribution is supported
        BIOS Revision: 0.1
I couldn't find any information about this BIOS model. Any pointers?
 
Old 03-03-2015, 08:52 AM   #2
veerain
Senior Member
 
Registered: Mar 2005
Location: Earth bound to Helios
Distribution: Custom
Posts: 2,524

Rep: Reputation: 319Reputation: 319Reputation: 319Reputation: 319
Try this:

Code:
modprobe acpi-cpufreq
modprobe p4-clockmod
modprobe intel_pstate
Check output of dmesg to see if your cpu is getting detected.

Please report relevant dmesg output.
 
Old 03-03-2015, 09:20 AM   #3
DvD12
LQ Newbie
 
Registered: Mar 2015
Posts: 13

Original Poster
Rep: Reputation: Disabled
Code:
dmesg | grep -i cpu
yields no output.

Code:
modprobe acpi-cpufreq
modprobe p4-clockmod
modprobe intel_pstate
yield the following output, respectively:
Code:
ERROR: could not insert 'acpi_cpufreq': No such device
ERROR: could not insert 'p4_clockmod': No such device
FATAL: Module intel_pstate not found.
 
Old 03-03-2015, 09:29 AM   #4
veerain
Senior Member
 
Registered: Mar 2005
Location: Earth bound to Helios
Distribution: Custom
Posts: 2,524

Rep: Reputation: 319Reputation: 319Reputation: 319Reputation: 319
So your cpu is not supported by both acpi_cpufreq and p4_clockmod

Then show the output of:

Code:
dmesg | grep pstate
modprobe speedstep
 
Old 03-03-2015, 09:46 AM   #5
DvD12
LQ Newbie
 
Registered: Mar 2015
Posts: 13

Original Poster
Rep: Reputation: Disabled
No output for dmesg | grep pstate.

speedstep is not found:

Code:
FATAL: Module speedstep not found.
 
Old 03-03-2015, 09:53 AM   #6
veerain
Senior Member
 
Registered: Mar 2005
Location: Earth bound to Helios
Distribution: Custom
Posts: 2,524

Rep: Reputation: 319Reputation: 319Reputation: 319Reputation: 319
Have you run 'dmesg | grep pstate' after fresh reboot. Because dmesg data is store in a limited buffer.

Anyways if even that doesn't shows then perhaps your Intel Atom cpu doesn't or isn't supported by available linux drivers.

I even checked intel site and the cpu page says it doesn't supports turbo frequency.
 
Old 03-03-2015, 10:38 AM   #7
TobiSGD
Moderator
 
Registered: Dec 2009
Location: Germany
Distribution: Whatever fits the task best
Posts: 17,148
Blog Entries: 2

Rep: Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886
While this CPU doesn't have the turbo feature it still should have power save modes that run at a lower clock frequency. Seeing that the pstate driver (which is the correct one for these machines) is not available I am wondering which distribution in which version you are running.
 
Old 03-03-2015, 12:02 PM   #8
DvD12
LQ Newbie
 
Registered: Mar 2015
Posts: 13

Original Poster
Rep: Reputation: Disabled
I didn't run dmesg | grep cpu in time. This is the actual output:

[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[ 0.000000] ACPI: SSDT 7f6e2000 00655 (v01 PmRef CpuPm 00003000 INTL 20061109)
[ 0.000000] SMP: Allowing 4 CPUs, 2 hotplug CPUs
[ 0.000000] setup_percpu: NR_CPUS:32 nr_cpumask_bits:32 nr_cpu_ids:4 nr_node_ids:1
[ 0.000000] PERCPU: Embedded 14 pages/cpu @f79b9000 s33280 r0 d24064 u57344
[ 0.000000] pcpu-alloc: s33280 r0 d24064 u57344 alloc=14*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Initializing CPU#0
[ 0.000000] CPU 0 irqstacks, hard=f5406000 soft=f5408000
[ 0.000341] Initializing cgroup subsys cpuacct
[ 0.000445] CPU: Physical Processor ID: 0
[ 0.000448] CPU: Processor Core ID: 0
[ 0.000453] mce: CPU supports 5 MCE banks
[ 0.000464] CPU0: Thermal monitoring enabled (TM1)
[ 0.047909] CPU0: Intel(R) Atom(TM) CPU D2500 @ 1.86GHz stepping 01
[ 0.154124] CPU 1 irqstacks, hard=f54d4000 soft=f54d6000
[ 0.154133] smpboot cpu 1: start_ip = 99000
[ 0.164082] Initializing CPU#1
[ 0.261500] Brought up 2 CPUs
[ 1.231616] cpuidle: using governor ladder
[ 1.231620] cpuidle: using governor menu
[ 2.230968] microcode: CPU0 sig=0x30661, pf=0x4, revision=0x106
[ 2.235640] microcode: CPU1 sig=0x30661, pf=0x4, revision=0x106
[ 5.572464] coretemp coretemp.0: Unable to read TjMax from CPU 0
[ 5.572507] coretemp coretemp.0: Unable to read TjMax from CPU 1

So yes, I suppose it detects my CPU.


I do confirm that 'dmesg | grep pstate' outputs nothing though.

Quote:
I am wondering which distribution in which version you are running
I'm using CrunchBang 11 "Waldorf". Might be hipster-y, but the newer and more mainstream ones made the screen flicker like crazy and I didn't possess (nor I do now) the skill to fix that. This distro worked out of the box and I was happy with that.
 
Old 03-03-2015, 12:10 PM   #9
TobiSGD
Moderator
 
Registered: Dec 2009
Location: Germany
Distribution: Whatever fits the task best
Posts: 17,148
Blog Entries: 2

Rep: Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886
AFAIK, Crunchbang Waldorf is based on Debian Wheezy and that is where your problems come from. Wheezy simply lacks power management features for that CPU. You should switch to a newer distro, Crunchbang is not supported anymore anyways.
 
Old 03-03-2015, 04:19 PM   #10
DvD12
LQ Newbie
 
Registered: Mar 2015
Posts: 13

Original Poster
Rep: Reputation: Disabled
I would if I could find a modern distro that doesn't make the screen flash and flicker. But that's for another thread I suppose.

Nevertheless, I'm currently running Lubuntu 14.40 from a live usb. These are the results:


Output of dmesg | grep -i cpu:

Code:
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] KERNEL supported cpus:
[    0.000000]   Transmeta TransmetaCPU
[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[    0.000000] ACPI: SSDT 0x7F6E2000 000655 (v01 PmRef  CpuPm    00003000 INTL 20061109)
[    0.000000] smpboot: Allowing 4 CPUs, 2 hotplug CPUs
[    0.000000] setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:4 nr_node_ids:1
[    0.000000] PERCPU: Embedded 14 pages/cpu @f52f0000 s36480 r0 d20864 u57344
[    0.000000] pcpu-alloc: s36480 r0 d20864 u57344 alloc=14*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Initializing CPU#0
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] 	RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] CPU 0 irqstacks, hard=f4c08000 soft=f4c0a000
[    0.011038] CPU: Physical Processor ID: 0
[    0.011042] CPU: Processor Core ID: 0
[    0.011048] mce: CPU supports 5 MCE banks
[    0.011064] CPU0: Thermal monitoring enabled (TM1)
[    0.074267] smpboot: CPU0: Intel(R) Atom(TM) CPU D2500   @ 1.86GHz (fam: 06, model: 36, stepping: 01)
[    0.186619] CPU 1 irqstacks, hard=f4544000 soft=f4546000
[    0.186629] .... node  #0, CPUs:      #1
[    0.196597] Initializing CPU#1
[    0.199724] x86: Booted up 1 node, 2 CPUs
[    0.199930] NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.
[    0.205451] cpuidle: using governor ladder
[    0.205457] cpuidle: using governor menu
[   10.322675] microcode: CPU0 sig=0x30661, pf=0x4, revision=0x106
[   10.322694] microcode: CPU1 sig=0x30661, pf=0x4, revision=0x106
[   10.596850] cpufreq-nforce2: No nForce2 chipset.
[   10.596870] ledtrig-cpu: registered to indicate activity on CPUs
modprobe acpi-cpufreq -- OK (no output)
modprobe p4-clockmod -- ERROR: could not insert 'p4_clockmod': No such device
modprobe intel_pstate -- FATAL: Module intel_pstate not found.
dmesg | grep pstate -- no output
modprobe speedstep -- FATAL: Module speedstep not found.

So it loads acpi-cpufreq but it doesn't do much else.
 
Old 03-04-2015, 06:23 AM   #11
veerain
Senior Member
 
Registered: Mar 2005
Location: Earth bound to Helios
Distribution: Custom
Posts: 2,524

Rep: Reputation: 319Reputation: 319Reputation: 319Reputation: 319
You have to use a program which allows to set cpu frequency parameters for your cpu. Cpupower is one good example.

Arch Wiki site has a good page on this. Just use whatever applies to you.
 
Old 03-13-2015, 08:18 PM   #12
DvD12
LQ Newbie
 
Registered: Mar 2015
Posts: 13

Original Poster
Rep: Reputation: Disabled
So I found out it's just not possible. Atom D2500 simply doesn't support dynamic frequency scaling (I wish there was some way to set it statically at least, but apparently there is none).

I'm testing a live Crunchbang on an Atom N2600 and cpufreq works out of the box, so that proves it's not a software/kernel problem.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] CPU frequency arubin Slackware 2 10-02-2012 04:20 PM
[SOLVED] CPU frequency Edward18 Linux - Hardware 14 02-01-2012 06:35 AM
LXer: SCALE 8x Update: Jobs@SCALE (not Steve), T-shirts, SCALE Uni and UpSCALE talks LXer Syndicated Linux News 0 02-13-2010 01:10 PM
cpu frequency scaling with Pentium(R) Dual-Core CPU E5200 @ 2.50GHz tramni1980 Slackware 5 08-16-2009 08:29 AM
Celeron M CPU won't scale frequency LinLenLap Linux - Hardware 1 09-03-2006 03:45 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 02:33 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration