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.

Since my laptop (an Acer Aspire 5750G running a Gentoo Linux with a not-quite-up-to-date kernel 2.6.39-r3 (a weird wLan hardware makes the update difficult)) tends to run rather hot I am trying to control the situation by employing the service cpufreqd. cpufrequtils are present and active. acpi -t returns nothing. However, lm-sensors are installed and look happy:

Ulyss etc # sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +64.0 C  (high = +86.0 C, crit = +100.0 C)
coretemp-isa-0002
Adapter: ISA adapter
Core 1:       +64.0 C  (high = +86.0 C, crit = +100.0 C)
...

sensors -u yields

Ulyss etc # sensors -u
coretemp-isa-0000
Adapter: ISA adapter
Core 0:
  temp1_input: 63.000
  temp1_max: 86.000
  temp1_crit: 100.000
  temp1_crit_alarm: 0.000

coretemp-isa-0002
Adapter: ISA adapter
Core 1:
  temp1_input: 63.000
  temp1_max: 86.000
  temp1_crit: 100.000
  temp1_crit_alarm: 0.000
...

Reading several sources on the net and last not least

man cpufreqd.conf

I created /etc/sensors.d/cores.inf

chip "coretemp-isa-0000"
  label temp1 "Core 0"

chip "coretemp-isa-0002"
  label temp1 "Core 1"
...

and in /etc/cpufreqd.conf modified the general block into

[General]
  pidfile=/var/run/cpufreqd.pid
  poll_interval=2
  verbosity=7 # Was at 4
  enable_remote=1 # Was commented out
  remote_group=root # Was commented out
[/General]

and activated

[sensors_plugin]
sensors_conf=/etc/sensors.d/cores.conf
[/sensors_plugin]

and defined

[Rule]
name=CPU Too Hot
sensor=temp1:60-200
cpu_interval=50-100
profile=Performance Low
[/Rule]

All this done I checked that all sensors read more then 60 degree C, restarted cpufreqd and checked

Ulyss etc # cpufreq-info -p
2001000 2001000 performance

which still may be correct due to the possible fact that other rules are stronger (btw: Is there some way to introduce weights? Maybe by repeating some lines in the rule?).

So I try to get some information calling cpufreqd directly in its most verbose mode:

cpufreqd -V7

which yields no output even when specifiying -f /etc/cpufreqd.conf as well.

I have a hunch that there may be some trouble in lacking modules. Hence:

Ulyss sensors.d # lsmod
Module                  Size  Used by
fuse                   56971  1 
cpufreq_ondemand        5203  0 
nvidia              12290458  0 
tg3                   104688  0 
wl                   2530575  0 
uvcvideo               52523  0 
videodev               61049  1 uvcvideo
v4l2_compat_ioctl32     7103  1 videodev

Another hunch calls for kernel options

--- ACPI (Advanced Configuration and Power Interface) Support
  [*]   Deprecated /proc/acpi files
  [ ]   Deprecated power /proc/acpi directories
   M   ACPI 4.0 power meter
        EC read/write access through /sys/kernel/debug/ec
  [*]   Deprecated /proc/acpi/event support
   *    AC Adapter
   *    Battery
  -*-   Button
  -*-   Video
   *    Fan
  [*]   Dock
  *     Processor
        Processor Aggregator
  *     Thermal Zone
  -*-   NUMA support
  [ ]   Debug Statements
   M    PCI slot detection driver
  -*-   Container and Module Devices (EXPERIMENTAL)
   M    Smart Battery System
        Hardware Error Device
  [ ]   ACPI Platform Error Interface (APEI)

[*] CPU Frequency scaling
  [ ]   Enable CPUfreq debugging
        CPU frequency translation statistics
        Default CPUFreq governor (userspace)  --->
   *    'performance' governor
   *    'powersave' governor
  -*-   'userspace' governor for userspace frequency scaling
   M    'ondemand' cpufreq policy governor
   *    'conservative' cpufreq governor
  *** CPUFreq processor drivers ***
        Processor Clocking Control interface driver
   *    ACPI Processor P-States driver
        AMD Opteron/Athlon64 PowerNow!
        Intel Enhanced SpeedStep (deprecated)
        Intel Pentium 4 clock modulation
  *** shared options ***

So far the situation. Now my questions: Could any of you shed some light on why the cpufreq fails to change to a lower frequency? Or, just as interesting, how I could debug the /etc/cpufreqd.conf file?

share|improve this question

1 Answer 1

I was having the same issues. I too have a laptop that runs too hot.

I didn't think it was doing anything, but I enabled cpufreqd -V7 and saw the messages being written to /var/log/messages.

I disabled some of the unused rules, and just used 3 'too hot' stanzas.

[Rule]
name=temp high
sensor=temp6:100-105
cpu_interval=50-100
profile=Powersave Low
[/Rule]

[Rule]
name=temp med
sensor=temp6:95-99
cpu_interval=50-100
profile=Powersave High
[/Rule]

[Rule]
name=temp low
sensor=temp6:87-94
cpu_interval=50-100
profile=Performance Low
[/Rule]

One problem I discovered is that sensors (and the kernel) report the temp sensors from 0 to n, where cpufreqd refers to the temp sensors from 1 to (n+1)

share|improve this answer

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.