-
HowTo: Undervolt your notebook CPU for longer battery life
Edit: This Post is outdated! The underlying principles still apply, but newer Ubuntu versions requiere a slightly different approach.
- Ubuntu 10.04 LTS
A newer guide for Ubuntu 10.04 LTS Lucid Lynx can be found at: http://openmindedbrain.info/09/05/20...-04-lucid-lts/ - Recent versions
An even more recent guide for the most recent Versions of Ubuntu is linked here: http://linuxsolver.blogspot.com/2011...in-ubuntu.html. It offers a graphical utility to set the voltages for you, but only covers installation. Afterwards, you still have to find and test your individual voltages. Therefor you can use this method from the same author or the method in this post. Whitchever method you choose, be sure to read the short chapter on safety below. Especially important are points 3 and 4 and these still aply to all current and future methods.
This howto is based on own experiences and this german wiki page, so thx to them.
It is tested for intel Core2Duo and CoreDuo cpus. I have no clue if it works for AMD as well. Some answers I received suggest that it currently doesn't work with AMD cpus however.
From wikipedia: Undervolting is the practice of reducing the supply voltage of a computer's CPU. There are many reasons to perform this sort of modification, but a common one is to reduce power consumption and thus heat generation in laptop computers. Lower heat generation provided by undervolting and underclocking is also helpful in making computers quieter.
Performance will not suffer as the energy you will save was just wasted (as heat) before.
Safety:
Undervolting notebook processors is not uncommon. My older notebook (Toshiba S1) even came with a Windows utility that did automatic undervolting preinstalled. So the "undervolted" processor is nothing dangerous.
The way to get there might be, if no care is taken.
What might happen:
1) The voltage controls stability and temperature. The higher the voltage the higher the temp, but without enough voltage the cpu wont be stable and your PC will lock up. In fact with the following procedure we are trying to find the minimum stable voltage to get the cpu as cool as possible. The energy saved will increase battery life as well.
2) So if you were to INCREASE the voltage, you would rise the temperature. This might damage the cpu in case it got too hot - obvious one. (Though all Intel (probably AMD as well) mobile chips are equiped with safety cut off mechanisms afaik) However with the optimizer scipt it automatically REDUCES the voltage so harm to your hardware is very unlikely.
3) To find the named "minimum" voltage, the optimizer scipt needs to test if the cpu runs stable at every voltage setting. So in case it gets too low, your notebook will lock up. Then afterwards the script knows what is too low and will stay safely above.
That sth gets damaged by locking up is rather unlikely - overclocking my desktop machine in younger years I experienced it at least a hundred times and never fried anything.
4) While locking up however your linux and all open applications crash as well. Wich might result in data loss. Be prepared to see the fsck utility at next boot up checking for data integrity. And let it run! ;) Furthermore, don't open any files while running the optimizer script and, before doing this optimization, unmount as many partitions as possible to reduce the risk. (unmounted partitions cannot be corrupted during the lockup)
Once the scipt finishes (you need to run it several times, once for every freqency your cpu is capable of), no more lock-ups are to be expected as the script now knows the individual critical voltage for your cpu and will stay savely above.
With all these precautions I think it is rather save to undervolt.
Still there? Then let's get on to it! Step by step:
1. This howto depends on the kernel module acpi-cpufreq to control your cpu. To find out if you're using it try
Code:
lsmod | grep acpi_cpufreq
You should see sth. like this:
Code:
acpi_cpufreq 14892 2
freq_table 5536 3 acpi_cpufreq,cpufreq_stats,cpufreq_ondemand
processor 36872 4 acpi_cpufreq,thermal
In case you don't see anything, you don't use acpi-cpufreq, but maybe the speedstep.centrino module. Then this howto is not for you unfortunately. speedstep.centrino is in theory supported as well, but I have no experience with it. If someone knows how to do it with speedstep.centrino please tell me and I will add it here.
2. You need to get a modified version of your acpi_cpufreq module, one with PHC support build in. PHC means processor hardware control and is the magic that makes it going. There are several ways to get this module.
a) You can download a patch on
their website and
compile it yourself. If you have never compiled anything, this is not for you as there are easier ways (see b) ). However as I hardly find the time to post updates here I will give a mini-howto for compilation here in case a kernel update breakes compatibility with old modules. You need to compile yourself in case you are running 64 bit as well as the precompiled modules I offer below are 32bit only.
Mini-Howto for compilation
Code:
sudo apt-get install build-essential linux-source
extract the tar from /usr/src to /home/"your-username"/"kernelversion"
download latest
patch to /home/"your-username"/"kernelversion"
copy /boot/config-$(uname -r).config to /home/"your-username"/"kernelversion"
Code:
cd /home/"your-username"/"kernelversion"
patch -p1 < linux-phc*.patch
make oldconfig
make prepare
make scripts
make M=./arch/x86/kernel/cpu/cpufreq
The finished module should be in /home/"your-username"/"kernelversion"/arch/x86/kernel/cpu/cpufreq
Proceed as if you had downloaded this module with copying it to the right place (see
2. c) ). After all is done you can savely remove the folder /home/"your-username"/"kernelversion" and uninstall linux-source to save harddisk space.
b) Download a
precompiled module. It has to match your kernel.
1) First backup your old module.
Code:
sudo cp /lib/modules/`uname -r`/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko /lib/modules/`uname -r`/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko.old
(basically copies it to a new name)
2) There are right now versions for kernel 2.6.24-1
6-generic, 2.6.24-1
7-generic, 2.6.24-1
8-generic and 2.6.24-1
9-generic. To find out what kernel you have open a terminal and type:
So once you know, download the right kernel module for
2.6.24-16-generic or
2.6.24-17-generic or
2.6.24-18-generic or
2.6.24-19-generic.
c) Then copy the downloaded file to the right place:
Code:
sudo cp acpi-cpufreq.ko /lib/modules/$(uname -r)/kernel/arch/x86/kernel/cpu/cpufreq
You have to redo the entire Step 2 every time you update your kernel, so you might want to save your downloaded module file, as it might work again after a kernel upgrade, i.e. the version -16 worked with -14 and -15 as well, but not with -17.
3. Reboot. If the module is installed correctly,
Code:
cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
should give you sth like this:
Code:
12:38 10:30 8:24 6:18
The value before the : stands for the frequency, the later for the voltage.
4. Okay, now we need to find the lowest save voltages. We will use this optimizer script.
Download it (you will need this file as well), then right-click the files, open the permissions tab, and and down at the bottom check the box that says "allow executing the file....." Then run it from the terminal with
Code:
sudo ./linux-phc-optimize.bash
It needs cpuburn installed, so you might want to install it in advance with synaptic. What this scipt does is: It stresses your cpu while lowering the cpu voltage step by step unil your system crashes. Then the script knows what is too low and will stay safely above. The script needs to run once for every frequency step your cpu is capable of, usually around 4-6 times. It will tell you, just run it so often until it tells you finished.
IMPORTANT:
This script will crash your system. Several times. This is normal and intended. No harm to your hardware is to be expected. However in case you have open files and / or mounted filesystems data loss or corruption might occur. So be advised to unmount as many partitions as possible and open as few files as necessary while doing this. After a reset the fsck utility will check your partitions for data corruption so be strongly advised to let that check run!
Second, the script stresses only one cpu core. In case you have a dual core, open a terminal and type "burnMMX" to run a second thread to stress the second core while doing this.
When you're finished with the script, you will have a text file with the new and optimized frequency : voltage pairs.
5. To use these optimized values, you will need to echo them to /sys/devices/system/cpu/cpu0/cpufreq/phc_controls. An easy way to do it automatically every reboot is to add a line like this:
Code:
echo "12:21 10:1 8:1 6:1" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
to your /etc/rc.local file. Of course you have to replace the values with your own. Any second core should automatically use the same voltages.
6. Check if it works:
Code:
cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
should now give you the new values (after a reboot) compared to before, see above.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Hi,
Thanks for posting this how-to. I am a complete beginner in linux and know absolutely nothing, so its refreshing that someone has posted a tutorial thats easy to understand even for people like me(believe me, Ive been trying to get linux PHC to work for days).
So I have a problem, when I use your command on Step 5, the terminal says "bash: echo: write error: Invalid argument".
I tried using this command, "echo "20:18 20:18 20:18 20:18 12:11" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls" to replace my default(?) voltages, which were "11:47 10:39 8:29 6:18 136:11" on Step 3.
I am running a Lenovo T61 with a Core 2 Duo T7300 (2 GHZ) on Ubuntu 8.04 64-bit.
Thanks alot for your responses, this is a very great and helpful community!
EDIT: I dont know why there are 5 of these settings for mine and you only have 4. I searched around and found a formula for the VID: Vcc = 712.5 + VID*12.5 Is this the right formula for the VID? I wanted to run my laptop at a constant 2 GHZ with .9375 volts.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Well ok, this is probably easy to answer. I cant run the linux-phc optimizer script. I downloaded it to my desktop. double clicking it does nothing, just runs the text editor, and terminal says 'command not found'
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
w4ngsta07:
you need to make a script executable before you can run it.
The easiest way is right-click the file, open the permissions tab, and and down at the bottom check the box that says "allow executing the file....."
That should do it.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
w4ngsta07
So I have a problem, when I use your command on Step 5, the terminal says "bash: echo: write error: Invalid argument".
I tried using this command, "echo "20:18 20:18 20:18 20:18 12:11" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls" to replace my default(?) voltages, which were "11:47 10:39 8:29 6:18 136:11" on Step 3.
You might try:
-> password,
then run your echo command again.
But to be honest, I don't think it is an access problem to that file so it probably won't help. I think it is rather a problem with your value pairs.
I don't know if it is possible to use PHC to keep your cpu constant at 2ghz. I for myself kept the first value for the frequency step and just changed the voltage for it after the :
Try doing the same, you then can still lock your cpu frequency with other methods to 2ghz, i.e. there is a terminal command (wich I can't remember, but I read it in this forum) to change the access permissions of the panel cpu freq applet to let you control your cpu speed manually from there.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Thanks for your hint, I added it to the howto.
Quote:
Originally Posted by
Harpoon
w4ngsta07:
you need to make a script executable before you can run it.
The easiest way is right-click the file, open the permissions tab, and and down at the bottom check the box that says "allow executing the file....."
That should do it.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
When I run phc optimize script, I get
Code:
./linux-phc-optimize.bash: line 3: functions.bash: No such file or directory
ERROR: Could not load functions.bash
Where can I find functions.bash?
Thanks
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
hruskin
[/CODE]
Where can I find functions.bash?
Thanks
Sorry, I just forgot that file. I updated the howto, but without reading through all that again, here is the link You need to make it executable as well.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Would you undervolting guys with multi core systems please have a look at:
http://ubuntuforums.org/showthread.php?p=4960606
and provide some thoughts?
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Is it possible for you to also make a HOW-TO for compiling the linux phc in case our kernels get updated?
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Will undervolting affect the performance of the laptopz/ It seems to me that if it is using less power, it will be less powerful.
Also, I was wondering if my battery might not be fully enabled. I have an extra battery pack and in Vista I was able to get 10 hours, with Ubuntu, I get about 4.5 hours and I am assuming that Vista uses more power than Ubuntu.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
M4rotku
Will undervolting affect the performance of the laptopz/ It seems to me that if it is using less power, it will be less powerful.
Performance will be the same. The power you saved was just wasted before, did nothing good.
Quote:
Originally Posted by
M4rotku
Also, I was wondering if my battery might not be fully enabled. I have an extra battery pack and in Vista I was able to get 10 hours, with Ubuntu, I get about 4.5 hours and I am assuming that Vista uses more power than Ubuntu.
Is the second battery shown, i.e. in the tray icon or in /proc/acpi/battery?
Win might be a little better in powersaving, but still the difference you post is huge!
Quote:
Originally Posted by
w4ngsta07
Is it possible for you to also make a HOW-TO for compiling the linux phc in case our kernels get updated?
It is not that simple to do and I can't really make a generic how-to for that as I don't know if extra workarounds will be needed. Second, for the new kernel there might be the need of a new patch form the PHC guys.
In the link I gave right at the top there is a german how-to for .16.
In case of a kernel change just try your old .17 module again. If that doesn't work give me a PM and I'll look into it and make a new module.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Is the VID read from the script or from the chip? I have a T8300 in my T61, and the script bugged out on me, because even when both cores were fully loaded, the script reached 0 on the highest clock level without a crash.
Also, there are two problems (typos) with the guide. One is when you point to the original acpi-cpufreq.ko, you have two kernel/ directories. The second one is when you talk about loading the second core; the command burnmmx does nothing, but burnMMX works. Other than that, extremely helpful :guitar:
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Can you provide some hard numbers on what the power savings is like before and after on your machine. Something like cleanly booting the machine, logging in, unplugging the AC power, waiting for a few minutes and then running powertop like this (don't touch the machine for 5 minutes after this):
Code:
sudo powertop -d -t 300
Having the average watts used during a 5 minute powertop run on an idle system would be an interesting baseline. I'm interested in trying this out but only if there is a noticeable drop in power usage.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
I was in step 2.b.1 and I recieved the following error when i entered the command.
command:
Code:
sudo cp /lib/modules/`uname -r`/kernel/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko /lib/modules/`uname -r`/kernel/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko.old
Error:
Code:
cp: cannot stat `/lib/modules/2.6.24-16-generic/kernel/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko': No such file or directory
If this file doesn't exist, then can I still undervolt? And how would I go about doing so if able.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
M4rotku
I was in step 2.b.1 and I recieved the following error when i entered the command.
command:
Code:
sudo cp /lib/modules/`uname -r`/kernel/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko /lib/modules/`uname -r`/kernel/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko.old
Error:
Code:
cp: cannot stat `/lib/modules/2.6.24-16-generic/kernel/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko': No such file or directory
If this file doesn't exist, then can I still undervolt? And how would I go about doing so if able.
Seems as if you're not using acpi-cpufreq. Then you can't use this how-to. What did step 1 give you?
Code:
lsmod | grep acpi_cpufreq
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
hi all
my system uses the speedstep.centrino module.. is there a way to force it to use the acpi freq module?
i have a pentium-m 740 (1.73mhz)
thnks
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Thanks for the help with my cpu--it works like a charm and doesn't overheat anymore! Would you know anything about undervolting the graphics card? It gets fairly hot, too.
At any rate, thanks for the incredible help.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
M4rotku
I was in step 2.b.1 and I recieved the following error when i entered the command.
command:
Code:
sudo cp /lib/modules/`uname -r`/kernel/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko /lib/modules/`uname -r`/kernel/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko.old
Error:
Code:
cp: cannot stat `/lib/modules/2.6.24-16-generic/kernel/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko': No such file or directory
If this file doesn't exist, then can I still undervolt? And how would I go about doing so if able.
There is a typo in the command on first post tutorial: kernel/ is there twice, whereas the path has only one folder named kernel above arch/!
BTW Thanks a lot for this really interesting tutorial!
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
aldeby
There is a typo in the command on first post tutorial: kernel/ is there twice, whereas the path has only one folder named kernel above arch/!
BTW Thanks a lot for this really interesting tutorial!
Thanks for pointing out, I corrected the how-to.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
M4rotku
I was in step 2.b.1 and I recieved the following error when i entered the command.
command:
Code:
sudo cp /lib/modules/`uname -r`/kernel/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko /lib/modules/`uname -r`/kernel/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko.old
Error:
Code:
cp: cannot stat `/lib/modules/2.6.24-16-generic/kernel/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko': No such file or directory
If this file doesn't exist, then can I still undervolt? And how would I go about doing so if able.
I am sorry, I just had a typo in the howto. The path to the module is now corrected, so you might try again :)
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
stred
hi all
my system uses the speedstep.centrino module.. is there a way to force it to use the acpi freq module?
i have a pentium-m 740 (1.73mhz)
thnks
You can try to blacklist the speedstep.centrino module and make the acpi_cpufreq the default to load at boot. However it might be that your notebook has a broken acpi implementation, in which case acpi-cpufreq won't work. So you need to try.
Maybe it is possible to rmmod speedstep.centrino and to insmod acpi_cpufreq to try it without permanent changes.
In case that works you need to can automate it.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
Ares Drake
You can try to blacklist the speedstep.centrino module and make the acpi_cpufreq the default to load at boot. However it might be that your notebook has a broken acpi implementation, in which case acpi-cpufreq won't work. So you need to try.
Maybe it is possible to rmmod speedstep.centrino and to insmod acpi_cpufreq to try it without permanent changes.
In case that works you need to can automate it.
you are correct, simple blacklisting and adding acpi-cpufreq to etc/modules worked like a charm.. also the script did very nice job..
voltages before-after:
"41 32 25 18"-> "14 7 3 1"
that's huge difference.. especially in full load i am 10-15 deggres down(difficult to tell cause the fan rans now at different speeds)
thank you very much sir.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
stred
that's huge difference.. especially in full load i am 10-15 deggres down(difficult to tell cause the fan rans now at different speeds)
That's not that difficult to tell, just install sensors-applet and you'll have your CPU temperature displayed on your desktop!
Code:
sudo apt-get install sensors-applet
rightclick on a GNOME panel and select "+ Add to panel"
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
aldeby
That's not that difficult to tell, just install sensors-applet and you'll have your CPU temperature displayed on your desktop!
Code:
sudo apt-get install sensors-applet
rightclick on a GNOME panel and select "+ Add to panel"
thnks for your answer but i have allready done that..
i didnt explain well my thoughts before..
what i meant is that before in full load i had 62 degrees and fan at 60% approximately
now in full load i am in 52 degrees but fan is at 30-35% so it's difficult to estimate the gains in lower heat produced cause of the different fan speeds.
the major difference is in noise.. now even in full load the system is allmost silent..
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
ive got an everex stepnote SA2053T notebook.
ive decided to give this a go, it comes with an intel CPU T2080 dual core thingy.
ran the script, and it didnt hang the computer at all.
so i ended with these settings.
Code:
$ cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
13:2 10:1 8:1 6:1 1:1 1:1 1:1 1:1 2:1 2:1
is this ok? or is somehow the cpu ignoring the new values?
my script said something like this:
Code:
Default VIDs: 40 32 27 21 134 134 134 134 134 134
Current VIDs: 2 1 1 21 134 134 134 134 134 134
which seems to set a higher VID for lower freqs? something doesnt add up...
when test started cpu jumped to a new high of 66C, and fan at full speed. it did start scaling down to 55C till it reached a VID of 0.
then the script exited, and (there seems to be a bug), files it created ended up empty.
i deleted the files, ran the script again, and killed the process (allowed it to generate valid files), then edited the file with the tweaks, and gave the first value a 0 (my working value). then the script ran all tests no problems.
the thing is.....how do i know if its working? cpu fan turns on at 60degrees and shuts down at 49degrees, so its just the same everytime. gonna test battery life, but i dont expect this to work, gonna post after..
EDIT: battery life is the same. dead at 1hr, the battery led on the notebook starts blinking. so i guess the notebook isnt undervolting. or am i missing something out?
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
I have downloaded the precompiled module for kerner 2.26.24-17-generic but it doesnt load...
when i try insmod it sais:
insmod: error inserting 'acpi-cpufreq.ko': -1 Invalid module format
-
1 Attachment(s)
Re: HowTo: Undervolt your notebook CPU for longer battery life
2.6.24-17-generic kernel acpi_cpufreq file (32-bit x86 processor compiled version):
Try this attached acpi_cpufreq file for all those who have the upgraded 2.6.27-generic kernel installed. I'm afraid the one that's originally posted does not work for most people.
Anyways, thanks for the help. I went from an idle 24 watts with 2 hours of battery life to 12.8 watts with 4 hours of battery life! (I used Intel's powertop application fyi)
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
krlhc8
Anyways, thanks for the help. I went from an idle 24 watts with 2 hours of battery life to 12.8 watts with 4 hours of battery life!
Are you sure this is correct? I can't for the life of me find the link (it must have been somewhere on lesswatts.org but, I can never find the useful stuff I've previously found on it (I really think they hide it from me after I've seen it)) but, for example, on my processor, I believe it uses like 13W in the C0 state and like 3.2W in the C3 state. I don't see how it would be possible to cause an average of 11W decrease in power unless all the C states were running at the normal C3 wattage (which seems impossible because that wattage is essentially the equivalent of "the CPU is turned off").
I still want to try this but, I'd love to see some scientific evidence that this is actually really useful for power savings. I'm a power savings fanatic but, I don't like to try potentially dangerous things without understand the risk/benefit.
Edit:
I asked a similar question in http://ubuntuforums.org/showpost.php...0&postcount=14. If someone could do that and provide hard numbers I'd be greatly pleased. ;)
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
krlhc8
I'm afraid the one that's originally posted does not work for most people.
Code:
acpi-cpufreq.ko: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped
It probably mainly works for those people running 64 bit kernels ;-)
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
krlhc8
2.6.27-generic kernel acpi_cpufreq file (another compiled version):
Try this attached acpi_cpufreq file for all those who have the upgraded 2.6.27-generic kernel installed. I'm afraid the one that's originally posted does not work for most people.
Anyways, thanks for the help. I went from an idle 24 watts with 2 hours of battery life to 12.8 watts with 4 hours of battery life!
dont you mean 2.6.24.17?
im trying right now with this file and the newer kernel, but i dont think there will be any difference....
how did you measure power consumption?
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
woops, sorry: 2.6.24-17-generic (twas a long night!). I used Intel's powertop application to find the power consumption. Did the file work for you?
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
pressureman
Code:
acpi-cpufreq.ko: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped
It probably mainly works for those people running 64 bit kernels ;-)
Good point :D
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
krlhc8
woops, sorry: 2.6.24-17-generic (twas a long night!). I used Intel's powertop application to find the power consumption. Did the file work for you?
it did work, but it running the script goes all the way to zero. and leaves me (after tweaking the results a bit to let it finnish) with something like:
2 1 1 1 1 1 1 1 for all freqs. (computer never freezes).
i guess my notebook isnt giving a rat's *** about what undervoltage i give to it.
anyone experiencing this? know of a fix for it? i really long for the above 1hour battery life too :D
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
krlhc8
2.6.24-17-generic kernel acpi_cpufreq file (32-bit x86 processor compiled version):
Try this attached acpi_cpufreq file for all those who have the upgraded 2.6.27-generic kernel installed. I'm afraid the one that's originally posted does not work for most people.
Anyways, thanks for the help. I went from an idle 24 watts with 2 hours of battery life to 12.8 watts with 4 hours of battery life! (I used Intel's powertop application fyi)
thnks for the module, it worked..instant magic
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
This is so awesome!! I fixed up a gutsy 2.6.22-14-generic kernel by following this other guide, and for finding the voltages I used the optimizer script. It gave me the shits, cause after every lock up I got an 'error 16 - inconsistent file system' and I had to run reiserfsck --check to fix it, but I got the results;
Default VIDs: 15 14 13 11 10 7
Current VIDs: 7 5 3 1 1 1
I actually changed it to 7 5 3 1 0 0 initially but then I realized I didn't really know what I was doing. But because the script adds 2 to the lowest VID tested I'm wondering if a VID of -1 is possible? and what about 0? The other guide says 'remember: you can not set lower VIDs than the lowest default VID'. is that true?
I haven't done a full battery unload yet btw, but the remaining time remains stable while remaining percentage goes down.. I guess it needs calibration..
edit; mm, just got a lockup doing nothing special so I now put in 12:7 11:6 10:5 9:4 8:3 6:1 which makes more sense anyway :)
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Hey guys...
Running the script goes all the way to zero, then tries -1 and the PC crashes. It gave me a message "Recovering CPU", and I waited for a couple of minutes, but it did not recover. Is there anything wrong ? Shouldn't it have stopped before 0 ?
Thanks in advance!
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
pambos
Bump
ive got the same problem, but computer never froze.
my take is acpi_freq isnt working as advertised with some hardware configurations. (it isnt undervolting at all).
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Hi,first of all thanks for this how to.In windows I have undervolted my T7300 to 0.937v@2.0GHz,and had that undervolt in my last 7.10 installation.
Now I am running a fresh install of kubuntu 64bit,and when I make the
Quote:
cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
it says file or folder inexistant (translation of portuguese).
Any thoughts?
Undervolt again would be perfect :guitar:
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Very nice howto. I've moved it into Tutorials and Tips. :)
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
I got to the step where you run the script, and it wasn't clear if the script itself started burnMMX or not, so I opened up a new tab and typed "burnMMX". It's not clear to me that it's working or doing anything, it kinda just sits there.
Anyway, then I ran the script and it counted all the way down to zero, but failed to crash my system. It just stopped and said something about "that's not a valid VID to try". I tried to rerun the script but it gave me and error saying
Quote:
Load VIDs from 'phc_tweaked_vids'
> ERROR: Wrong VID count!
I've deleted those and am rerunning the script. Everything else appears to be working, and all the steps up to this point have worked great. Any ideas what's going wrong?
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
skinnie
Hi,first of all thanks for this how to.In windows I have undervolted my T7300 to 0.937v@2.0GHz,and had that undervolt in my last 7.10 installation.
Now I am running a fresh install of kubuntu 64bit,and when I make the
it says file or folder inexistant (translation of portuguese).
Any thoughts?
Undervolt again would be perfect :guitar:
hmmm, first of all, youve got to install the 64bit version of the kernel module, which i dont know if its available :(
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
Arthur Archnix
I got to the step where you run the script, and it wasn't clear if the script itself started burnMMX or not, so I opened up a new tab and typed "burnMMX". It's not clear to me that it's working or doing anything, it kinda just sits there.
One thread of burnMMX is started automatically. You can verify this with "top" in a terminal or the gnome system monitor. In case you have a dualcore just start a second thread of burnMMX as described in the howto.
Quote:
Originally Posted by
Arthur Archnix
Anyway, then I ran the script and it counted all the way down to zero, but failed to crash my system. It just stopped and said something about "that's not a valid VID to try". I tried to rerun the script but it gave me and error saying
I've deleted those and am rerunning the script. Everything else appears to be working, and all the steps up to this point have worked great. Any ideas what's going wrong?
The voltage are calculated with a formula that looks like voltage = a+bx, where a is a base level of voltage witch is increased in x steps with a step size of b.
The script returning zero means x=0, so you don't need to increase the base voltage for your cpu. So everything should be fine, the script will write 1 instead of zero to its result file and you can use that. In my example I get zeros as well.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
Sebastral
The other guide says 'remember: you can not set lower VIDs than the lowest default VID'. is that true?
I know. it would be horrible news, cause if true it explains why some people don't get battery time improvements.. but is it? or how can I find out? I don't seem to have battery improvements doing office work and the cpu running on lowest speed while the VID went from 7 to 1..
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
Ares Drake
The script returning zero means x=0, so you don't need to increase the base voltage for your cpu. So everything should be fine, the script will write 1 instead of zero to its result file and you can use that. In my example I get zeros as well.
I don't think I made myself clear. The script doesn't do anything. It steps down to zero, stops and says run it again, and then fails to run claiming there is not a valid VID count. It's almost like the script has to fail in order to work, but because it can't make my system crash it returns errors. Almost like saying, check for crash=1, error, crash=0, exiting. This is just a guess. In any event, I can't get it to generate anything because I can only run it once.
Should I do a hard power off just before it finishes the very last test of VID=0? Maybe that will work?
Also, it wasn't clear from the comments. Is the acpi module you've supplied for a x86 or x86-64 system? Someone else attached a file, but what was that for? 32 or 64?
Thanks for the answer regarding the burnMMX.
EDIT: Do I need to run the script while on battery power?
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
Arthur Archnix
I don't think I made myself clear. The script doesn't do anything. It steps down to zero, stops and says run it again, and then fails to run claiming there is not a valid VID count. It's almost like the script has to fail in order to work, but because it can't make my system crash it returns errors. Almost like saying, check for crash=1, error, crash=0, exiting. This is just a guess. In any event, I can't get it to generate anything because I can only run it once.
Should I do a hard power off just before it finishes the very last test of VID=0? Maybe that will work?
I'll try to explain again. The cpu voltage is a calculated value. It is calculated
Code:
voltage=base voltage + number of steps (=VID) * stepsize
For Pentium M cpus the base voltage is 700.0 mV and stepsize is 16mV, for Core(2)Duos it is 712.5 mV and stepsize 12.5mV.
The optmize script lowers the number of steps step by step to see if your cpu is stable with a lower step and thus lower voltage. In your case it reaches zero, that means your cpu is stable with just the base voltage. So it doesn't lock up. It reaches zero even for the highest frequency and as the lower frequencies would need even less voltage and you cannot go below base voltage, the script doesn't need to run for the lower frequencies. As 0 for VID may not work you can just use 1. So you are 1 step above base voltage, that would mean for example for a core2duo 712.5mV+1*12.5mV=725mV.
Your values are then for example 12:1 10:1 8:1 6:1. (The values before the colon are for the frequency and from my machine, you have to use yours).
That you can go down to base voltage either means that you are lucky and got a nice cpu or that your acpi is broken and the instruction to lower the voltage gets ignored. Are you positive that the phc-modified acpi-cpufreq is installed correctly? Then maybe your acpi table is broken, I am unfortunately no expert on acpi.
Quote:
Originally Posted by
Arthur Archnix
Also, it wasn't clear from the comments. Is the acpi module you've supplied for a x86 or x86-64 system? Someone else attached a file, but what was that for? 32 or 64?
Both modules are for 32bit.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Ok, I think I understand now. Thanks for the patient replies. I used your settings applied at boot in rc.local (my values were the same, so I could just use those directly), and after a reboot I show the following:
Quote:
arthur@archnix:~$ cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
12:1 10:1 8:1 6:1
So, it appears that the settings have been applied properly, I suppose if it crashes on my I just reboot in single user mode and increase the multiplier. So, if I edit a video and the system crashes, I can change 12:1 10:1 etc... to 12:2 10:2.. and so on.
Thanks again,
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
Ares Drake
I'll try to explain again. The cpu voltage is a calculated value. It is calculated
Code:
voltage=base voltage + number of steps (=VID) * stepsize
For Pentium M cpus the base voltage is 700.0 mV and stepsize is 16mV, for Core(2)Duos it is 712.5 mV and stepsize 12.5mV.
The optmize script lowers the number of steps step by step to see if your cpu is stable with a lower step and thus lower voltage. In your case it reaches zero, that means your cpu is stable with just the base voltage. So it doesn't lock up. It reaches zero even for the highest frequency and as the lower frequencies would need even less voltage and you cannot go below base voltage, the script doesn't need to run for the lower frequencies. As 0 for VID may not work you can just use 1. So you are 1 step above base voltage, that would mean for example for a core2duo 712.5mV+1*12.5mV=725mV.
Your values are then for example 12:1 10:1 8:1 6:1. (The values before the colon are for the frequency and from my machine, you have to use yours).
That you can go down to base voltage either means that you are lucky and got a nice cpu or that your acpi is broken and the instruction to lower the voltage gets ignored. Are you positive that the phc-modified acpi-cpufreq is installed correctly? Then maybe your acpi table is broken, I am unfortunately no expert on acpi.
Both modules are for 32bit.
well, thats where i was heading, ive got the module installed correctly (if i get phc_control file it should be fine, right?), yet, i dont see any difference with all voltages on 1, or the default (Which is something like 40). i guess my acpi is not compatible enough...which is too bad, battery life is next to useless :( . Under windows, it took twice the time to drain it completely.
this is no show stopper for me, but its annoying none the less. and it might definately be a show stopper for others.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Anyone else having trouble resuming from suspend after using this cpufreq module? If I copy the old one back it resumes fine. With this one however, the fan spins up to full and the video never gets restored.
Can someone confirm?
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
hi all,
I installed this patch and got my new values. I edited the rc.local file, and put the new voltage pairs in. But now, after i reboot, the system starts up but my screen goes black right before xserver starts and prompts me for a login.
I think it may be caused by the speedstep-centrino module I see, but I am not sure how to blacklist it. Has anyone else seem this?
How do I blacklist the centrino module?
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Apparently it wasn't the speedstep-centrino module. The optimize script just set my values too low.
I ran into the same issue as Arthur, in that the first time I ran the optimize script, the steps counted all the way down to zero, then lock when the script exited.
I reset the script and executed it until the end. The results:
Before: 12:44 10:36 8:28 6:19
After: 12:46 10:1 8:1 6:1
When I tried to run on these settings, my laptop display would just turn off right before it booted into xserver and the fan would go into overdrive. Eventually, I was able to test certain settings by running the following script (I have a dual core cpu):
Code:
dp@dp-acer:~$ sudo -i
[sudo] password for dp:
root@dp-acer:~# cd /sys/devices/system/cpu/
root@dp-acer:/sys/devices/system/cpu#
root@dp-acer:/sys/devices/system/cpu# for PHC_VID in ./cpu*/cpufreq/phc_vids; do echo "35 25 5 1" > $PHC_VID; done
...and just keep lowering the numbers until my laptop froze.
This seems to be a fairly incomplete solution though, because apparently my numbers can be lower once xserver is running, but need to be higher to start it, otherwise I get the black screen again.
Also, my laptop doesn't seem to be running that much cooler. It ran from 65C-70C before, and now seems to be 63C-68C. So not much difference. Maybe I just need to see if I can get the numbers lower. ******* runs pretty cool and quiet though, and that's aggravating!
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
I have the 2.6.24-18-generic kernel, is there any way to undervolt that using the same meathod? wouldn't I just need to use a different patch? I really need to undervolt due to how much I use this laptop.
Much thanks,
M4rotku
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
M4rotku
I have the 2.6.24-18-generic kernel, is there any way to undervolt that using the same meathod? wouldn't I just need to use a different patch? I really need to undervolt due to how much I use this laptop.
Much thanks,
M4rotku
I managed to get it working by patching the kernel source and recompiling the acpi-cpufreq module. I found this old howto, which got me started.
Here's a quick howto, updated to work on hardy (just copy-paste the commands to a terminal):
1. Open up a terminal and install subversion, the kernel source and build-essential:
Code:
sudo apt-get install subversion linux-source build-essential
2. Get the linux-PHC patch:
Code:
mkdir ~/linux-PHC
cd linux-PHC
svn co http://phcpatches.googlecode.com/svn/trunk/acpi-cpufreq phcpatches/cpufreq
3. Apply the patch to the kernel and build the module:
Code:
sudo bash
cd /usr/src
tar -xjf linux-source-2.6.24.tar.bz2
cd linux-source-2.6.24/
cp ~/linux-PHC/phcpatches/cpufreq/patches/linux-phc-kernel-vanilla-2.6.24-rc1.patch .
patch -p1 < linux-phc-kernel-vanilla-2.6.24-rc1.patch
cp /boot/config-$(uname -r) .config
make oldconfig
make prepare
make scripts
make M=./arch/x86/kernel/cpu/cpufreq
4. Replace your old module:
Code:
cp /lib/modules/$(uname -r)/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko /lib/modules/$(uname -r)/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko.old
cp arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko /lib/modules/$(uname -r)/kernel/arch/x86/kernel/cpu/cpufreq
depmod
Reboot.
I hope I didn't miss anything...
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
jocko
I managed to get it working by patching the kernel source and recompiling the acpi-cpufreq module. I found
this old howto, which got me started.
Here's a quick howto, updated to work on hardy (just copy-paste the commands to a terminal):
1. Open up a terminal and install subversion, the kernel source and build-essential:
Code:
sudo apt-get install subversion linux-source build-essential
2. Get the linux-PHC patch:
Code:
mkdir ~/linux-PHC
cd linux-PHC
svn co http://phcpatches.googlecode.com/svn/trunk/acpi-cpufreq phcpatches/cpufreq
3. Apply the patch to the kernel and build the module:
Code:
sudo bash
cd /usr/src
tar -xjf linux-source-2.6.24
cd linux-source-2.6.24/
cp ~/linux-PHC/phcpatches/cpufreq/patches/linux-phc-kernel-vanilla-2.6.24-rc1.patch .
patch -p1 < linux-phc-kernel-vanilla-2.6.24-rc1.patch
cp /boot/config-$(uname -r) .config
make oldconfig
make prepare
make scripts
make M=./arch/x86/kernel/cpu/cpufreq
4. Replace your old module:
Code:
rmmod acpi-cpufreq
cp /lib/modules/$(uname -r)/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko /lib/modules/$(uname -r)/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko.old
cp arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko /lib/modules/$(uname -r)/kernel/arch/x86/kernel/cpu/cpufreq
depmod
modprobe acpi-cpufreq
I hope I didn't miss anything...
Can I try it in 64bit version of ubuntu or it won't work?
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
skinnie
Can I try it in 64bit version of ubuntu or it won't work?
I did it in 64 bit, so yes, try it. I haven't tried in 32 bit, but I guess it works with the same instructions...
Quote:
Originally Posted by
skinnie
Edit:tried and it worked..only thing is when doing Quote:
rmmod acpi-cpufreq
it says it is in use.
As I knew +- the values for my voltages,I did
sudo nano /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
and edited...
If the module is in use, just skip the "rmmod" and "modprobe" commands in step 4 and reboot instead.
Remember that if you have a dual core cpu, you need to change both cores.
So edit both /sys/devices/system/cpu/cpu0/cpufreq/phc_controls and /sys/devices/system/cpu/cpu1/cpufreq/phc_controls
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
jocko
I did it in 64 bit, so yes, try it. I haven't tried in 32 bit, but I guess it works with the same instructions...
How do I setup the vids manually and make them applied every reboot?
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
skinnie
How do I setup the vids manually and make them applied every reboot?
See step 5 in post #1 in this thread.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
jocko
See step 5 in
post #1 in this thread.
Sorry I didn't notice.
I did
Quote:
sudo bash
echo "11:32 10:16 8:10 6:9 136:11" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
rebooted....
then
Quote:
cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
and obtain the default values
Quote:
11:47 10:38 8:28 6:18 136:11
any clue?
Quote:
Originally Posted by
jocko
I did it in 64 bit, so yes, try it. I haven't tried in 32 bit, but I guess it works with the same instructions...
If the module is in use, just skip the "rmmod" and "modprobe" commands in step 4 and reboot instead.
Remember that if you have a dual core cpu, you need to change both cores.
So edit both /sys/devices/system/cpu/cpu0/cpufreq/phc_controls and /sys/devices/system/cpu/cpu1/cpufreq/phc_controls
That's what I did...I verified that once you change the values in cpu0,it will change to the same in cpu1
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
skinnie
Sorry I didn't notice.
I did
rebooted....
then
and obtain the default values
any clue?
That's what I did...I verified that once you change the values in cpu0,it will change to the same in cpu1
Read step 5 again. It tells you to add the line to your /etc/rc.local file, to have it apply during boot.
And I need to change it for both cpu0 and cpu1, otherwise core 1 will run at the default voltage while core 0 runs at lower voltage.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
jocko
Read step 5 again. It tells you to add the line to your /etc/rc.local file, to have it apply during boot.
And I need to change it for both cpu0 and cpu1, otherwise core 1 will run at the default voltage while core 0 runs at lower voltage.
Thank you very much,I wasn't understanding quite well the thing.
Undervolting sucessful :guitar:
Ubuntu 8.04 64bit kernel 2.6.24-18-generic
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
Sebastral
This is so awesome!! I fixed up a gutsy 2.6.22-14-generic kernel by following
this other guide, and for finding the voltages I used the optimizer script.
Has anyone run the 'msrinfo' utility after making these changes? According to the guide mentioned by Sebastral (which I later verified as true) lowering the voltage below the minimum doesn't have any effect. (msrinfo tool is explained in quoted guide, with a link to dl it.)
Example:
My original settings were 12:44 10:36 8:28 6:19. After tweaking my settings are 34 23 1 1.
However, running msrinfo tells me a different story:
| CPU 0 | CPU 1 |
+-------+-------+-------+-------+
| FID | VID | FID | VID |
--------+-------+-------+-------+-------+
Min | 6 | 19 | 6 | 19 |
Max | 12 | 44 | 12 | 44 |
--------+-------+-------+-------+-------+
Target | 6 | 1 | 6 | 1 |
Current | 6 | 19 | 6 | 19 |
--------+-------+-------+-------+-------+
So basically, even though I am attempting to lower my base voltage, it's not going any lower than the original setting. The 12:44 -> 12:34 setting does limit the upper end though, so during heavy cpu loads it should run a bit cooler than normal.
Has anyone else run this tool to see the results? Since my laptop fan runs on high at my base voltage, I haven't really seen any net inprovement. I am wondering if the people that have seen their core temps go down originally started with a minimum setting higher than their minimum voltage, or if different versions of the patch allow forcing the minimum voltage lower.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Hi...
I' ve got some problem' s
1.I compile my own module (I have 64b core)
tar -xjf linux-source-2.6.24
err... a change the command to tar -xjf linux-source-2.6.24.tar.bz2
all ok
2. script runs to zero, then write some info and notebook freezes
what can I do? NTB Fujitsu Siemens Esprimo mobile D9500, C2D T7300@2GHz, Ubuntu 8.04 LTS 64b
Please help, fan is **** I need undervolting or something to regulate fan (or all together)
:confused:
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Jocko,
When I entered the command
Code:
root@joey-laptop:/usr/src# tar -xjf linux-source-2.6.24
I recieve the following errors:
Code:
tar: linux-source-2.6.24: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error exit delayed from previous errors
and then I "ls" to see what files were there and this is what i got:
Code:
root@joey-laptop:/usr/src# ls
linux-headers-2.6.24-18 linux-source-2.6.24.tar.bz2
linux-headers-2.6.24-18-generic rpm
so the file "linux-source-2.6.24" was not there, there was only a .tar version of such file.
How do I do this with the tar'ed file?
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
krlhc8
How do you get msrinfo?
From the guide I linked to above:
There is a tool named msrinfo that shows up information about current FIDs and VIDs and those you set (they can be different for example if you set a VID below the lowest one).
Download the tool here ( https://www.dedigentoo.org/bdz/linux-phc/ ) and compile it. You may need to copy the msr.h (same source like msrinfo) to "/usr/include/asm/".
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
M4rotku
Jocko,
When I entered the command
Code:
root@joey-laptop:/usr/src# tar -xjf linux-source-2.6.24
I recieve the following errors:
Code:
tar: linux-source-2.6.24: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error exit delayed from previous errors
and then I "ls" to see what files were there and this is what i got:
Code:
root@joey-laptop:/usr/src# ls
linux-headers-2.6.24-18 linux-source-2.6.24.tar.bz2
linux-headers-2.6.24-18-generic rpm
so the file "linux-source-2.6.24" was not there, there was only a .tar version of such file.
How do I do this with the tar'ed file?
Apparently I didn't give you the complete command...
It should be:
Code:
tar -xjf linux-source-2.6.24.tar.bz2
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
M4rotku
Jocko,
When I entered the command
Code:
root@joey-laptop:/usr/src# tar -xjf linux-source-2.6.24
I recieve the following errors:
Code:
tar: linux-source-2.6.24: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error exit delayed from previous errors
...
I wrote it at post 64,
tar -xjf linux-source-2.6.24.tr.bz2
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
Arthur Archnix
Anyone else having trouble resuming from suspend after using this cpufreq module? If I copy the old one back it resumes fine. With this one however, the fan spins up to full and the video never gets restored.
Can someone confirm?
for me doesn' t work hibernation (ntb make only shutdown)
:confused:
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
I'm not sure if this is related to the suspend issue some have noted...
Quote:
While under
volting has a clear measurable effect, it's not clear if under
clocking really works. /proc/cpuinfo reflects the underclocked frequency, but enabling debug output on cpufreq causes it to say things like "CPU frequency out of sync: cpufreq and timing core thinks of 533000, is 800000 kHz." where the former is the chosen underclocked frequency and the latter is the documented minimum frequency. This discrepancy also causes
Software Suspend 2 to oops during suspend.
Quoted from here: http://www.thinkwiki.org/wiki/Pentiu..._underclocking
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Jocko, where do I pick up in the main guide after the steps you gave me?
Much thanks,
M4rotku
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
M4rotku
Jocko, where do I pick up in the main guide after the steps you gave me?
Much thanks,
M4rotku
What I described was instead of step 2, so start at step 3 (skip the reboot if you already done it, of course).
Good luck.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
I ran the ./linux-phc-optimize.bash script and the first time it went though and told me that the lowest acceptable VID is 0.
I ran the script again per guide and recieved the following response:
Quote:
Read phc_default_vids:
> Success!
Load VIDs from 'phc_tweaked_vids'
> ERROR: Wrong VID count!
What does this mean and is it because I'm using a different kernel?
Edit: Also, when I run "cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls", I only get 2 outputs:
9:43 6:19
instead of the usual four that everyone else is talking about. could this be the problem?
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Has anyone checked out the REAL frequency their CPU is running at after these changes using the msrinfo tool mentioned on page 7?
I am really curious if anyone has been able to get their CPU to operate at a voltage lower than their original minimum.
For example, even after I changed my lowest FID to use a VID of 1, it is still running at 19.
-
Re: HowTo: Undervolt your notebook CPU for longer battery life
Quote:
Originally Posted by
sullust
Has anyone checked out the REAL frequency their CPU is running at after these changes using the msrinfo tool mentioned on page 7?
I am really curious if anyone has been able to get their CPU to operate at a voltage lower than their original minimum.
For example, even after I changed my lowest FID to use a VID of 1, it is still running at 19.
I was not able to lower my voltage under the original minimum...
EDIT: My cpu is Core 2 Duo T5470