[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: running powernowd on debian lenny





2009/12/27 Dave Witbrodt <dawitbro@sbcglobal.net>
Umarzuki Mochlis wrote:
2009/12/27 Dave Witbrodt <dawitbro@sbcglobal.net    Umarzuki Mochlis wrote:

       I have a cq40-115au latop with AMD Turion x2 RM-70 processor.

       I want to enable powernowd. After i compiled it from source


   Because you built your own, it becomes more difficult for the rest
   of us to help you.  The Debian 'powernowd' package has been altered
   from upstream to put its configuration options in
   /etc/default/powernowd.  My answers below are from my own
   experiences using the Debian 'powernowd' package; you will have to
   read the documentation in the source code, and figure out how to
   translate my answers to work for your own setup.  (In my view, it
   was a waste of time for you to compile your own 'powernowd', since
   Debian already has the package.)


i had removed it (now) with #make clean
#rm -f /usr/bin/powernowd
 and installed powernowd package, enabled needed modules

#modprobe cpufreq_userspace powernow-k8

So, did that work or not?


i'm still having the same failure message, there's something amiss from what i had done?
 


       , when i ran
       # powernowd
       here are the output:

       powernowd: PowerNow Daemon v1.00, (c) 2003-2008 John Clemens
       /sys/devices/system/cpu/cpu0/cpufreq/affected_cpus: No such file
       or directory
       powernowd: err=2
       powernowd: Found 2 scalable units:  -- 1 'CPU' per scalable unit
       /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq: No such
       file or directory

       PowerNowd encountered and error and could not start.
       Please make sure that:
        - You are running a v2.6.7 kernel or later
        - That you have sysfs mounted /sys
        - That you have the core cpufreq and cpufreq-userspace
         modules loaded into your kernel
        - That you have the cpufreq driver for your cpu loaded,
         (for example: powernow-k7), and that it works. Check
         'dmesg' for errors.

       # uname -r
       2.6.26-2-686-bigmem


   I assume that is a Debian kernel?  The default CPU_FREQ_GOV*
   settings have changed over time.  What do you get if you run this:

      grep CPU_FREQ /boot/config-2.6.26-2-686-bigmem


CONFIG_CPU_FREQ=y
[...]
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y

# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m

So, you have an old kernel that defaults to "performance".  That will cause your CPU to run at full speed, instead of cycling down when not needed.


this had caused my laptop to shutdown when playing games like secret maryo chronicles
 

   What is in /etc/fstab?  If you installed using a
   Debian installer, you should have a line like this:

      sysfs  /sys  sysfs  defaults  0  0


# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/sda1       /               ext3    errors=remount-ro 0       1
/dev/sda2       /home           ext3    defaults        0       2
/dev/sda5       none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
sysfs /sys sysfs defaults 0 0

Looks OK.


the last line was just added by me
 


# mount -t sysfs none /sys
mount: none already mounted or /sys busy
mount: according to mtab, sysfs is already mounted on /sys

Yep, you already had /sys... no need to try to mount it again.



    What should I do next?

   If the 'sysfs' line is missing from /etc/fstab, add it then mount it
   using 'mount /sys'.

   With Debian kernels, you need to add two lines to /etc/modules to
   make it possible for 'powernowd' to run with recent AMD CPUs:

     cpufreq_userspace
     powernow-k8

   You can load these without rebooting using 'modprobe'.  (I build my
   own kernels, so when I _used_ to use 'powernowd', I simply built
   these options directly into the kernel.)

   If you were using 'powernowd' packages from Debian, you could edit
   /etc/default/powernowd to enable loading the program during the boot
   sequence and to customize its settings.  Since you built your own
   'powernowd', tweaking the configuration may involve editing a
   bootscript or something.  (You're on your own here:  RTF docs.)


   One last thought.  I played with 'powernowd' for a while.  I liked
   it well enough.  Then I found out that the Linux kernel has the
   CPU_FREQ_GOV_ONDEMAND driver, which can be built into the kernel or
   used as a loadable module.  Debian kernels began defaulting to it a
   while ago, though your kernel may be old enough that it was not yet
   using it by default.  I decided that 'powernowd' was superfluous,
   and began using 'cpufreq_ondemand' and never looked back.  My advice
   would be that you do the same.

So, did any of this work?  After letting the machine idle for a few seconds, run this:

   cat /proc/cpuinfo | grep MHz

The CPU frequency printed will be much lower than the rated speed of the CPU if 'powernowd' (or 'ondemand') are working.


DW




--
Regards,

Umarzuki Mochlis
http://debmal.my

Reply to: