Related
1. Dont set any of them higher then 1075. I've found that on multiple HD2's that higher then that causes instability because the chip doesnt like to be pushed that hard.
2. I have my primary profile set to 1075 max, 614 min, and getting good results.
3. Set your primary to interactive, and all profiles to interactive EXCEPT your low batter profile.
4. Add these profiles:
Temp >
Charging/Full
Batt < then
Screen off
-Temp > Set the temp around 40 degrees C. Set to interactive. Max around 576, min to 245. Reccommend auduable warning on. Priority to 100%
-Battery <. Reccomend you set to around 30% battery. Powersave mode, max around 576 or so, min at 245. Priority at 90%
-Charging/Full Max to 1075, min to somewhere in the 500 or 600's, or higher if you want. Interactive, and Priority at 80%
-Screen off. Set max to 576, min to between 300-450. DO NOT set min to 245, as this may cause a screen freeze when it tries to wake up. Interactive, and priority to 50%
Thus far, this combination of settings has, on the multiple devices i've been playing with (about 6 total at the moment) is giving the best battery life, and the least amount of screen freezes on wake up.
Thanks for sharing these. AFAIK setCPU is quite important to the stable and productive (sans improved battery life) of Android on our beloved's.
Personally, I've taken to 245/245 for sleep mode. I haven't noticed a "groggy" wakening, but maybe I'm alone here...otherwise I like your settings.
Thanks again for taking the time to post.
android can run perfectly at 650+ mhz max, 245 min
audscott said:
Thanks for sharing these. AFAIK setCPU is quite important to the stable and productive (sans improved battery life) of Android on our beloved's.
Personally, I've taken to 245/245 for sleep mode. I haven't noticed a "groggy" wakening, but maybe I'm alone here...otherwise I like your settings.
Thanks again for taking the time to post.
Click to expand...
Click to collapse
I used to use 245/245 on sleep, but noticed a 4-5 second delay on one of the devices.
Actually, that may have to do with your SD card itself. my phone (running Bangsters 1.3b build) has a rare delay on awake, and a class 4 card.
Another HD2 running darkstone has a consistant delay, 245/245 and its running a class 6.
And still another has no delay, and is set to 245/245 but the stock non-speed rated SD card..
I have constant screen freezes on any build i use. bangsters1.3b has the lowest. it only freezes when i am in a phone call and the screen turns off. It lasts for about 15 seconds to 1m. then recovers. makes for some interesting post ended phone call conversations.
Trying your settings, MadRabbit.
Will give it a try, thanx
Should be better if we post our impressions so far within 24 hours
vysus said:
Will give it a try, thanx
Should be better if we post our impressions so far within 24 hours
Click to expand...
Click to collapse
Yep, that way we can find tune the settings for what works best.
ill give this ago i dont tend to get slow wakeup problems but i do how ever get screen freezes so hope this helps as when i playing a game it can make it really hard to attack people when screen isnt picking up my figures
What exactly is the interactive governor? And why not set the mins to 245 so the processor is scaled down when its not being used?
genesis123 said:
What exactly is the interactive governor? And why not set the mins to 245 so the processor is scaled down when its not being used?
Click to expand...
Click to collapse
Minimums may cause an issue with the phone when it wakes up from sleep, especially if you have a higher class memory card.
I've noticed that my usual drain became slow during last hour, I'll report better news tomorrow, leaving device in stand-by at 69% battery left.
Ok, i didn´t think i was that stupid at this but now i don´t know anymore
I´ve searched both in andoids market and on the XDA app on the phone but i can´t find the app setCPU.
Heeellp!!
Ante78 said:
Ok, i didn´t think i was that stupid at this but now i don´t know anymore
I´ve searched both in andoids market and on the XDA app on the phone but i can´t find the app setCPU.
Heeellp!!
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=505419
From 69% at 12.15 AM, battery dropped to 61%.
That's what I've seen when I press the home key at 6.45, cool :;
thanks man! just tried your setting, and then used current widget to check : 4mA when the phone was in sleep mode. This is the lowest result i've ever have ( i got 7~9 mA before)
ive ran this setting today and battery its definitely draining slower... ill report in a few days of using these settings...
I use it until this morning and I find that very good.
@madrabbitt : I take the permission to put your post on a french forum :
http://htc-touch-hd.forumactif.biz/hd2-and-informations-et-assistance-f50/profils-setcpu-t30775.htm
I hope you're not angry !
Thanks a lot
Thanks! I will try your settings, mine were a little off and gave me 45mA in standby One question though, what sample rate do you use? mine is still default (50000).
I have setCpu 2.03 installed but i can't find the Interactive setting?
Where is it, or do i have the wrong setCpu version?
Grtz
Sent from my HTC HD2 using XDA App
Hello,
This is something I do want to share for people who has problems with the battery drainage. I don't have the intention to know it all, and I am not a developer. I'm just happy XDA user.
Like most of the users here we all like Android on our HD2 but the battery drainage can be annoying. I searched a lot threads for the right settings with SetCPU etc.
One day I was fed up with it and installed a new ROM, new radio, new kernel and a new Android. See my signature which versions (also for download).
All I needed to install again was SetCPU. On the Android market I found a program called CPU Tuner. So I installed it and looked what I could do with it.
There wasn't really much to adjust, but weirdest thing of all is that the battery drainage is really minimal. I send some textmessages, had a few phonecalls... Surfed the net for like 15 minutes. My Wifi and 3G are on all the time.
Please don't ask me how it's possible, but I thought just to share it with you.
Here are the settings of CPU Tuner:
Tab Current
Governor
interactive
Max 998 MHz
Min 245 MHz
Tab Profiles
I have 3 Profiles
1st
AC Power
Interactive
Max 653 MHz
Min 245 MHz
2nd
Battery Power
Interactive
Max 768 MHz
Min 245 MHz
3th
Critical Battery
Interactive
Max 691 MHz
Min 245 MHz
Tab Settings
Got "Enables Profiles" switched on
Got "Start on boot" switched on
Got "Statusbar notifications" switched on
Got "Toast notifications" switched on
So it looks like setCPU a lot but can't change settings that much.
If you got any questions, feel free to ask and I'll try to answer them.
grtz. Sander
I dont have the interactive option on mine... just indemand and others such as powersave.... but no interactive. What should I use?
Also what is your current widget drainage showing?
Is your phone rooted? And which kernel do you have?
If you have a rooted phone and Hastarin 8.1 kernel, you should have the option of interactive with CPU Tuner (also with SetCPU).
Do you have a widget for me to measure my drainage? I will let you know if what it is...
sander2010 said:
Do you have a widget for me to measure my drainage? I will let you know if what it is...
Click to expand...
Click to collapse
Use CurrentWidget on the market.
With my current setup (VBNROM Reloaded 2, NexusHD2-FRG83 v1.6, hastarin 8.1 kernel, 2.15 Radio) I've found the only way to get consistent <10mA idle is with setCPU and Tasker. I understand that setCPU is supposed to be redundant with the newer kernels, but without it, my phone drains in the 20-30 mA range. I only use a screen off profile on setCPU, 245 max. That's it.
I've also found that GPS tends to really drain the battery when the phone isn't using wifi for location. Tasker (available for $$ on the market) is great for this - I set it to only turn on GPS when I open maps or navigation.
Also -- searching for wifi seems to also drain the battery, so either turn it off when you aren't using it, or set wifi to sleep when the screen is off (settings --> wireless & network --> wifi settings --> [menu/start button] Advanced --> wifi sleep policy).
I use Shubcraft 2.0, with the ElBartoMe kernel (no overclocking, or undervolting as far as I'm aware) and NO setcpu at all, my drainage is <8Ma on average in standby and my battery lasts about 20 hours with what I would call moderate usage (about 2 hours a day listening to mp3's, at least an hour on the phone, 3G permanently on and syncing every 30 mins for facebook, gmail etc and about an hour or so gaming as well. Even at the 20 hour mark I've still always got about 15% left anyway, I just leave it to charge while I get my (very little amount of) sleep.
I've downloaded currentwidget and I will keep it running from now on.
I had it set on refresh every minute
operation on value "none
Checked Write to log file
Checked Log running applications.
So tommorrow I will share my log file. Maybe you people can get more info out of the file
I use the new MDJ S2 kernel with the smartass governor.
It has the CPU profiles built into the kernel, so you don't have to use any SetCPU profiles, and it extended my battery life by like 2X, it's pretty amazing, I was on hastarin r8 before.
I recommend you try it out.
I've downloaded currentwidget and I will keep it running from now on.
I had it set on refresh every minute
operation on value "none
Checked Write to log file
Checked Log running applications.
Tommorrow I will show you my logfile.
sander2010 said:
I've downloaded currentwidget and I will keep it running from now on.
I had it set on refresh every minute
operation on value "none
Checked Write to log file
Checked Log running applications.
Tommorrow I will show you my logfile.
Click to expand...
Click to collapse
XDA Server overloaded....lol
orangekid said:
I use the new MDJ S2 kernel with the smartass governor.
It has the CPU profiles built into the kernel, so you don't have to use any SetCPU profiles, and it extended my battery life by like 2X, it's pretty amazing, I was on hastarin r8 before.
I recommend you try it out.
Click to expand...
Click to collapse
So if I'm right, the latest kernels have already the right settings built in?
Like Hastarin 8.1 and the MDJ S2 kernel...
And I was thinking that I found a solution by accident
I have created a log, but I have logged it from minute to minute.
So if you are interrested I will place it.
For now I chanched it to every hours so it will be easier.
I downloaded the cputuner but cannot find the governor "interactive" on the list. Is there another one that would work?
Hey,
thanks a lot sander! Using your guide I got my battery drainage on standby from 50-60 mA to 7mA! Really helps, cheers again!
Using ChuckyROM on WM, NexusHD2 V1.6 Android, and Radio 2.12.50
boardwak said:
Use CurrentWidget on the market....
Click to expand...
Click to collapse
This was a great find.
boardwak said:
I've also found that GPS tends to really drain the battery when the phone isn't using wifi for location. Tasker (available for $$ on the market) is great for this - I set it to only turn on GPS when I open maps or navigation....
Click to expand...
Click to collapse
Good find. Shutting off GPS when it was not in use changed my resting MA draw my a large amount. I think that is strange as GPS was not even being used. (seems that this is different between different radio versions).
boardwak said:
...Also -- searching for wifi seems to also drain the battery, so either turn it off when you aren't using it, or set wifi to sleep when the screen is off (settings --> wireless & network --> wifi settings --> [menu/start button] Advanced --> wifi sleep policy).
Click to expand...
Click to collapse
I use Y5 from the market for shutting off WiFi when I am away from 'known' WiFi points. That really helps with battery drain.
this helped alot now im down to the double digits how do I go down to the single?
What does rooted device mean ? As the application mentioned it in the bracket when i searched it.
Just one simple question. When phone is in deep sleep, the cpu's running speed is the min frequency I choose from the cpu settings or a default lower one?
I use smart ass 2 with min at 768 and max at 1516 . So in deep sleep my phone is running at 768?
Thanks in advance...
Sent from my Huawei u8800 using XDA Premium App
spirosbond said:
Just one simple question. When phone is in deep sleep, the cpu's running speed is the min frequency I choose from the cpu settings or a default lower one?
I use smart ass 2 with min at 768 and max at 1516 . So in deep sleep my phone is running at 768?
Thanks in advance...
Sent from my Huawei u8800 using XDA Premium App
Click to expand...
Click to collapse
Not 100% sure but freq is minimum as it can be. And if cpu is not used no metter is freq 10000MHZ or 300Mhz it uses almost the same power. But when cpu is in use freq is important to power usage. Freq management is good not because it lowers freq but because it lets use lower freq on things that is not require hi freq. so it saves LITTLE LITTLE BIT of power. In idle mode (deep sleep) no meter what freq is.
But i still don't understand the need of governor. It's good only in cases where you overclock cpu but if don't - i don't see why it should be used.
PS Use app called CPU SPY it shows on what freq your cpu is being used and how much of the time.
Thanks! I use CPU SPY and it says tha about 60% or more is in deep sleep, 15%-25% is at 768 and the rest higher, which seems to be a good thing. But my phone still lasts for about 10-15 hours with normal use.
So i thought that maybe my min 768 frequency drain a lot of battery.
To clear things up a bit I use latest oxigen rom+latest franco kernel+zram+Juwe ram script...
Actually deep-sleep state is a special state supported by your phone MCU. In this state, a lot of functionality (therefore a lot of logical gates) are disabled thus MCU consumes very low power compared to normal functioning states. The thing about a CPU/MCU is when it is running even if there are no work to do no code to process, it has to run some command. While idle it must run NOOP (no-operand / no operation) command or do something equally unnecessary like counting a not required number. But in deep sleep mode, MCU actually stops working except for core functions to keep your phone going on.
Think about it this way, in a normal working state, CPUs most basic functionality is to read a command from memory, execute it and proceed to the next command to continue. Thus, in an operating system or a single purpose embedded software, CPU/MCU has to execute a "do nothing" command when you have no job to give it. But even a "do nothing" command need all of the MCU/CPU resources to be kept readily available. If you're sure that you have absolutely no job for your MCU/CPU to do, what you can do is to tell it to go and sleep fr a while until you wake it up again. In sleep, MCU/CPU can shut down a lot of its support systems like math processing, external memory access, graphics related functions (if any), even IO outputs. Depending on your CPU/MCU, this means until an interrupt occurs or a special sub system wakes it up, most of the sub-systems within your MCU/CPU thus may be millions of transistors will not be working so, your CPU/MCU will not consume as much power.
In layman's terms, deep-sleep state is a special state that shut down most of your MCU in your phone, thus while crippling it by removing its ability to function, making sure that it doesn't consumes much power. So OS (Android) (with the help of some additional hardware) controls when your MCU will sleep and under what circumstances it will wake. So it shuts down the engine -so to speak- when you're not using it for long terms and saving fuel rather than leaving your car on idle.
Hope this helps..
Thanks t_d_z. That is also how I imagined things...
But what is wrong with my battery which today, for example, went 33% down in 5 hours with 68% (from cpu spy) in deep sleep, without wi-fi on.
As i said above, I use latest oxigen rom+latest franco kernel+zram+Juwe ram script+smarass2 governor...
I also calibrated my battery by wiping battery stats, like i read in a post.
I have read in an other forum that if you use smartass (I use smartass2) or ondemand (I think...) governors, the governor is learning your habits and after a week you see the difference. Is that true?
Finally, can you guys who have "good" battery life, post your settings? (By settings I mean: rom, kernel, governor with cpu parameters, how you use the phone and everything else you think is important).
Thanks again...
I get about two days of battery life. I use Oxygen without any modifications. CPU is min. 245 (or something like that with 200, I dunno now) and max. is 800. Wifi is always on when I am home.
Try installing Oxygen-r1 and use it with a full battery, do not change anything and do not install too many apps. There will be apps that just won't stop running (like BBC or CNN app), I do not install those. Then you will see how long your battery lasts. If you just write some messages throughout the day and call somebody for 1-3 hours you should get about 2 days.
Then install your apps and test it again - maybe your apps are the problem.
spirosbond said:
Thanks t_d_z. That is also how I imagined things...
But what is wrong with my battery which today, for example, went 33% down in 5 hours with 68% (from cpu spy) in deep sleep, without wi-fi on.
As i said above, I use latest oxigen rom+latest franco kernel+zram+Juwe ram script+smarass2 governor...
I also calibrated my battery by wiping battery stats, like i read in a post.
I have read in an other forum that if you use smartass (I use smartass2) or ondemand (I think...) governors, the governor is learning your habits and after a week you see the difference. Is that true?
Finally, can you guys who have "good" battery life, post your settings? (By settings I mean: rom, kernel, governor with cpu parameters, how you use the phone and everything else you think is important).
Thanks again...
Click to expand...
Click to collapse
Look not at cpu spy but in battery usage to find out what drains your battery. And i can tell All roms are kinda lame in terms of battery, except CM7. In deep sleep it takes about 7% of battery in 10hours. I tried all roms but non of them was so efficient. But latest franco kernel (which i think even more improves cm7 rom) does not support cm7 right now, so i've attached older version if you would like to test cm7+franco kernel.
With normal usage of 50 sms and 30minutes of calls and sometimes wi-fi to download few apps and 20minutes on easy games my battery lats about 18hours. Whan only sms it lasts 30hours. depends how long lcd is on
Well, I'm not an expert on smart phone OSes but I'm an expert on embedded systems and micro controllers. If the designers are not really stupid (which I'm sure they are not) all the peripherals gets suspended when the main CPU goes to deep sleep mode. So, it is almost impossible for the phone to consume much power in deep sleep state. Most likely your phone consumes that power the rest of the time when it is not in sleep mode. I agree with Tommixoft, you should use battery usage info rather than CPU spy to find what drains your battery. Also, here is a quick check list about what consumes power :
1. Screen, especially when it is brightly lit
2. GSM network (Even when you're not talking to phone, GPRS/Edge/3G network communications drains almost as much power)
3. Wireless network
4. GPS
As an additional note, if your phone is not going to sleep mode regularly try to uninstall applications that have "prevent phone from sleeping" security setting.
Hope this helps, and of course there are a lot of more experienced people in the forum that knows about the details of the kernel so they might provide additional info.
Regards,
---------- Post added at 05:15 PM ---------- Previous post was at 05:10 PM ----------
Oh I forgot to tell the MOST important thing, 768MHz is way too high a value to set as minimal frequency. Try to set it 245. I use 122 MHz and it work pretty well. Don't forget, when you need the CPU power, the governor will provide it for you.
1. Abstract
2. Approach
3. Baseline configuration and results
4. References
5. Disclaimer
1. Abstract
Initially I was quite dissapointed with the battery life of the Samsung Galaxy S II i9100 with Android 2.3.4 out of the box. Coming from the Symbian world Nokia E71 I have been used to 6-7 days without recharging, while on SGS2 I got barely 1.5 days of normal usage. I started to optimize, and felt that the hardware is very capable for power saving, but the software is not optimized. After turning off all synchronization, going thru every program settings to switch to manual sync, switching to 2G network (EDGE in my area), turning off WiFi/Data/GPS/Background data I've got a busy day full of meetings at work (didn't touch the phone apart from 2 incoming calls and a few notes) and only 10% decrease of battery for 24h (100%->90%) which is amazing by itself. But I wanted to optimize more.
I have heard that other things like Custom ROM, freezing of system applications, task killers, Under Volting (UV), Under Clocking (UV) would help me too, but I was about to discover which one really helps in real use.
One lazy Sunday like today while being a bit sick allowed me to conclude an experiment of how far did I get in optimizing the power usage for a "baseline configuration" - WiFi/Data/GPS/Background data off, 2G network, all possible sync to manual - and the results are astonishing.
2. Approach
The approach to optimize the battery life is only one - PUT IT TO SLEEP AND DON'T LET IT AWAKE.
Having read a ton of articles on xda-developers.com and other places I have concluded that the strategy for optimizing includes these major steps:
2.1. Get a clean baseline Custom ROM where much of the "bloatware" is removed, so you have less to optimize - optional step but it helps to do it
This probably helps although not necessary. I'm not sure if the stock ROM will allow you to put custom kernels which will be needed in the next steps to optimize further.
But in any case you need to be at least "rooted" to apply some of the advice - either via a rooted kernel like CF-Root [8], or via an exploit like the DooMLoRD'a zergRush exploit [7].
2.2. Optimize the screen-on time
This is up to how frequently you use the phone
What you can optimize is to set a default "conservative" CPU Governor profile from 200MHZ to 1200MHz for regular usage - nothing really special, it's only slower on jumping to high frequencies.
If you have a kernel like RedPill Kernel [9] you can add an additional In-Call profile with "conservative" CPU Governor from 100MHZ to 800MHz - while you talk and phone to the ear it idles at 100MHz, but if you start a let's say Notes taking application, or go to turn on Bluetooth it will be snappy enough. Same holds true for listening to music or listening to books - but it's up to your imagination how to set a 100MHz profile in this case (maybe via Tasker). Have in mind that the 100MHz setting may be unstable on some phones because it's not standard, but mine is absolutely fine with that setting.
For setting the CPU profiles software like Voltage Control [5] (paid version for many profiles) is used.
CPU Governor "conservative" is crucial so you don't instantly jump to the highest frequency as it happens with the default "ondemand" governor (or its clones).
You can choose an I/O Scheduler appropriate for your CPU Governor based on the MagicConfig article in my references [14].
People also say that the following helps and I use it: turn off button LED lights, darker wallpapers, auto-rotation disabled, auto brightness on (I have to see the screen after all).
If you use kernel like RedPill Kernel [9] the button LED lights are undervolted by default, so you can leave them "on for 1.5s" for example.
If you have a Custom ROM like CheckROM Revolution HD V6 [10] with JKay Deluxe Settings you can set a Dark or Darker auto brightness profile - also usable to some extent.
One article in my references [12] also gives the power drain in milliwatts (mW) for each hardware device - go read it and you will understand how much the Amoled Display (Average - 370mW), LED lamp next to camera (1.3W), Camera (700mW), Bluetooth and GPS (110 to 180mW) etc. hardware actually consumes.
2.3. Optimize the screen-off time
2.3.1. Analyze Wakelocks
Wakelocks indicate when some application prevents the phone from going to sleep for some time. It does not necessarily mean that it does something significant at that time, and may be only a bad application design. Some applications really like to hold wakelocks periodically during the day for no reason, even if set to Manual sync etc. Examples of such applications are Facebook, 3G Watchdog... You milleage may vary but you can be sure that this hurts your battery life a lot. Any such application can be frozen with Titanium Backup or uninstalled if it's not a system application. Both count and total duration of the wakelocks are important.
BetterBatteryStats [1] has a screen to debug Partial Wakelocks and Kernel Wakelocks. You can also obtain the raw information via the console command "cat /proc/wakelocks".
2.3.2. Analyze Alarms
Alarms are a way to start jobs in the system at a predefined time. Many applications set alarms to get awaken and check/poll something before sleeping again. You should note that firing an Alarm is not necessarily connected to having a Wakelock - you can see many alarms firing but very few wakelocks. The problem is that too many applications set too many alarms for no reason. These activities also hurt your battery life a lot. Examples of such applications are Google Maps (at least for me)... As long as I have another GPS application with offline maps, I've simply frozen Maps with Titanium Backup. Another example was let's say Social Hub, but as long it was firing once per 24h, I didn't bother to touch it.
BetterBatteryStats [1] has a screen to debug Alarms which requires Root access. You can also obtain the raw information via the console command "dumpsys alarm".
2.3.3. Analyze Network Connections
If you get lost in the Wakelocks and Alarms, you can help yourself by checking what connections are kept alive while Internet is connected. OS Monitor [3] has a Connections screen which is equivalent to "netstat". This is also a good indicator what may be drawing unnecessary battery and respectively freeze/uninstall. In my case I can point that I've discovered that K-9 Mail had a bug with IMAP accounts - if I connect to an IMAP account set to manual/poll sync once, it keeps a connection open forever, until you restart or kill the process, but for POP3 account there is no problem... Being aware of such things really help with the battery life.
2.4. Optimize deep idle and sleep time
This is the most important goal in this article - how to get into deep idle/sleep and stay there, because this is the only real way to save energy on such a powerful device
CPU Spy [2] can show you how much time you spend in deep idle/sleep - with my baseline testing I've managed to get 99% deep idle/sleep which is amazing - only if the manufacturers gave us the phones in this state and we can build on that...! But it's the other way round.
Unfortunately the sleep mode on the stock kernel and the CF-Root kernel is not too deep. Entropy512 in my references [15] describes the following modes of idle/sleep:
IDLE - clock is gated but power remains (does not eliminate any static power consumption)
AFTR - clock is gated, CPU core power removed, cache power remains - this eliminates a great deal of static power consumption - cannot be entered if second core is active
LPA - AFTR + removal of cache power - cannot be entered if second core is active
IDLE is entered if the CPU is expected to be free for 4 msec (40 msec stock)
AFTR is entered if the CPU is expected to be free for 10 msec (disabled stock)
LPA is entered if the CPU is expected to be free for 40 msec (40 msec stock)
This compares to suspend, aka deep sleep, which takes around 150 msec to enter and 650 msec to resume, and the CPU must be at 800 MHz (or at least have enough voltage to support 800 MHz operation) during this time. Entering suspend/resume is very costly in terms of power due to heavy interrupt load.
Unfortunately my knowledge ends here, but flashing a kernel like RedPill [9] with Power Saving features and patches enabled improved the deepness of the idle/sleep very significantly, let's say 2 fold compared to the stock kernel. Sleep is entered faster and with more savings.
2.5. Optimize the modem/baseband
If all the points above are done, you can consider some savings from trying to flash newer modem/baseband compatible with your Custom ROM for better power savings during Calls and Data transmission. I did not get deep into this yet, but it's rather a big Voodoo, because the contents of the various modems are not public and you can only read feedback like "works very good for me" and "totally awful", which is not very scientific. Initially you can try staying with your original modem or the one provided by the Custom ROM, and optimize the previous points.
2.6. Optimize other stuff
2.6.1. Under Volting - will probably help, but for every frequency you need to choose voltages that are not too low to keep the phone stable. You can try the UV profile from the MagicConfig article from my references [14].
2.6.2. Under Clocking - I consider trying to use 100MHz useful for some scenarios, but only as an additional profile. After all the phone is very powerful and snappy to cripple it with 100MHz-1000MHz profile as default.
2.6.3. Automatic Task Killers - absolutely worthless peaces of software [16]. Android OS is good at power saving. It is very power saving conscious actually, of course combined with capable to sleep hardware. The only reason to kill a process is if it locked on holding some resource/connection forever, and OS Monitor [3] can kill it.
2.6.4. Battery charging - charge the battery as frequently as you want, but be sure to not keep it constantly on high charge (90-100%) [18], as long as this is not a good state for storage. Making bigger cycles helps to maintain better battery life. Some sources say cycling from 0% to 100% is not optimal [17], but from my experience through the years this way also works good for battery longevity, and maintaining small loss of capacity. I can give an example of losing up to 10% of battery capacity per year compared to design capacity with this method. You can view such statistics in Power Management tools in Lenovo ThinkPads etc.
Note that the battery indicator has some tweaks around 100% so consider the following:
- When charging for me it hops from 98% straight to 100%. If you disconnect now, it drops to 98% again, and this is what other people complain from too. Just wait some more time and it will charge to real 100% to have more battery life.
- The indicator stays at 100% longer than at any other value. So when testing, always test from the same baseline, e.g. always charge to 100% before comparing results.
3. Baseline configuration and results
CheckROM Revolution HD V6 PDA XWLA4 (Android 2.3.6) + modem XXKI4 (was XWKL1 but changed for no reason) + kernel RedPill 1.3.
WiFi/Data/GPS/Background data/Auto-rotation/Button LED lights - OFF
Any type of Sync or Polling - OFF/MANUAL, using local Contacts and local Calendar
Widgets - AccuWeather.com on MANUAL and Today view from Calendar.
Network: 2G (EDGE in my area)
Background and lock screen: Dark wallpapers
CPU default profile: conservative 200MHz-1200MHz
CPU in-call profile: conservative 100MHz-800Mhz
Because I don't want to wait a full day for the statistics, I'll post now for 8 and 12 hours, and tomorrow add for 24 hours.
(See the attached images, because I'm not sure how to embed them in the text)
4. References
[1] BetterBatteryStats XDA Edition - http://forum.xda-developers.com/showthread.php?t=1179809
[2] CPU Spy - https://market.android.com/details?id=com.bvalosek.cpuspy
[3] OS Monitor - https://market.android.com/details?id=com.eolwral.osmonitor
[4] Titanium Backup (paid version) - http://matrixrewriter.com/android/
[5] Voltage Control - https://market.android.com/details?id=com.darekxan.voltagecontrol
[6] Android Terminal Emulator by Jack Palevich - https://market.android.com/details?id=jackpal.androidterm
[7] DooMLoRD's Easy Rooting Toolkit [v4.0](zergRush Exploit) - http://forum.xda-developers.com/showthread.php?t=1321582
[8] CF-Root Kernel - http://forum.xda-developers.com/showthread.php?t=788108
[9] RedPillKernel_Rev1.3 - http://forum.xda-developers.com/showthread.php?t=1288850
[10] CheckROM Revolution HD V6 - http://forum.xda-developers.com/showthread.php?t=1312240, http://checkrom.com/
[11] Premium Dark Wallpapers - http://forum.xda-developers.com/showthread.php?t=1474798
[12] Kernel Governors, Modules, I/O Schedulers, CPU Tweaks - http://forum.xda-developers.com/showthread.php?t=1369817
[13] Getting the Most out of the Battery on your Android device - http://softbanksucks.blogspot.com/2011/10/getting-most-out-of-your-battery-on.html
[14] MagicConfig for UV and CPU Governor + I/O Scheduler combinations - http://forum.xda-developers.com/showthread.php?t=1466017
[15] Entropy512 explained CPU idle states - http://forum.xda-developers.com/showpost.php?p=23252902&postcount=17
[16] Android Task Killers Explained - http://lifehacker.com/5650894/andro...ed-what-they-do-and-why-you-shouldnt-use-them
[17] Li-Ion Battery Charge Cycles, Voltages and Storage analysis - http://batteryuniversity.com/learn/article/how_to_prolong_lithium_based_batteries
[18] IBM/Lenovo recommendations on Li-Ion battery treatment - http://forum.xda-developers.com/showpost.php?p=23258191&postcount=19
5. Disclaimer
Paid apps are mentioned here for clarity. You can of course find an alternative if such exists. Free (no ads) versions of software were listed where possible.
Needless to say that all advice here must be applied only under your own responsibility.
Results at 25h usage: The battery indicator has dropped down to 94%.
However it's a bit hard to predict how much is it going to last this way as long as after initially staying at the value "100%" the indicator decreases a bit faster.
See attached screenshots.
Thanks for the detailed post but i still don't understand why people insist on having a smart phone and then turning off any good feature in it to get 2 days of work out of it.
Agent_Adodas said:
Thanks for the detailed post but i still don't understand why people insist on having a smart phone and then turning off any good feature in it to get 2 days of work out of it.
Click to expand...
Click to collapse
That depends if you dont want xxxx app running every day why run it and why let it connect on a daily basis . Its a Smartphone not a dumbphone that controls the user .Nothing in the Smartphone design says hey guy you are really uncool if you don't have everything turned on .
I turn on what i want when i want but then again i am not sad enough to live my life on facebook .
jje
there's nothing wrong with killing background tasks that eats your battery, but to me it looks funny to turn off WIFI, 3G, Sync or polling.
anyway, that's what i think, other people may think different and will prefer to save on battery life.
Agent_Adodas said:
there's nothing wrong with killing background tasks that eats your battery
Click to expand...
Click to collapse
:facepalm:
http://lifehacker.com/5650894/andro...ed-what-they-do-and-why-you-shouldnt-use-them
Unless you love using terribly coded apps.
This is a Baseline - my initial starting position. Yeah I don't feel cool for running tons of unneeded stuff Actually after 15 hours of uptime I feel pretty bad and a slave of the charger.
I hope to tell more people in a single post what can be optimized, stripping off any superstition, voodoo and some pointless beliefs circulating in the web
I don't say "do like me", but instead what a great hardware SGS2 + core Android software actually seems to be
Please also note I didn't limit myself to 1000MHz, do not recommend reducing voltages etc... the struggle is to put the software in control, not to cripple the experience.
Additionally, I have WiFi at work, at home, at the gym, and between them I'm driving... for that reason I don't need unlimited data. And for new mails I actually get SMS and know when to fetch the mail. If it's important I can turn on the data as well. On business trips abroad there is no unlimited data anyway too - only WiFi at the office and at the hotel. So there are different scenarios...
Serious Observations Bro!
Must say, very clear,simple and awesome way to put together things...will try this out and post again!
Thanks a ton bro! Love the efforts and for helping us out!
Great tips mate... I knew many of them before but i will not use them so much.. I have a feeling that it criples my phone... Limiting my usage of the phone... Instead i have a custom rom,custom kernel ,an extra standard battery,car charger...
I even tryed once to apply most of your tips but they gave me a couple of hours extra batt life. My problem is network signal coverage-edge is fine(but who can surf on egde ?!? ) ,3g and hspda signal is not so good (i travel a lot by car all over my country) and the phone keeps trying to get better network signal and uses more battery...
So most of your tips work if u want to criple your phone and if ur network has great coverage...
Sent from my GT-I9100 using XDA
Using a slow scaling cpu governor defeats the purpose of battery savings. You want something that will scale up fast and scale down just as fast. That way the task gets completed quicker and the cpu can go back to an idle state faster.
Slower governors take longer to complete a task and that uses more battery.
I rather OnDemand complete something in 2 seconds jumping immediately to 1.2Ghz than Conservative in 4 seconds scaling it's way up each step and then scaling back down slowly.
Sent from my GT-I9100 using Tapatalk
Elisha said:
Using a slow scaling cpu governor defeats the purpose of battery savings. You want something that will scale up fast and scale down just as fast. That way the task gets completed quicker and the cpu can go back to an idle state faster.
Slower governors take longer to complete a task and that uses more battery.
I rather OnDemand complete something in 2 seconds jumping immediately to 1.2Ghz than Conservative in 4 seconds scaling it's way up each step and then scaling back down slowly.
Sent from my GT-I9100 using Tapatalk
Click to expand...
Click to collapse
Not true if I'm typing notes. Ondemand will struggle to take me on high frequency, while I'm browsing the texts... Do you need high frequency when reading forums?
Actually I have no problem to play Asphalt 6 and Angry Birds on 1200MHz with this setup
It takes you more cpu cycles to get Asphalt or Angry Birds fully loaded with Conservative than it would with OnDemand.
And you have to remember we have dual-core cpus. It's to your benefit to get both cores scaled up faster to finish the task.
You don't notice this as much because the difference is probably in the milliseconds. But Conservative is more of a power hog than OnDemand.
Sent from my GT-I9100 using Tapatalk
Wow, thats massive and informative! Too good job Sir! Hats Off!
Elisha said:
It takes you more cpu cycles to get Asphalt or Angry Birds fully loaded with Conservative than it would with OnDemand.
And you have to remember we have dual-core cpus. It's to your benefit to get both cores scaled up faster to finish the task.
You don't notice this as much because the difference is probably in the milliseconds. But Conservative is more of a power hog than OnDemand.
Sent from my GT-I9100 using Tapatalk
Click to expand...
Click to collapse
Agree. All that advice is mostly targeted to battery conscious people, this is not a gaming setup There is no one best configuration for all.
It's also not about what exact values to choose, but what approach to take for battery life improvement.
Can't wait to run a UV kernel once the sources drop. That there helps quite a bit to conserve battery.
Sent from my GT-I9100 using Tapatalk
I know pretty much all of this already but it's a useful guide for noobs for sure.
I don't bother anymore with SetCPU or any of that anymore and to be honest it's had little or no impact on battery life which is still excellent.
gingingingin said:
0: IDLE - CPU not clocked
1: AFTR - something not totally clear to me, but an alternative way to IDLE the CPU - ARM Off Top Running with L2 cache keeping its state
2: IDLE+LPA - IDLE + DEEP IDLE - also some parts of hardware are powered down
3: AFTR+LPA - AFTR + DEEP IDLE
Click to expand...
Click to collapse
These are not deep sleep states. Deep sleep is also known as "suspend" - where almost the entire system is shut down.
These are CPU idle states, which allow the core to save power even when the system is "running". They take significantly less time and energy to enter, but save less power. Also, there are only three of them - IDLE, LPA, AFTR. See arch/arm/mach-s5pv310/cpuidle.c in the kernel source for more details.
As an example, with kernels that have the cpuidle backport from the Tab 7 Plus:
IDLE is entered if the CPU is expected to be free for 4 msec (40 msec stock)
AFTR is entered if the CPU is expected to be free for 10 msec (disabled stock)
LPA is entered if the CPU is expected to be free for 40 msec (40 msec stock)
There are some rules that can cause lower states to be entered even if the cpuidle governor chooses LPA or AFTR. (cpuidle governor has nothing to do with cpufreq governor).
Your descriptions of the states are pretty close to what I understand them to be:
IDLE - clock is gated but power remains (does not eliminate any static power consumption)
AFTR - clock is gated, CPU core power removed, cache power remains - this eliminates a great deal of static power consumption - cannot be entered if second core is active
LPA - AFTR + removal of cache power - cannot be entered if second core is active
The above are why 100 MHz is pointless on our device, and in my experience, actually can increase power usage. The achievable voltage difference between 100 MHz and 200 MHz is insignificant for most peope, and if the voltages for two frequencies are the same, it's better to run at the higher frequency and drop into AFTR/LPA to shut off core power more often. The PDF linked from Ezekeel's post at http://forum.xda-developers.com/showthread.php?p=21785924#post21785924 is a useful read on this topic, especially section 6. While it's fairly old, most of the concepts remain valid. For this reason, 500 MHz also doesn't consume much more power than 200 for a given fixed amount of load due to having the same voltage stock as 200 (however, it does increase some internal clocks I believe, leading to slightly increased power) - so when the screen is on I have it set to 500 MHz minimum.
This compares to suspend, aka deep sleep, which takes around 150 msec to enter and 650 msec to resume, and the CPU must be at 800 MHz (or at least have enough voltage to support 800 MHz operation) during this time. Entering suspend/resume is very costly in terms of power due to heavy interrupt load, which is involved in 90% of complaints about high "Android OS" battery usage on Gingerbread. However I believe from some of the testing I've run that improved cpuidle greatly reduces this penalty.
With the improved cpuidle patch, even when I use the Wake Lock app to hold a permanent wakelock for testing purposes, my standby drain is only 1.5%/hour or so. When not holding a wakelock, 0.5%/hour on wifi is easily achievable. It gets much worse at my desk at work, where the signal is weak and the cell radio eats huge amounts of power - there it's around 1%/hour.
Edit: As to task killers - all of the people saying "task killers are worthless" talk about memory management only. The fact is, unfortunately, that there are some crappy apps out there that use too much CPU or hold insanely long wakelocks that you just have to use occasionally. Facebook is still the #1 example here - Facebook is a major battery hog, therefore when you're done with it, you must kill it with fire. However, NEVER use an autokiller and never use it for memory management!
Regarding battery charging, I wonder have you read this article before : batteryuniversity.com/learn/article/how_to_prolong_lithium_based_batteries (please add http)
The fact seems to be completely opposite from your theory in 2.6.4.
Sent from my GT-I9100 using xda premium
Not sure, the battery article is a bit doubtful. For me at least the testing sequence is strange:
1. Charging current of 1C is a bit high, to say the least. Quick chargers have never been optimal for any type of batteries.
2. Discharge current of 1C is huge and far from being realistic for a mobile phone.
Also if we interpret the results it becomes that at 10% DoD we get 4700 small cycles, which is close to 100% DoD with 500 big cycles... Actually the results are in favor of the 100% DoD.
Of course my interpretation can be wrong, but so far I have got the opposite idea of that.
For practical purposes I can give an example of a Nokia Li-Ion battery thoroughly fully discharged and for 2 years it retained at least 80% capacity. I'd estimate the number of cycles to be 120-150.
On my current laptop the ThinkPad Panasonic battery was always almost completely discharged via settings, attaching screenshots. At 328 cycles and 3.5 years since first use it retains 88% of the design capacity. This is quite a good achievement for a tortured battery I'd say
Note: See the advice/sentence written in the top box by my good old IBM manufacturer (now Lenovo). "... battery deterioration may occur faster if the battery is constantly charged at 100%. Lowering the charge thresholds ... will help increase its lifespan". These guys know their job... I think their sentence almost surely relates to storage though. Storage at 50% is much better than storage at 100% charge. There is room for interpretation again.
Note: This is my second battery on this laptop, the first one Sanyo was a bit worse with the same treatment (maybe older technology) and after 2 years its electronics suddenly failed, while at around 150 cycles.
Entropy512 said:
The above are why 100 MHz is pointless on our device, and in my experience, actually can increase power usage. The achievable voltage difference between 100 MHz and 200 MHz is insignificant for most peope, and if the voltages for two frequencies are the same, it's better to run at the higher frequency and drop into AFTR/LPA to shut off core power more often.
Click to expand...
Click to collapse
First of all, thanks for the detailed explanation of the states.
I remember from the school/uni that the power used is proportional to the frequency. If we have static consumption in the chip it will not be affected by changing the frequency, but the dynamic part of the consumption is essentially doubled when running on 200MHz compared to 100MHz. I don't know the ratio dynamic_consumption:static_consumption for my chip, but it may be around 1:1.
The formulas were something like that: http://forums.anandtech.com/showthread.php?t=119229
Disclaimer; This does not damage your phone at all or fry/mess your cpu.
This method is used to lower CPU stress and increase Battery life
This method works for all rooted phones.
IMPORTANT: The newer versions of SetCPU might prevent your phone from entering deep sleep. Download version 2.24 from the following link which is the one with no problems and completely works 100%.
LINK
Deep Sleep breaks when charger is plugged in, you can see this by CPU SPY application available on playstore
Stop Downloading Battery Saving Applications, they do nothing and uses RAM.:silly:
Also Turn BLN off when you are sleeping.(It also Consumes battery and sometimes prevent deep sleep of CPU)
Set your Brightness to minimum and disable auto brightness.
LINK to Display Brightness
Instead use lite app called - Display Brightness from play store.
Turn off wifi and mobile data when not in use.
Use toggle for auto rotation, and keep off when not needed.
For more battery Saving, disable all animations and set screen timeout to 1min.
The S plus sucks in battery life. We all know that.But here's a fix, Try Under clocking instead of Over clocking.
When screen is on:
MAX 1.4Ghz(Why to OC??, if your phone runs smoothly on 1.4Ghz)
MIN 192Mhz
Ondemand governor (This governor jumps up to max when needed but spends most time on the min freq. Best battery saver.)
When screen is off:
MAX 365 Mhz
MIN 192 MHz
(This prevents lagging when playing music and other activities when screen off)
This way, you have a beast quick phone when you're using it, and the best battery saver when you're not!
NOTE: Turn off Autosync from the settings. It's only used to sync your gmail and contacts and such. You can manually sync when you add a new contact and since I don't use gmail, I refresh manually whenever I do.
SetCPU:LINK
Specific instructions for those that can't get it to work!:
On SetCPU:
Click Add profile
Where it says Profile, select it and tap "Screen Off"
Set the frequencies you want in use while screen is off (If you want just one frecuency, put both sliders on the same number)
Set priority (in case you have other profiles, otherwise don't bother)
Select governor (Won't really matter since cpu is gonna be running at 1 frecuency)
Tap save
Go back to Profiles tab at the top, then tap Enable at the top left to make the profiles work.
For a list of most governors and I/O schedulers detailed;
Visit
1.LINK
2.LINK
To check if its all working, install CPU spy from the playstore: LINK
For Playing GAMES(HD)/HEAVY GAMES, Plug your Charger in and play if possible.:good:
Most Important thing is to calibrate battery,
Calibration of battery is needed when you change your ROM.
This process wipes batterystats.
Battery Calibration
1. Charge 100%(NON STOP)
2. Download any battery Calibration tool from play store; (Link to App)
3. Open that app, click battery calibrate
6. Unplug your charger
7. Discharge your phone down to 0% during the day
8. Charge back up to 100% (NON STOP)
This is to make sure you're using your battery at 100%. Only do this after you flash a new rom.
The worst battery killer is 3G. No matter how much you try to optimize battery by tweaking and underclock, if you have 3G on, you're gonna have a bad battery drain.
Make sure that Autosync is disabled.
Done A small test usage 14 mins , you can see in attachment your CPU should look like this.
THIS READINGS FROM MY SGA.
And never ever install the Facebook App if you want to use your phone for more than 3 hours!
Sent from my GT-I9001 using xda app-developers app
Don't get apps that take background processes like what xellar said, facebook, and some other apps like tap tap revenge 4. Anyways thanks for the tips and link to free setcpu
Other people can also share VALID ideas about saving battery.
Will help many users.
Nice advises. I'm already using these.
One more good thing is turning mobile data off whenever you are not using it, also bluetooth, lowering brightness.
Good app for doing so is Power Toggles. You can always have widget on home screen and switch on/of these things with one tap.
Riiight.. Turn off autosync, disable 3G and wi-fi, dont use apps or games.. I might as well buy Nokia 3310..my phone lasts easily whole day with wifi on..with 3G it can get me at least 6-9h which is fine.. The key is to turn off 3G when you are on wifi and turn down brightness.. Everything else is not using your smartphone smart..
1) Set your network mode to 2G only if you're not using 3G/WCDMA
2) Manually set your operator in settings.
PS: After flashing one of firmwares I got a bug - battery is not charging to 100% while phone is ON. Only to 99% and not showing a message about fully charged battery... But when the phone is in off mode - it charges to 100%. Anyone knows how to fix this thing?
apkfox said:
1) Set your network mode to 2G only if you're not using 3G/WCDMA
2) Manually set your operator in settings.
PS: After flashing one of firmwares I got a bug - battery is not charging to 100% while phone is ON. Only to 99% and not showing a message about fully charged battery... But when the phone is in off mode - it charges to 100%. Anyone knows how to fix this thing?
Click to expand...
Click to collapse
Change/upgrade your firmware...
Battery Calibration
http://forum.xda-developers.com/wiki/Samsung_Galaxy_S_Plus/GT-I9001#Calibrate_Battery
This way works without an app.
TheBlackWolf said:
Change/upgrade your firmware...
Click to expand...
Click to collapse
Didn't help. But deleting batterystats.bin helped. Thanks anyway. :good:
Take a other kernel with better voltage and governor configuration.
Set Display time to 30sec.
Kind regards.
enable "only 2G"
turn off wiifi
turn off bluetooth
black screen wallpaper help?
Sent from my GT-I9001 using Tapatalk 2
If you are on CM7 try this... From CyanogenMod setting.
This will help to save battery.
cheehsiang said:
black screen wallpaper help?
Sent from my GT-I9001 using Tapatalk 2
Click to expand...
Click to collapse
On Amoled-Displays it should help. Inverted Apps, too.
setCPU
i testet the new version of setCPU 3.0.9, deep sleep works perfectly.
If profiles are not used it exits and there is no use of RAM in both versions (But then you do not have the unique feature of auto switching profiles ).
Is there another app with auto-switching?
buffo1987 said:
On Amoled-Displays it should help. Inverted Apps, too.
setCPU
i testet the new version of setCPU 3.0.9, deep sleep works perfectly.
If profiles are not used it exits and there is no use of RAM in both versions (But then you do not have the unique feature of auto switching profiles ).
Is there another app with auto-switching?
Click to expand...
Click to collapse
Actually no idea.
But other simple and best app for controlling CPU is NoFrills.
TheBlackWolf said:
Actually no idea.
But other simple and best app for controlling CPU is NoFrills.
Click to expand...
Click to collapse
But it has no profile-autoswitching, in fact no profiles at all. Voltage control Extreme has at least profiles, but without autoswitching. What is good about Voltage Control Lite/Extreme is that it sets cpu setting with init.d and so the app does not have to start on boot
Yes that is nice...
fo more info how to use
visit here
Link to App
TheBlackWolf said:
[
Stop Downloading Battery Saving Applications, they do nothing and uses RAM.:silly:
<snip>
When screen is on:
MAX 1.4Ghz(Why to OC??, if your phone runs smoothly on 1.4Ghz)
MIN 192Mhz
Ondemand governor (This governor jumps up to max when needed but spends most time on the min freq. Best battery saver.)
When screen is off:
MAX 365 Mhz
MIN 192 MHz
(This prevents lagging when playing music and other activities when screen off)
This way, you have a beast quick phone when you're using it, and the best battery saver when you're not!
<snip>
Click to expand...
Click to collapse
Many thanks for the battery saving hints. I'll finally kick out the Task Killer App, doesn't really seem to do anything except creating problems ..
For the statement that Underclocking would help in saving battery I wouldn't fully agree. A slow cpu needs more time to complete a task before returning to a sleep state. Of course the battery drain is higher with a higher frequency (which also require higher voltages), but I believe, that there isn't much to gain on this front. As long as I don't see any profound evidence I'd even suspect, that an underlocked CPU overall could even cause more power consumption. You can also read more opinions about this in general in this thread.
Much more beneficial would be to identify those apps that cause frequent wakelocks. Does anybody have hints here, how to track down those 'bastards' ? (From my Linux I know 'powertop', does something similar exist for Android? (Or are the battery statistics in CM10 sufficient to decide which app to wipe?)
z3non said:
Many thanks for the battery saving hints. I'll finally kick out the Task Killer App, doesn't really seem to do anything except creating problems ..
For the statement that Underclocking would help in saving battery I wouldn't fully agree. A slow cpu needs more time to complete a task before returning to a sleep state. Of course the battery drain is higher with a higher frequency (which also require higher voltages), but I believe, that there isn't much to gain on this front. As long as I don't see any profound evidence I'd even suspect, that an underlocked CPU overall could even cause more power consumption. You can also read more opinions about this in general in this thread.
Much more beneficial would be to identify those apps that cause frequent wakelocks. Does anybody have hints here, how to track down those 'bastards' ? (From my Linux I know 'powertop', does something similar exist for Android? (Or are the battery statistics in CM10 sufficient to decide which app to wipe?)
Click to expand...
Click to collapse
Better battery stats is application useful for identifying partial wakelocks.
Its an paid app, but Google helps... Lol
Your above sentence about UC comes true for heavy usage.
Normal apps can run smoothly and at same speed as of OC.