NOTE: BuglessBeast Experimental Froyo 0.2.1 now does automatic Max frequency scaling using the same method I use here! If you just want it to always scale to the max supported and min speed of 250Mhz using the ondemand governor, there is no need to use this script. If you want to adjust the speed and have those changes persist after a reboot, however, read on...
I wrote a little script to make it easier to adjust the maximum frequency scaling without using SetCPU. USE AT YOUR OWN RISK, THIS IS A WORK IN PROGRESS! That being said, I'm writing it to be as robust as possible, so it shouldn't screw anything up. Let me know if it does, I'll fix it.
You can use this script to easily switch your maximum and minimum speed, as well as governor.
First, copy setspeed.txt to your sd card. I'm assuming you put it in the root and called it "setspeed.txt"
Once you have done this, you can delete the file off the sdcard if you like. On the first run, it will install itself into /system/xbin/setspeed, create links for the setmax, setmin, and setgov commands, and install itself into the startup script install-recovery.shCode:su sh /sdcard/setspeed.txt
How To Use:
To set your max speed, type "setmax 600" or "setmax 800" or whatever speed you want. If you type "setmax" by itself, it will list off your available speeds, including the virtual speed of "max", which will automatically determine the maximum supported speed and set that.
To set your min speed, it's the same as setting the maximum, but with "setmin", and with the virtual speed of "min" in addition to normal speeds.
To set your governor, type "setgov ondemand" or "setgov conservative". Those are probably the only governors you will want to play with. powersave, performance, and userspace really don't make sense to use on the droid.
With any of these three settings, your choice will be applied immediately and saved and re-applied on every reboot.
NOTE: When you are plugged into AC, the Droid will ignore any frequency scaling settings below 500Mhz, so don't be alarmed if it just sits at 500 instead of scaling down to 400,250,125, etc.
NOTE: You can set unsupported speeds as the minimum. The Droid will scale down to whatever step is equal to or greater than that minimum.
NOTE: Tested with BB Froyo 0.1, 0.2, and 0.2.1, and it works with all of them
Fixed a bug where setmin wasn't working at all
Script has been updated to work with BB 0.3 - the busybox binary was moved to /system/bin
Script is now "setspeed", supports governors, and is easier to use.
Added md5sum check so that new versions will auto-install and overwrite when you install them.
Fixed a bug where filenames that end with a non-integer (ie, things with a .txt extension) won't run. Invalid speeds are now replaced with "600".
Script is now self-installing. speed000 will now set the maximum speed at boot time, rather than storing the maximum speed to set at boot time.
Now allows you to optionally specify a minimum frequency as well, by typing it on the command-line after the script. "speed600 250" will set the max to 600, and the minimum to 250. The minimum will also be restored on a reboot.