This is how i solved my problems of excessive battery drain. I don't know if is gonna work for everyone, but I really hope so. Let me know
MODEL: GT-I9100
ROM: CheckROM RevoHD™ V4 XWKK5
KERNEL: SiyahKernel v2.6.11
MODEM: I9100NEKI2*
*I'm using this because, for now, is the best one for my Italian carrier (TRE H3G). Although I9100XWKI1 should be better for battery. Give it a try.
Use one of the following CMW flashable scripts for SiyahKernel v2.6.7+.
SiyahKernel ArmConfig Extreme v2
SiyahKernel ArmConfig Normal v2
SiyahKernel ArmConfig Compatibility v2
SiyahKernel ArmConfig No UV v2
Overclocking & Undervolting may cause system instability. Use these settings with caution and at your own risk . I personally use "ArmConfig Extreme" but my phone is a very lucky one .
1) Use Titanium Backup for freezing "Samsung Push Service". It was causing me a lot of wakelocks (v1.0.1).
2) Calibrate your battery using the following method [all credits to ram3n].
3) Follow this guide to fix the StartingAlertService Wakelock [all credits to rodries]
This should considerably reduce your phone wakelocks, improving battery life.
BTW if you are using CheckROM RevoHD™ V4 or any other XWKK5 ROM, you can just install this CMW flashable update.
4) Disable Fast dormancy by using *#9900# code in phone app. This Tweak must be applied every time you reboot your smartphone.
ArmConfig v1 to v2:
LeoMar75 and GadgetCheck for CheckROM RevoHD™ V4
gokhanmoral for SiyahKernel v2.6.11
ram3n for Battery Calibration
droidphile for his wonderful thread
hausmanis for Disable Logger & Graphic tunings scripts
MY CONFIG
MODEL: GT-I9100
ROM: CheckROM RevoHD™ V4 XWKK5
KERNEL: SiyahKernel v2.6.11
MODEM: I9100NEKI2*
*I'm using this because, for now, is the best one for my Italian carrier (TRE H3G). Although I9100XWKI1 should be better for battery. Give it a try.
TWEAKS
Use one of the following CMW flashable scripts for SiyahKernel v2.6.7+.
- SiyahKernel ArmConfig Extreme v2 = Extreme CPU/GPU undervolt (need a bit of luck)
- SiyahKernel ArmConfig Normal v2 = Optimal CPU/GPU undervolt (suitable for most users)
- SiyahKernel ArmConfig Compatibility v2 = Low CPU/GPU undervolt (safe UV values)
- SiyahKernel ArmConfig No UV v2 = No CPU/GPU undervolt (default voltages & charge currents)
SiyahKernel ArmConfig Extreme v2
Code:
#!/system/bin/sh
sleep 5
# ============================
# 1°) CPU Frequency & Voltages
# ============================
# Set frequency steps according to the number of steps in your kernel.
echo "1600 1400 1200 1000 800 500 200 100" > /sys/devices/system/cpu/cpu0/cpufreq/freq_table
# Sets global scaling min&max frequencies as 100 and 1000 mhz
echo 200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 1200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
# Set voltages for frequency steps. Changes possible at +/-25mV steps
echo "1375 1250 1150 1075 975 875 800 825" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table
# ==================
# 2°) I/O Schedulers
# ==================
echo bfq > /sys/block/mmcblk0/queue/scheduler
# ================================================
# 3°) Scaling Governor & Smooth Scaling Parameters
# ================================================
# Set scaling governor, according to available governors in your kernel
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 100000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo 85 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential
# Smooth scaling parameters to control any governor jumping to higher frequency directly.
echo 2 > /sys/devices/system/cpu/cpu0/cpufreq/smooth_target
echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/smooth_offset
echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/smooth_step
# ====================================
# 4°) GPU Clock, Voltages & Thresholds
# ====================================
# Set GPU clocks (Valid values are: 100 114 133 160 200 267 300 400 )
echo "100 160 267" > /sys/class/misc/gpu_clock_control/gpu_control
# Set GPU Up and Down thresholds
echo "90% 50% 90% 50%" > /sys/class/misc/gpu_clock_control/gpu_control
# Set GPU voltages (Changes possible at +/-50mV ie at 50000 steps)
echo "800000 800000 950000" > /sys/class/misc/gpu_voltage_control/gpu_control
# ===================
# 5°) Bus Frequencies
# ===================
# Set bus frequencies for highest-to-lowest cpu frequencies and enable static bus frequency scaling
echo "0 0 0 1 1 2 2 2" > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static
echo enabled > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static
# ======================================================
# 6°) Hot Plug Thresholds, Sampling Interval & Frequency
# ======================================================
# Set second core kick-in threshold for screen-on state
echo 25 > /sys/module/pm_hotplug/parameters/loadl
echo 70 > /sys/module/pm_hotplug/parameters/loadh
# Set second core kick-in threshold for screen-off state
echo 45 > /sys/module/pm_hotplug/parameters/loadl_scroff
echo 90 > /sys/module/pm_hotplug/parameters/loadh_scroff
# Set frequency below which second core will not be turned on, regardless of thresholds.
echo 500000 > /sys/module/pm_hotplug/parameters/freq_cpu1on
# Set hot plug sampling intervals for screen-on state
echo 200 > /sys/module/pm_hotplug/parameters/rate
echo 400 > /sys/module/pm_hotplug/parameters/rate_cpuon
# Set hot plug sampling intervals for screen-off state
echo 800 > /sys/module/pm_hotplug/parameters/rate_scroff
# ====================================
# 7°) Schedule Multi Core & Idle Modes
# ====================================
# Enable sched_mc
echo 1 > /sys/devices/system/cpu/sched_mc_power_savings
# Enable AFTR
echo 3 > /sys/module/cpuidle/parameters/enable_mask
# ======================================
# 8°) Switch Hotplug/DualCore/SingleCore
# ======================================
# Set Dynamic hotplug mode
echo "on" > /sys/devices/virtual/misc/second_core/hotplug_on
# ================================================================
# 9°) Deepsleep Levels
# cpulevel = 4 (100Mhz - 800Mhz, default), 5 (100Mhz - 500Mhz)
# buslevel = 0 (400MHz, default), 1 (266MHz), 2 (133MHz)
# ================================================================
# Set deep sleep frequency & bus speed:
echo 5 > /sys/devices/system/cpu/cpu0/cpufreq/deepsleep_cpulevel
echo 2 > /sys/devices/system/cpu/cpu0/cpufreq/deepsleep_buslevel
# ==============================
# 10°) Brightness Curve Settings
# ==============================
# Brightness settings (Possible values for min_bl = 0 to 255 | min_gamma = 0 to 24 | max_gamma = 0 to 24)
echo 30 > /sys/class/misc/brightness_curve/min_bl
echo 1 > /sys/class/misc/brightness_curve/min_gamma
echo 24 > /sys/class/misc/brightness_curve/max_gamma
# =================================
# 11°) Touch Sensitivity Parameters
# =================================
# Set touch sensitivity (Possible values are between 40 to 80. Lower value = higher sensitivity)
echo 45 > /sys/devices/virtual/sec/sec_touchscreen/tsp_threshold
# ===================
# 12°) Charge Current
# ===================
# Set AC, Misc & USB charge current (Do not set Ac & Misc more than 1000mA or Usb more than 450)
echo "900 900 450" > /sys/devices/virtual/misc/charge_current/charge_current
# ===================
# 13°) Disable logger
# ===================
if [ ! -d /data/.siyah ];
then
mkdir /data/.siyah;
chmod 777 /data/.siyah;
fi;
touch /data/.siyah/disable-logger;
# ====================
# 14°) Graphic tunings
# ====================
setprop debug.sf.hw 1; # HARDWARE RENDERING (GPU)
setprop video.accelerate.hw 1;
setprop debug.performance.tuning 1;
SiyahKernel ArmConfig Normal v2
Code:
#!/system/bin/sh
sleep 5
# ============================
# 1°) CPU Frequency & Voltages
# ============================
# Set frequency steps according to the number of steps in your kernel.
echo "1600 1400 1200 1000 800 500 200 100" > /sys/devices/system/cpu/cpu0/cpufreq/freq_table
# Sets global scaling min&max frequencies as 100 and 1000 mhz
echo 200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 1200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
# Set voltages for frequency steps. Changes possible at +/-25mV steps
echo "1400 1275 1175 1100 1000 900 875 850" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table
# ==================
# 2°) I/O Schedulers
# ==================
echo bfq > /sys/block/mmcblk0/queue/scheduler
# ================================================
# 3°) Scaling Governor & Smooth Scaling Parameters
# ================================================
# Set scaling governor, according to available governors in your kernel
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 100000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo 85 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential
# Smooth scaling parameters to control any governor jumping to higher frequency directly.
echo 2 > /sys/devices/system/cpu/cpu0/cpufreq/smooth_target
echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/smooth_offset
echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/smooth_step
# ====================================
# 4°) GPU Clock, Voltages & Thresholds
# ====================================
# Set GPU clocks (Valid values are: 100 114 133 160 200 267 300 400 )
echo "100 160 267" > /sys/class/misc/gpu_clock_control/gpu_control
# Set GPU Up and Down thresholds
echo "90% 50% 90% 50%" > /sys/class/misc/gpu_clock_control/gpu_control
# Set GPU voltages (Changes possible at +/-50mV ie at 50000 steps)
echo "850000 850000 950000" > /sys/class/misc/gpu_voltage_control/gpu_control
# ===================
# 5°) Bus Frequencies
# ===================
# Set bus frequencies for highest-to-lowest cpu frequencies and enable static bus frequency scaling
echo "0 0 0 1 1 2 2 2" > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static
echo enabled > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static
# ======================================================
# 6°) Hot Plug Thresholds, Sampling Interval & Frequency
# ======================================================
# Set second core kick-in threshold for screen-on state
echo 25 > /sys/module/pm_hotplug/parameters/loadl
echo 70 > /sys/module/pm_hotplug/parameters/loadh
# Set second core kick-in threshold for screen-off state
echo 45 > /sys/module/pm_hotplug/parameters/loadl_scroff
echo 90 > /sys/module/pm_hotplug/parameters/loadh_scroff
# Set frequency below which second core will not be turned on, regardless of thresholds.
echo 500000 > /sys/module/pm_hotplug/parameters/freq_cpu1on
# Set hot plug sampling intervals for screen-on state
echo 200 > /sys/module/pm_hotplug/parameters/rate
echo 400 > /sys/module/pm_hotplug/parameters/rate_cpuon
# Set hot plug sampling intervals for screen-off state
echo 800 > /sys/module/pm_hotplug/parameters/rate_scroff
# ====================================
# 7°) Schedule Multi Core & Idle Modes
# ====================================
# Enable sched_mc
echo 1 > /sys/devices/system/cpu/sched_mc_power_savings
# Enable AFTR
echo 3 > /sys/module/cpuidle/parameters/enable_mask
# ======================================
# 8°) Switch Hotplug/DualCore/SingleCore
# ======================================
# Set Dynamic hotplug mode
echo "on" > /sys/devices/virtual/misc/second_core/hotplug_on
# ================================================================
# 9°) Deepsleep Levels
# cpulevel = 4 (100Mhz - 800Mhz, default), 5 (100Mhz - 500Mhz)
# buslevel = 0 (400MHz, default), 1 (266MHz), 2 (133MHz)
# ================================================================
# Set deep sleep frequency & bus speed:
echo 5 > /sys/devices/system/cpu/cpu0/cpufreq/deepsleep_cpulevel
echo 2 > /sys/devices/system/cpu/cpu0/cpufreq/deepsleep_buslevel
# ==============================
# 10°) Brightness Curve Settings
# ==============================
# Brightness settings (Possible values for min_bl = 0 to 255 | min_gamma = 0 to 24 | max_gamma = 0 to 24)
echo 30 > /sys/class/misc/brightness_curve/min_bl
echo 1 > /sys/class/misc/brightness_curve/min_gamma
echo 24 > /sys/class/misc/brightness_curve/max_gamma
# =================================
# 11°) Touch Sensitivity Parameters
# =================================
# Set touch sensitivity (Possible values are between 40 to 80. Lower value = higher sensitivity)
echo 45 > /sys/devices/virtual/sec/sec_touchscreen/tsp_threshold
# ===================
# 12°) Charge Current
# ===================
# Set AC, Misc & USB charge current (Do not set Ac & Misc more than 1000mA or Usb more than 450)
echo "900 900 450" > /sys/devices/virtual/misc/charge_current/charge_current
# ===================
# 13°) Disable logger
# ===================
if [ ! -d /data/.siyah ];
then
mkdir /data/.siyah;
chmod 777 /data/.siyah;
fi;
touch /data/.siyah/disable-logger;
# ====================
# 14°) Graphic tunings
# ====================
setprop debug.sf.hw 1; # HARDWARE RENDERING (GPU)
setprop video.accelerate.hw 1;
setprop debug.performance.tuning 1;
SiyahKernel ArmConfig Compatibility v2
Code:
#!/system/bin/sh
sleep 5
# ============================
# 1°) CPU Frequency & Voltages
# ============================
# Set frequency steps according to the number of steps in your kernel.
echo "1600 1400 1200 1000 800 500 200 100" > /sys/devices/system/cpu/cpu0/cpufreq/freq_table
# Sets global scaling min&max frequencies as 100 and 1000 mhz
echo 200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 1200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
# Set voltages for frequency steps. Changes possible at +/-25mV steps
echo "1400 1300 1200 1100 1000 925 900 875" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table
# ==================
# 2°) I/O Schedulers
# ==================
echo bfq > /sys/block/mmcblk0/queue/scheduler
# ================================================
# 3°) Scaling Governor & Smooth Scaling Parameters
# ================================================
# Set scaling governor, according to available governors in your kernel
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 100000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo 85 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential
# Smooth scaling parameters to control any governor jumping to higher frequency directly.
echo 2 > /sys/devices/system/cpu/cpu0/cpufreq/smooth_target
echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/smooth_offset
echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/smooth_step
# ====================================
# 4°) GPU Clock, Voltages & Thresholds
# ====================================
# Set GPU clocks (Valid values are: 100 114 133 160 200 267 300 400 )
echo "100 160 267" > /sys/class/misc/gpu_clock_control/gpu_control
# Set GPU Up and Down thresholds
echo "90% 50% 90% 50%" > /sys/class/misc/gpu_clock_control/gpu_control
# Set GPU voltages (Changes possible at +/-50mV ie at 50000 steps)
echo "850000 850000 950000" > /sys/class/misc/gpu_voltage_control/gpu_control
# ===================
# 5°) Bus Frequencies
# ===================
# Set bus frequencies for highest-to-lowest cpu frequencies and enable static bus frequency scaling
echo "0 0 0 1 1 2 2 2" > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static
echo enabled > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static
# ======================================================
# 6°) Hot Plug Thresholds, Sampling Interval & Frequency
# ======================================================
# Set second core kick-in threshold for screen-on state
echo 25 > /sys/module/pm_hotplug/parameters/loadl
echo 70 > /sys/module/pm_hotplug/parameters/loadh
# Set second core kick-in threshold for screen-off state
echo 45 > /sys/module/pm_hotplug/parameters/loadl_scroff
echo 90 > /sys/module/pm_hotplug/parameters/loadh_scroff
# Set frequency below which second core will not be turned on, regardless of thresholds.
echo 500000 > /sys/module/pm_hotplug/parameters/freq_cpu1on
# Set hot plug sampling intervals for screen-on state
echo 200 > /sys/module/pm_hotplug/parameters/rate
echo 400 > /sys/module/pm_hotplug/parameters/rate_cpuon
# Set hot plug sampling intervals for screen-off state
echo 800 > /sys/module/pm_hotplug/parameters/rate_scroff
# ====================================
# 7°) Schedule Multi Core & Idle Modes
# ====================================
# Enable sched_mc
echo 1 > /sys/devices/system/cpu/sched_mc_power_savings
# Enable AFTR
echo 3 > /sys/module/cpuidle/parameters/enable_mask
# ======================================
# 8°) Switch Hotplug/DualCore/SingleCore
# ======================================
# Set Dynamic hotplug mode
echo "on" > /sys/devices/virtual/misc/second_core/hotplug_on
# ================================================================
# 9°) Deepsleep Levels
# cpulevel = 4 (100Mhz - 800Mhz, default), 5 (100Mhz - 500Mhz)
# buslevel = 0 (400MHz, default), 1 (266MHz), 2 (133MHz)
# ================================================================
# Set deep sleep frequency & bus speed:
echo 5 > /sys/devices/system/cpu/cpu0/cpufreq/deepsleep_cpulevel
echo 2 > /sys/devices/system/cpu/cpu0/cpufreq/deepsleep_buslevel
# ==============================
# 10°) Brightness Curve Settings
# ==============================
# Brightness settings (Possible values for min_bl = 0 to 255 | min_gamma = 0 to 24 | max_gamma = 0 to 24)
echo 30 > /sys/class/misc/brightness_curve/min_bl
echo 1 > /sys/class/misc/brightness_curve/min_gamma
echo 24 > /sys/class/misc/brightness_curve/max_gamma
# =================================
# 11°) Touch Sensitivity Parameters
# =================================
# Set touch sensitivity (Possible values are between 40 to 80. Lower value = higher sensitivity)
echo 45 > /sys/devices/virtual/sec/sec_touchscreen/tsp_threshold
# ===================
# 12°) Charge Current
# ===================
# Set AC, Misc & USB charge current (Do not set Ac & Misc more than 1000mA or Usb more than 450)
echo "900 900 450" > /sys/devices/virtual/misc/charge_current/charge_current
# ===================
# 13°) Disable logger
# ===================
if [ ! -d /data/.siyah ];
then
mkdir /data/.siyah;
chmod 777 /data/.siyah;
fi;
touch /data/.siyah/disable-logger;
# ====================
# 14°) Graphic tunings
# ====================
setprop debug.sf.hw 1; # HARDWARE RENDERING (GPU)
setprop video.accelerate.hw 1;
setprop debug.performance.tuning 1;
SiyahKernel ArmConfig No UV v2
Code:
#!/system/bin/sh
sleep 5
# ============================
# 1°) CPU Frequency & Voltages
# ============================
# Set frequency steps according to the number of steps in your kernel.
echo "1600 1400 1200 1000 800 500 200 100" > /sys/devices/system/cpu/cpu0/cpufreq/freq_table
# Sets global scaling min&max frequencies as 100 and 1000 mhz
echo 200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 1200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
# Set voltages for frequency steps. Changes possible at +/-25mV steps
# echo "1375 1250 1150 1075 975 875 800 825" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table
# ==================
# 2°) I/O Schedulers
# ==================
echo bfq > /sys/block/mmcblk0/queue/scheduler
# ================================================
# 3°) Scaling Governor & Smooth Scaling Parameters
# ================================================
# Set scaling governor, according to available governors in your kernel
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 100000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo 85 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential
# Smooth scaling parameters to control any governor jumping to higher frequency directly.
echo 2 > /sys/devices/system/cpu/cpu0/cpufreq/smooth_target
echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/smooth_offset
echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/smooth_step
# ====================================
# 4°) GPU Clock, Voltages & Thresholds
# ====================================
# Set GPU clocks (Valid values are: 100 114 133 160 200 267 300 400 )
echo "100 160 267" > /sys/class/misc/gpu_clock_control/gpu_control
# Set GPU Up and Down thresholds
echo "90% 50% 90% 50%" > /sys/class/misc/gpu_clock_control/gpu_control
# Set GPU voltages (Changes possible at +/-50mV ie at 50000 steps)
# echo "800000 800000 950000" > /sys/class/misc/gpu_voltage_control/gpu_control
# ===================
# 5°) Bus Frequencies
# ===================
# Set bus frequencies for highest-to-lowest cpu frequencies and enable static bus frequency scaling
echo "0 0 0 1 1 2 2 2" > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static
echo enabled > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static
# ======================================================
# 6°) Hot Plug Thresholds, Sampling Interval & Frequency
# ======================================================
# Set second core kick-in threshold for screen-on state
echo 25 > /sys/module/pm_hotplug/parameters/loadl
echo 70 > /sys/module/pm_hotplug/parameters/loadh
# Set second core kick-in threshold for screen-off state
echo 45 > /sys/module/pm_hotplug/parameters/loadl_scroff
echo 90 > /sys/module/pm_hotplug/parameters/loadh_scroff
# Set frequency below which second core will not be turned on, regardless of thresholds.
echo 500000 > /sys/module/pm_hotplug/parameters/freq_cpu1on
# Set hot plug sampling intervals for screen-on state
echo 200 > /sys/module/pm_hotplug/parameters/rate
echo 400 > /sys/module/pm_hotplug/parameters/rate_cpuon
# Set hot plug sampling intervals for screen-off state
echo 800 > /sys/module/pm_hotplug/parameters/rate_scroff
# ====================================
# 7°) Schedule Multi Core & Idle Modes
# ====================================
# Enable sched_mc
echo 1 > /sys/devices/system/cpu/sched_mc_power_savings
# Enable AFTR
echo 3 > /sys/module/cpuidle/parameters/enable_mask
# ======================================
# 8°) Switch Hotplug/DualCore/SingleCore
# ======================================
# Set Dynamic hotplug mode
echo "on" > /sys/devices/virtual/misc/second_core/hotplug_on
# ================================================================
# 9°) Deepsleep Levels
# cpulevel = 4 (100Mhz - 800Mhz, default), 5 (100Mhz - 500Mhz)
# buslevel = 0 (400MHz, default), 1 (266MHz), 2 (133MHz)
# ================================================================
# Set deep sleep frequency & bus speed:
echo 5 > /sys/devices/system/cpu/cpu0/cpufreq/deepsleep_cpulevel
echo 2 > /sys/devices/system/cpu/cpu0/cpufreq/deepsleep_buslevel
# ==============================
# 10°) Brightness Curve Settings
# ==============================
# Brightness settings (Possible values for min_bl = 0 to 255 | min_gamma = 0 to 24 | max_gamma = 0 to 24)
echo 30 > /sys/class/misc/brightness_curve/min_bl
echo 1 > /sys/class/misc/brightness_curve/min_gamma
echo 24 > /sys/class/misc/brightness_curve/max_gamma
# =================================
# 11°) Touch Sensitivity Parameters
# =================================
# Set touch sensitivity (Possible values are between 40 to 80. Lower value = higher sensitivity)
echo 45 > /sys/devices/virtual/sec/sec_touchscreen/tsp_threshold
# ===================
# 12°) Charge Current
# ===================
# Set AC, Misc & USB charge current (Do not set Ac & Misc more than 1000mA or Usb more than 450)
# echo "900 900 450" > /sys/devices/virtual/misc/charge_current/charge_current
# ===================
# 13°) Disable logger
# ===================
if [ ! -d /data/.siyah ];
then
mkdir /data/.siyah;
chmod 777 /data/.siyah;
fi;
touch /data/.siyah/disable-logger;
# ====================
# 14°) Graphic tunings
# ====================
setprop debug.sf.hw 1; # HARDWARE RENDERING (GPU)
setprop video.accelerate.hw 1;
setprop debug.performance.tuning 1;
WARNING
Overclocking & Undervolting may cause system instability. Use these settings with caution and at your own risk . I personally use "ArmConfig Extreme" but my phone is a very lucky one .
- Don't want to change any voltages? Install ArmConfig_No_UV_v2 through CMW recovery.
- Want stock values? Simply remove S98SiyahArmConfig from system/etc/init.d folder .
TIPS
1) Use Titanium Backup for freezing "Samsung Push Service". It was causing me a lot of wakelocks (v1.0.1).
2) Calibrate your battery using the following method [all credits to ram3n].
- Turn off your phone.
- Fully Charge.
- When getting 100% signal, unplug quickly.
- Pull off the battery and put it anywhere.
- Wait around 5 minutes.
- Meanwhile, take this opportunity to dust off the internal compartment.
- Put back the battery on the right side.
- Turn on the phone.
3) Follow this guide to fix the StartingAlertService Wakelock [all credits to rodries]
This should considerably reduce your phone wakelocks, improving battery life.
BTW if you are using CheckROM RevoHD™ V4 or any other XWKK5 ROM, you can just install this CMW flashable update.
4) Disable Fast dormancy by using *#9900# code in phone app. This Tweak must be applied every time you reboot your smartphone.
CHANGELOG
ArmConfig v1 to v2:
- Commented code
- From bootscript to S98SiyahArmConfig
- Changed deep sleep frequency to 500MHz
- Fixed Dynamic hotplug (thanks evilive27)
- Disabled logger
- Graphic tunings
- Several minor tweaks
CREDITS
LeoMar75 and GadgetCheck for CheckROM RevoHD™ V4
gokhanmoral for SiyahKernel v2.6.11
ram3n for Battery Calibration
droidphile for his wonderful thread
hausmanis for Disable Logger & Graphic tunings scripts
Attachments
Last edited: