Undervolting your CPU for longer battery life
WARN: This is not work in Ubuntu Intrepid, check for updated guide.
Using this CPU Undervolting Guide, I have found lowest voltage for my CPU (Core2Duo P8400 2.26Ghz).
Using lowest voltage make your CPU eating less power from battery.
You need to compile acpi_cpufreq module with PHC patch enabled to control voltage steps.
Then you stress your system and search lowest voltage with stability CPU work.
If you have the same CPU, put this lines in your /etc/rc.local file:
echo "9:30 72:25 6:17 134:17" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls echo "9:30 72:25 6:17 134:17" > /sys/devices/system/cpu/cpu1/cpufreq/phc_controls
Guide will help you to compile new module, but if you want to search voltages yourself, there is bugs related to this CPU, the script provided there propably not work. And if you need more instructions how to do it, just comment and i will write another post about it.
hello there. Im so happy to have found your site. i just recieved my fw-290 and was thinking about installing ubuntu or linux-mint on my system. i have also undervolted my P8400. what voltage were you able to reach? I got down to .9000 orthos stable. I think it could go lower but even with UnlockVid in the registry I could not make the cpu change to a lower voltage past .9000v.
Niseiwerkz
October 22, 2008 at 02:13
my cpu is locked at 17 stepping and if I recalculate 17 to Volts, it should be about 0.972V on 800Mhz, if I do it right =)
egaistek
October 22, 2008 at 02:53
I tried doing this, but when I rebooted it said after login that “CPU scaling is unsupported”. Then when I run
$ cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
I get
cat: /sys/devices/system/cpu/cpu0/cpufreq/phc_controls: No such file or directory
what did I do wrong?
homeriq5
December 20, 2008 at 09:24
Wait for new guide, guys.
egaistek
December 21, 2008 at 16:05
[...] If you see voltage numbers then you can start optimizing voltages for your cpu or take mine as reference from the previous post about undervolting. [...]
Undervolt for Intrepid « Ubuntu On Sony Vaio FW Series
December 27, 2008 at 04:25
OK, I am having troubles getting the settings to stick after a reboot. I have tried adding the lines to the rc.local and then tried adding them to the sysctrl.conf and when I reboot, my settings are back to the default. Is this just an issue with Intrepid or am I making a stupid mistake? Here are the lines that I am using…
echo “9:21 72:20 6:17 134:17″ > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
echo “9:21 72:20 6:17 134:17″ > /sys/devices/system/cpu/cpu1/cpufreq/phc_controls
Tamagotono
January 3, 2009 at 09:11
Is phc_controls and phc_default_controls having the same values after reboot?
There is no need to add something in sysctrl.conf if you already have lines in rc.local, try to use rc.local only or sysctrl.conf only.
egaistek
January 4, 2009 at 01:55
Both phc_controls and phc_default_controls are the same after a reboot. I currently only have the lines in rc.local but have tried it in sysctrl.conf and in both at the same time. None of these combinations cause the settings to change from the defaults. I know that I have to echo these settings as root (not sudo) for them to work from the CLI. Is it possible that it is a permission issue? If so, how would I go about setting the permissions to allow them to be changed?
Thank you for your help and all of the great work you do on your site.
Tamagotono
January 4, 2009 at 02:28
Permissions are ok I guess. rc.local is executed with root rights. Do you have “exit 0″ line in rc.local?
Can you do “sudo su” then echo new values to phc_controls and check if it saved ok.
Too low values can be the issue too.
egaistek
January 4, 2009 at 03:07
The last line of rc.local is “exit 0″. If I do sudo su then, running as root, echo the values it does accept the changes. Under a full load I can even see the heat levels drop by up to 10 degrees after I lower the voltage settings. I have also tried to change the line to be only 1 different than the default and that too does not work. That would imply that the low values are not the issue. Any other suggestions?
Tamagotono
January 4, 2009 at 03:35
Can you try to add this line into rc.local:
Change username to yours. Then reboot and check if test.txt created and have phc_* files in list.
egaistek
January 4, 2009 at 03:54
And that’s strange if sysctrl.conf can’t update values too.
And when you reboot and see Ubuntu logo with gauge after Grub menu, press Ctrl+Alt+F1 and watch the screen while services starting, if you see a red “[fail]” there, this could be a problem, preventing execution of rc.local.
egaistek
January 4, 2009 at 03:56
Wuh, before all that.
When you boot to login screen, press Ctrl+Alt+F8, there is the last line should have something about rc.local.
To get back to GUI press Ctrl+Alt+F7
egaistek
January 4, 2009 at 04:10
Well 10,000 reboots and an equil number of edits to my /etc/rc.local file has ended in a success. I did what you suggested and the file was not created so I went wild and had the file echo to a log file after each step. Looking at the file showed me where the problems were. The first problem was that I had used powertop and had it disable HAL polling of my CD drive. Since it is set this way by default it errored because it was already disabled and the script (rc.local) stopped. Since this was before the commands I was using to change the phc_default_controls file, they were never executed. It is all cleaned up and works like a charm.
Thank you for all of your help.
Tamagotono
January 4, 2009 at 09:20
I have the same processor as you but still I’m really interested in searching for the voltages myself. Could you tell me how you did it?
xiaoxin
January 24, 2009 at 18:14
Check out CPU Undervolting Guide link in the post.
egaistek
January 25, 2009 at 02:54
I tried that but got strange results, as you mentioned “the script provided there propably not work” therefore I asked.
xiaoxin
January 25, 2009 at 03:27
Yea, it semi work.
What I did is select needed frequency. Then I’ve used PHCTool and changed vid for this frequency on both cores, then run burnMMX in two termials to load both cores. And wait for some hours, if system does not freeze then current vid is ok. The lowest vid on 800Mhz and 1.6Ghz is locked to 17, you can’t set it lower.
egaistek
January 25, 2009 at 03:39
I applied the exact same values for my p8400 but the bottom/front underneath the mouse buttons (thinkpad x200) gets still super hot. There is significant change of the fanspeed though, therefore I stopped the tpfand since it is not necessary anymore. I wonder why windows runs still lot cooler than undervolted linux. Maybe its the wlan card that causes the heat? Or the GPU?
tim
August 7, 2009 at 19:55
Maybe you could change the page title Undervolting your CPU for longer battery life Ubuntu On Sony Vaio FW Series to more generic for your subject you write. I loved the blog post withal.
Schedule
October 30, 2010 at 10:19