How To: PHC undervolting in Feisty
Well, it only took me two weeks and five unanswered posts on the Ubuntu forums, but I finally got it working. Oh happy days. Now I can actually have battery life in Linux! This goes well with my last post on fixing the CPU monitor panel applet.
Why do you want to undervolt? Undervolting allows you to send less juice to your processor while running at the same clock speeds. Less juice means less heat, which means less energy wasted, which means longer battery life. You get a cooler-running laptop and a longer battery life for your time and effort.
Undervolting hacks only work on Pentium M systems. Not sure if you have a Pentium M? Try running ‘cat /proc/cpuinfo’. If you see something like “model name: Intel(R) Pentium(R) M processor ?.??GHz”, then you are able to undervolt.
How much can you undervolt? A lot. The factory setting on my Pentium M 2.00GHz (0.80/1.07/1.33/1.60/2GHz steps) is 800MHz at .988V and 2GHz at 1.308V. Through underclocking, I can run 800MHz at .700V and 2GHz at 1.116V. In other words, I can run at maximum clockspeed at less voltage than it would normally take me to run at 1.33GHz (third step).
Save the following monster of a shell script and run it.
#!/bin/sh
mkdir ~/undervolt
cd ~/undervolt
mkdir backup
cp /lib/modules/2.6.20-8-generic/kernel/arch/i386/kernel/cpu/cpufreq/*,ko ./backup/
apt-get source linux-image-2.6.20-8-generic
wget http://mesh.dl.sourceforge.net/sourceforge/linux-phc/linux-phc-0.2.9.tar.gz
tar zxpvf linux-phc-0.2.9.tar.gz
cd linux-source-2.6.20-2.6.20
cp /boot/config-2.6.20-8-generic .config
patch -p1 < ../linux-phc-0.2.9/kernel-patch/linux-phc-0.2.9-kernel-vanilla-2.6.20.patch
make menuconfig
make oldconfig
make prepare
make scripts
make M=./arch/i386/kernel/cpu/cpufreq
sudo cp ./arch/i386/kernel/cpu/cpufreq/*.ko /lib/modules/2.6.20-8-generic/kernel/arch/i386/kernel/cpu/cpufreq/
When you hit the menuconfig part, you will need to manually do the following. Select “Power management options” and hit space. Scroll to the bottom and pick “CPU Frequency scaling.” Next, scroll halfway down to “Intel Enhanced SpeedStep” and hit space until the < > looks like <M>.
The script should take care of the rest.
After you boot back up, try doing a ‘cat /sys/devices/system/cpu/cpu0/cpufreq/voltage_table’ and make sure everything is running. If you get any messages about CPU frequency scaling being busted, copy the files from ~/undervolt/backup/ to /lib/modules/2.6.20-8-generic/kernel/arch/i386/kernel/cpu/cpufreq/. This will need a sudo command.
If it’s busted, better luck next time, but this is what finally worked for me.
If you get output from the cat command, you can head over to the UndervoltingHowto and read from the Userspace section onwards. This tells you how to set up the scripts to control your CPU frequency settings. The Gentoo wiki also has some suggested values for undervolting your Pentium M.
Good luck!
If you blow up your computer trying to do this, it’s your own fault. I assume no responsibility nor do I claim this will work perfectly for every user. If you want to try this, it’s strongly advised you read the complete UndervoltingHowTo in addition to my guide. In all fairness, only one person ever has actually reported breaking their motherboard when attempting to undervolt. If you screw up, the worst that usually happens is your PC hangs.
Related Posts
- How To undervolt with PHC 0.3.0...
- Patched module for Hardy kernel 2.6.24-17...
- Undervolting a Pentium M 2GHz...
- Fix for CPU Scaling panel applet...
Related posts brought to you by Yet Another Related Posts Plugin.
About this entry
You’re currently reading “How To: PHC undervolting in Feisty,” an entry on CinnamonPirate.com
- Published:
- Monday, February 19th, 2007 at 3:25 am
- Author:
- Derrick Sobodash
- Category:
- Ubuntu
- Previous:
- Fix for CPU Scaling panel applet












No comments
Jump to comment form | comments rss