EDIT: This app has been suspended, it serves no purpose anymore.
By popular demand, here's an app to set undervolt-values. It works on any ROM which runs on a suitable kernel, but needs init.d-support to be able to keep settings between reboots. (If your device supports it you'll get a button you can use, if not a little message in its place.)
WARNING: By using this app, you're playing with fire. It's in fact very likely you'll lose data if trying to see "how low you can go". Do not experiment without backing up everything first.
It's easy to use, and easy to freeze your phone with, make sure you know what you're doing. (Yes, changes become effective as soon as you apply them.)
It's clever when it comes to the volt_scheduler script as well, it only edits the line which sets the values at startup, meaning you can change the script as much as you like, the app won't touch anything else in it. (It also fixes the script-permissions on Topogigi 1.9, which aren't set correctly on a default install.)
The app will NOT let you change the startup-script until you have applied the settings. This is an attempt to avoid applying bad undervolts at startup. (The theory is that your phone will freeze if you're undervolting too much, and hence you won't be able to save those values to the startup script. If you try hard enough however, you will be able to save unstable settings, with the possible consequence of boot-loops and data-loss. I'm not kidding, be careful!)
NOTE: If you're using a system-monitor (System Tuner for example) and it doesn't show the voltages you applied, you need to force-stop and restart it before it'll show the current values (pun intended.)
NOTE2: Tegra 2 never supplies less than 770mV to the CPUs. The app will let you set undervolt below 770 though, and will in brackets show you what the real undervolt (on Tegra2) actually is. (Until recently I thought this was a hardware limit, but learned it is a kernel-limit. There may be kernels out there which can go lower. If the minimum frequency's default voltage is not the same as the kernel's minimum, the numbers in brackets will be off by the difference between the two.)
HEEELP: "I was very stupid and saved the undervolt-values to the startup script without testing properly first. Now it keeps rebooting. Is there anything I can do?" See Post #2.
HEEELP: "I saved the undervolt-values to the startup script without testing properly first. Now it keeps rebooting. Is there anything I can do?"
Yes. The phone cannot be damaged by undervolting, but your data might. First thing you should do is to stop the reboots by pressing and holding "Power" and "Volume Down" to enter CWM.
You will need to have ADB installed on your computer. (The following instructions are for Windows-users.)
Select "Mounts and Storage" in CWM and select "Mount /system"
o In a shell, type:
If you're using a Topogigi ROM:
adb pull /system/xbin/volt_scheduler c:\
If you're using anything else:
adb pull /system/etc/init.d/S_volt_scheduler c:\
Now edit the file c:\volt_scheduler or c:\S_volt_scheduler in a PROPER editor like Notepad2 or Notepad++. DO NOT use the regular Notepad. You'll see a line with some numbers enclosed in quotation marks. Replace those numbers with zeroes. Save it.
If you're lucky, your phone will boot properly. If it still boot-loops, you've had some sort of corruption and need to wipe. If it still loops you've had corruption on the system partition, a full re-install (or backup-restore) is the last option.
thanks for ure great effort.
can you specify the UV settings that will not damage the phone?
p.s. i really like unlock silly values option :)
edit: can i use -50Mv
I wish it were that easy. Every phone is different. Mine seems to be completely stable at -75 across the board, and at 800Mhz I can run it at the lowest voltage possible, 770mV. Which is why I run everything at -50 ;) (I learned a long time ago that balancing on the edge sooner or later makes you fall off.)
Other people have reported that their max stable undervolt is -25mV. There's no single recipe for everybody.
The correct way to test it is to set both min and max-frequencies to the same (for both awake and sleep-modes), then decrease voltage by one step, then run the toughest apps you can think of for at least 15 minutes each. If nothing weird happens, write down the numbers, decrease one step again, etc. etc. until you have found the breaking point for that particular frequency.
Then, and this is important, you need to make sure the phone is able to wake from sleep with those same values. For this you need to set sleep-mode to the normal frequencies again.
If everything works out with that, rinse and repeat with the next frequency. After you're done, you should have a nice set of numbers - increase them all by 25mV. That's your lowest stable voltage for each frequency.
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?