[Galaxy S II General] Many40:
Battery friendly config Neatrom 4.X + PhilZ-CWM6 ver 1.01

Finally, after testing battery life on a new leaked JB 4.1.2 rom I reached a stage which in my opinion is not worse but even a little bit better than I reached on ICS with custom kernel. Having in mind that PhilZ-CWM6 is only repacked stock kernel which limits a lot tweaking capabilities - it looks very promising.

This setup I think is reasonable for those who like first of all longer battery life with sufficient/acceptable performance for daily use.

If you find something usefull for your setup here, don't hesitate to hit THANKS button.

HERE YOU ARE - MY BATTERY FRIENDLY CONFIG:

DISCLAIMER:

1. Everybody can try it but not necessarily it will work for everybody like it works for me.

2. Remember that our phones' hardware is not 100% identical.

3. Make nandroid backup before trying this

4. If any tweak causes freezes, restore your nandroid backup.

My config is as follows:

- Battery: 2000mAh battery (sammy) / primary, 1650mAh / secondary (results for both batteries attached at the end of this post)

- Rom: NeatromLite 4.0 XXLSJ +- big thanks to Salesale

- Kernel: PhilZ-CWM6 4.X - big thanks to Phil3759

Changelog:

Version 1.01:
- added 2nd ver of Ondemand script for better responsiveness
- added SetCPU profile file for screen of and battery <= 10%
- added legacy hotplug tweaks

1. KERNEL TWEAKS:

- CPU UC : Max. scaling frequency limited to 1000 MHz, tweaked by init.d script (flash attached "Maxfreq-Neatrom-CWM.zip" file from CWM recovery):

/system/bin/sh
su
sleep 30
echo "1000000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

- SetCPU profiles: Additionally made "Screen OFF" and "Battery <=10%" profiles for SetCPU (it limits freq scaling range to 200 - 500 MHz when screen goes off and to 200 - 800 MHz when battery level is equal/lower than 10%)

(copy attached "SetCPU_battery_screenoff_prof.setcpu.zip" file to /sdcard (root of internal memory), unzip it, go to SetCPU app/profiles, press left touch button, use restore option):

If someone likes more aggressive UC edit init.d script and change "1000000" value to "800000" or check "settings/Power savings/CPU power saving". It will limit Max scaling freq to 800 MHz. If this is checked - don't flash Maxfreq init.d script.

Due to the fact that scaling frequencies/governor/scheduler are set by init.d script, in SetCPU enable (check) only following option:

- Profiles/enable profiles; options "set on boot" leave unchecked.

- ondemand governor tweaked by init.d script (flash attached "Ondemand-Neatrom-CWM.zip" file from CWM recovery) - inspired by Droidphille:

/sbin/busybox sh
su
sleep 30
echo "95" > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo "120000" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
echo "1" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo "5" > /sys/devices/system/cpu/cpufreq/ondemand/down_differential
echo "20" > /sys/devices/system/cpu/cpufreq/ondemand/freq_step

If you think your phone is less responsive - increase freq_step parameter to "30" by editing /etc/init.d/Ondemand (remember to set again proper permissions to the saved file: 0755) or flash attached file "Ondemand30-Neatrom-CWM.zip" from CWM recovery.

- Noop I/O scheduler (in my opinion performs better for our flash drives than default cfq) set by init.d script (flash attached "Noop-Neatrom-CWM.zip" file from CWM recovery)

#!/system/bin/sh
sleep 20
echo "noop" > /sys/block/mmcblk0/queue/scheduler

- Legacy Hotplug tweak: tweaks legacy hotplug logic more aggressive to activate 2nd CPU core less often (keeping 1st core on a little higher load) than on default settings. Tweaked by init.d script (flash attached "Hotplug-Neatrom-CWM.zip" file from CWM recovery)

#!/system/bin/sh
echo "70" > /sys/module/pm_hotplug/parameters/loadh
echo "25" > /sys/module/pm_hotplug/parameters/loadl
echo "200" > /sys/module/pm_hotplug/parameters/rate

- VM tweak: virtual memory tweak for battery life (flash attached "BatteryVMtweak-Neatrom-CWM.zip" file from CWM recovery)

/system/bin/sh
su
echo "500" > /proc/sys/vm/dirty_expire_centisecs
echo "1000" > /proc/sys/vm/dirty_writeback_centisecs

2. ROM TWEAKS

- autorotation: OFF

- syncing: OFF

- removed (optionally frozen) some useless apps (according to individual needs - do it carefully, remove only if you know what you are doing).

This is my list of removed apps:

- minimazing partial wakelocks/alarms by proper settings of different apps using BetterBatteryStatts, OS monitor and Gemini App Manager

I disabled autostart of some apps with Gemini App Manager using common sense of that what means - I didn't touch what I was not sure.

- dark coloured wallpapers

- limited number of widgets (auto update OFF or update frq decreased)

- wireless and networks / mobile networks / mobile networks / network mode - WCDMA only. If someone doesn't need very fast data transfer he can change it to GSM only (2G).

- Fast Dormancy - ON (Only if your mobile network supports that). Following this GUIDE you will find out if your network supports FD or not. Shorter way to find out that is to check with BBS app if you have long wakelock "secril_fd-interface". If YES - disable FD in your phone.

- wireless and networks / mobile networks / mobile networks / network operators - chosen specific operator (no "automatic selection")

- power saving - ON (CPU power saving - OFF, screen power saving - ON, background colour - ON (OFF - if you don't like blue stock browser background)

- sounds / system - all options OFF

- display / touch key light duration - ALWAYS OFF

- display / screen timeout: 15sec.

- display / brightness - Manual/Minimum (if too dark as low as possible),

- date and time / Automatic date and time - OFF

- developer options / Windows animation scale - Animation is OFF (it will disable CRT ON/OFF effects)

- developer options / Transition animation scale - Animation is OFF

- motion / motion activation - OFF

Also pls see attached screenshots of my battery statistics from the test.

Remark: I used my phone not so much intesively (mobile data/browsing on xda with XDA Premium app/internet, a little use of WiFi, sms, some phone calls etc):

a) Battery 2000mAh:

- On battery time (100% - 6%): 3d 15h

- Screen on time: 5h 31min

- Voice calls: 32min

b) Battery 1650mAh:

- On battery time (100% - 6%): 2d 10h

- Screen on time: 5h 5min

- Voice calls: 32min

Enjoy

PS If you have any remarks/suggestions how to improve it, please let me know.