[Tweak][V2.4] Extend your Battery Life - init.d, build.prop and everything - Samsung Epic 4G Touch

(To any visitors to this thread,
Please Rate this thread based on your reading and tweaks that I provided. If the rate is too low, that means I'm doing a bad job in here! If the rate goes down below 4 stars, I'll stop providing these tweaks! So, please excuse me. Please don't rate this thread with the only reason that I do not provide the tweaks for your rom, which you are using! I'm using my own time for this just like lots of other users. Only the thing that makes me more happy and get focused on this would be your rates and 'thanks' on this thread)
** All the information in here is for informational purpose only. I'm getting lots of new requests and great feedbacks but I can't handle everything. Please don't ask me to do anything. If anything is causing a boot loop or force closing in here, I'll drop those contents. But be sure that any other rom users beside of rooted Stock ICS, don't try this and don't ask me to do anything.
Please don't post your battery life in here if it's not from the Stock ICS. This is not a place to show-up or for any competition. This is a place to show-up the battery life before and after the tweaks.
Currently supporting ROMS - Any sfhub's rom, any Calk's Rom, any Agat's rom, VeNuM_ICE_Rom_RL5.0, MIJJz BLEND ICS, AnaKonda Rom ICS, etc....
Now flashable zip files are available at http://forum.xda-developers.com/showthread.php?p=26201865#post26201865
*Note* Please read the second post also for quick install guide, Q/A, progress report, issues and change logs.
Maybe some of you already know that I was working on the tweaks to extend the battery life. In here, all the information is based on my experimental test and its result. Personally I spent lots of time for this stuff and to get the longest battery life. So, if you believe this information is not helpful, please don't blame me and don't even think about trying these tweaks.
But if you want to give it a shot, I would be more than happy to help you to get the better result.
Rule of thumb: Do it with your own risk and don't ask me to buy you a beer because you're doing it. But, if you like this info and/or you see any longer battery life of your phone, please don't hesitate saying 'thank you' and/or consider to buy me a beer.
I'm ok with not leaving any comments and just taking this tweak and recommendation but don't use this info in any other places with 'copy and paste' style.
OK. Now let's get started.
1. Who needs this tweak?
2. What do you need?
3. How to run init.d scripts?
4. what's in init.d scripts?
5. build.prop tweaks
6. Additional tweaks on your phone
7. Startups
8. Closing comments
1. Who needs this tweak?
If you are a heavy user or gamer, this place wouldn't be a right place for you. In here, I'm only focusing on extending battery life and keep it longer without recharging it under our daily usage.
Because it's really hard to save the battery during the screen on (awake status), I'm only focused on the battery savings during the screen is off or sleep (lazy) status. I've seen lots of battery drains during the stand-by mode and I tested lots of things to save the battery during this time frame.
Actually this was my first project working on this phone because I was never able to use my phone more than one day without recharging it before I started this project. In my location, almost everything is not good - so weak radio signal, 3G/4G is not enough to get the fast data speed.
Somehow, wifi is the biggest consumer of battery drain.
Guess what? I had to find out some way to extend my battery life.
I believe the information in here would be very helpful for the person who
keeps phone offline most of time
lives in bad signal area
reasonably think battery life is more important than performance (the performance with this tweak is still good but not best)
do not believe in battery saver apps
wants to experience the best battery life!
2. What do you need?
Most importantly your phone
init.d support (startup scripts during the boot)
Smanager if your kernel does not support init.d or install-recovery.sh
file editor like root explorer
root access, busybox (rooted phone)
init.d scripts and build.prop files (download)
3. How to run init.d script?
I've already posted one thread in here - http://forum.xda-developers.com/showthread.php?t=1610741 (thanks for the people who already left great feedbacks)
From there, you will find out how you can get the init.d script support during the boot and how to test whether it's working or not. If you don't have the Kernel that is not supporting init.d script or install-recovery.sh during the boot, you can also use the SManager tool to run the scripts in here during the boot.
4. what's in init.d scripts?
4.1 cpufreq_governor
21cpufreq_governor script sets the governor that contorls the CPU's thresholds and sampling_rates. I choosed ondemand governor and some values are changed from Calk's original script (big thanks to Calkulin and he provided some init.d scripts on his FD02 tweaked rom).
4.2 cpufreq_screenstate_scaling
31cpufreq_screenstate_scaling script defines the governor values and decides the actions based on the phone's state - conservative, ondeman, lazy, awake, sleep modes. I've changed lots of values from Calk's original script to save more battery power thru this script. As indicated in Calk's original thread for FD02, this script would not run if you have already installed some CPU control apps something like OC Widget, Quick Clock, SETCPU, and Android OC.
For both cpufreq_governor and cpufreq_screenstate_scaling scripts, I had to stay with maximum 1GHz CPU speed and it couldn't go down below 1GHZ because if it goes not below 1GHz, some of the apps could be force closed, frozen, or even you can see the random reboot. Especially, stock camera app and some other camera apps had issues running under 1GHz CPU speed (facebook camera, FX Camera Zoom). If you don't care about the camera apps and want to save more battery, then we can set up maximum CPU speed to 800 MHz and I had no issues with that except the camera apps. With 800 MHz setting, I saw more battery saving and battery life, but I'm not posting that script in here.
4.3 tweaks_kobridge
41tweaks_kobridge script has almost everything in it to improve the network speed, sdcard tweaks, other battery saving tweaks, VM management, Kernel, wifi tweaks, etc. For some of the values in here, there are some overlaps with build.prop tweaks. So, if you do not apply the tweaks to the build.prop file, many tweaks would still work.
4.4 zipalign
zipalign is an archive alignment tool introduced first time with 1.6 Android SDK (software development kit). It optimizes the way an Android application package (APK) is packaged. Doing so enables the Android operating system to interact with the application more efficiently, and hence has the potential to make the application and overall the whole system much faster. Execution time is minimized for zipaligned applications, resulting is lesser amount of RAM consumption when running the APK.
If less number of applications with an unaligned home application, you’d see slower application launch times. This is the best case scenario. For a worst case scenario, having a number of unaligned applications will result in the system repeatedly starting and killing processes, struggling with lags and huge battery drain.
4.5 Wifi Sleep Wait timer
In my original version of this tweak, it was required to manually insert the table row to use this tweak. But it's fixed and now you can use this tweak without manually handling the database.
What this tweak does is, it controls the time until wifi sleeps after the screen turned off. By default, it's 15 minutes. So, even you turned off the screen, by default, phone will wait for 15 minutes and then turn off the wifi. By using this tweak, you will have the control over wifi idle time until wifi sleeps.
5. build.prop tweaks
build.prop file is created while you flash the rom and /system folder will be totally replaced by your new rom. So, don't expect your tweak would be there forever even after you flashed a new rom (Every Rom format the /system partition before it's installed). If you have your own customized tweaks, then make backup those tweaks before you apply the new rom. After flashing new rom, those tweaks won't be there.
The file list needs to be backed up -
/system/etc/init.d folder and it's contents
/system/build.prop
/system/etc/install-recovery.sh (if it's there)
/system/etc/gps.conf (if you have GPS tweak)
Basically build.prop file defines lots of system values related to phone settings and those values are loaded to phone during the boot.
Because build.prop is created by rom, it holds some current rom's build related information. So, if you want to keep this file up to dated, whenever you flash the new rom, take the new build.prop file and compare it with this tweaked file.
Update the current rom's build.prop file based on your comparison -
1. don't update/replace any ro.build.xxxx and ro.product.xxx items
2. for any all other items, replace the lines with the items in tweaked file.
By doing above steps, I believe you've started already getting lots of battery savings. But there're some more critical things that could affect your phone's battery life. The below section is not directly related to init.d and build.prop tweaks but it's important as much as tweaks!
6. Additional tweaks on your phone
I've worked on this part so long time since I've started using ICS ROM. I also tried almost every battery saver apps but didn't get any better result using my own method because sometimes there are lots of overheads using it (I'm trying to avoid describing any individual app's pros and cons in here and just provide you the better way to configure your phone).
Currently I'm on FD26 rooted stock rom/modem/kernel. So, all the information in here is based on this rom but it's not limited to any specific phone or build. You could probably use it in anywhere.
1. Wifi
Some of you understand that wifi is faster than 3G and use less battery than 3G. You also say that 4G is the biggest monster consuming lots of battery. But that would be true and false.
Sometimes, wifi uses lots of battery to get the faster speed and keep the connection.
My suggestion is turning off wifi connection when you are in the area where wifi is not available and keep the 3G turned on. But if you are in the area where the wifi is available and connected, then you don't need to turn off the wifi.
Based on my and JC's test, turning on wifi (if you are connected to wifi), keeping wifi turned on during the standby or sleep mode does not affect the battery life a lot.
2. 3G
Keeping 3G turned on is a good habit. Because it covers wifi and 4G whenever those are not available. 3G uses battery a lot less than wifi and 4G.
Howto keep it on: setting -> more -> mobile networks -> check 3G DATA
3. 4G
Just like wifi, minimize turning on 4G network. This use a lot of battery if you are in the bad reception area. If the signal strength is really good, then it would be probably ok keeping 4G turned on. In some cases, 4G would be the only solution to watch the movies, streaming videos when the wifi is not available.
Based on my limited test, using 4G in good reception area is much better than using wifi with low/weak signal.
4. Call option
Mark checkbox for Turn on proximity sensor for your convenience even there would be a little battery drain. But if you are a heavy talker, then I recommend to uncheck this option.
5. Sound
Lower the sound/vibration level within the acceptable range for you. There would be some differences on battery behavior by turning off or on of sound/vibration. But I don't want to recommend anything in here because I don't want you to lose any incoming calls/messages/etc.
6. Display
Automatic brightness should be fine in most cases. It's really related to screen on time battery consumption. I don't want to deal with this option at this time.
Pulse notification light, display battery percentage - turn it on or off based on your preference. Battery consumption by turning on these options would be minimal. I saw that some people said that they recommend to turning off the 'pulse notification light'. But I don't agree with that. One blinking LED light almost does not use any battery!
display timeout - I set it with highest value provided. After using the phone, I manually press the power button to go to sleep mode. With short timeout value, I have to keep press the button or screen to keep the screen on. I don't like this method.
Turn on 'Auto adjust screen power'.
7. Power saving mode
I always keep this option off because I do not want to lose anything because of low battery. I would rather change the numbers in my tweak (battery profile 2 in scaling tweak).
8. Account and sync
Most of time, I keep this option turned off. This would be one of the battery eating monster. I would rather individually sync the apps whenever I need it or from the actual apps.
9. Battery
when you charge the battery and phone shows that 100% charged, unplug the cable few seconds and plug-in again to charger. Repeat this couple of times and your battery would be really fully charged. Many times, even phone shows 100% charged, it could be the minimum 100% range. Actually, there's some voltage allowed and considered as 100% charge. But by maximizing the voltage during the charge, your battery life could be extended.
10. Motion
Turn off this option if you don't need this.
11. email
If possible, turn off the option that pushing email immediately. Instead, put the retrieval interval as long as you can. Based on my test, it could extend your battery life as maximum as couple of hours. In my case, I put the 2 hours interval. By doing this, your phone is much easier to enter the 'deep sleep' mode.
7. Startups
For me, I don't allow the apps automatically start during the boot as much as possible. If it's the system app and critical app for the phone's normal operation, then you have to allow those startups but otherwise, you can disable the startup apps based on your test.
For this, I usually use Rom Toolbox and/or System Tuner Pro. These apps allow us to enable or disable the startup apps.
For any apps like I don't use frequently or at all, I disable the apps from the 'event' (rom toolbox) or startups (system tuner pro). Once you disable the startups, you may need some test to see what happens when you manually launch the apps. If your app does not start normally, then go back and enable the event again.
There's also one more battery eating moster - widgets (currently doing some experimental test on it)
Regardless of widgets are in foreground screen or just stays in widgets folder, almost same amount of battery could be used by widgets to make it upto dated and refresh the connections, etc.
So, if you don't need the widget or don't use, go to (from Rom Toolbox) Auto Start Manager -> Applications -> select app you want to check -> it will show that widget updating is enabled or not. If it's enabled and you don't want it, just disable it. Then the app is not going to use that specific widget and actually widget will disappear from widgets folder.
8. Closing comments
Thanks for reading my guide and tweaks. I hope everyone of you found some useful information in here.
I'm not perfect just like you. So, there could be some wrong information. If you find anything like that, please let me know.
Again,
Do it with your own risk and don't ask me to buy you a beer because you're doing it. But, if you like this info and/or you see any longer battery life of your phone, please don't hesitate saying 'thank you' and/or consider to buy me a beer.
I'm ok with not leaving any comments and just taking this tweak and recommendation but don't use this info in any other places with 'copy and paste' style.
What's in attachment:
all_in_here.zip First version of tweaks. build.prop is based on FD26.
70wifiSleepWait_kobridge.zip Tweak to handle the wifi lag time before sleep. Wifi will be turned on 10 seconds after the screen turned off. To make this tweak work, you will need sqlite3 and some manual task. Check here http://forum.xda-developers.com/showthread.php?t=1630792
FE07stock_build.prop.zip This is a build.prop file tweaked based on stock kernel FE07. This file would not work on other Roms but stock. You can use this on other stock based kernel but some information about the phone would be incorrectly displayed at settings > About phone. So, use the right version of build.prop. For any other Roms/Kernels, you can just keep your build.prop if you do not find any tweaked build.prop based on your kernel/rom.
init.d.v2b.zip Including CPU tweaks, additional tweaks, and wifi idle (lag) time tweak. Set to max cpu speed to 1Ghz on awake, max 500Mhz during the sleep. Fast and lots of power savings during the sleep mode.
init.dv2b2.zip Same as init.d.v2b scripts except some more CPU tweak changes. Same Max awake and sleep speed. Targeting more power save but no result yet. Experimental tweaks (you may experience a little slowness of phone with these tweaks).
Tweaked-FE10-build.prop.zip This is a tweaked Stock FE10 build.prop. This file would not work on other Roms but stock. Directly under /system folder and permission set to 644. Other init.d tweaks don't need to be changed.
zipalign.zip Two files included. zipalign goes to /system/xbin, permission 755, move the file if it's not there. 11zipalign goes to /system/etc/init.d. permission 755. If there is any apk files those are not zip aligned, this tweak will automatically align the apk files for better performance and battery savings.
zipalign.v3.1.zip 11zipalign modified a little to confirm the temporary APK file removal. If temporary APK is not deleted, it will be shown in log file and Temporary APK will be removed during the next boot.
init.d.v2.4.zip Complete set of init.d scripts. 41tweaks_other tweak changed a lot based on sysctl and fixed one error. 21&31cpufreq tweaks were also changed more aggressively. 11 & 70 are same. In the zip file, included sqlite3, busybox, zipalign executables in case you don't have it.
70wifiSleepWait_kobridge.v2.zip Check the section 4.5 from OP. Now this tweak works without any manual database handling.

Quick guide about how to install these tweaks :
Because many people asked me how to run these tweaks, I spent sometime to give you the quick instruction. To follow this instruction, you will need the following files downloaded and available at your sdcard.
Pre-requisite:
1. init.d scripts (able to download from op section). Download the zip file and unzip it. Save the files into your sdcard.
2. build.prop file (able to download from op section).
3. sqlite3 executable (just in case you want to use the tweak that updating wifi idle time before sleep). where to download and how to use it is here - http://forum.xda-developers.com/showthread.php?t=1630792
4. Get the install-recovery.sh from here if you are on the stock kernel (not repacked) - http://forum.xda-developers.com/showthread.php?t=1610741
If you have sfhub's auto root tool, then run the option 'E' to install the init.d support installed on your phone. Actually his tool will install the install-recovery.sh. (I assume that you've already have busybox installed, otherwise, you can download it too from above link)
Backup:
Do the backup for the following files -
1. /system/etc/init.d files - if there's any existing init.d scripts then back it up.
2. /system/build.prop - backup this file also for just in case
Now you are ready to start, follow these steps:
1. copy downloaded init.d script into /system/etc/init.d folder. If the init.d folder is not there, create the folder 'init.d' under /system/etc. Be sure that init.d folder permission should be 'rwxr_xr_x' (755). For the copied init.d scripts, check the permissions and changed it to same 755 (if it's not like that). If there's any script that you don't want to run during the boot, then change the permission to 'rw_r__r__' (644).
2. copy the install-recovery.sh file to /system/etc folder (only if you are on stock kernel or you've never installed sfhub's auto root tool (option 'E'). Change the permission to 'r_xr_x___' (550).
3. copy build.prop file to /system folder. Change the permission to 'rw_r__r__' (644).
4. Additional steps if you don't have sqlite3 or busybox.
copy the files to /system/xbin folder. permission 755.
5. You are done now. Reboot the phone.
How to verify that the script is running - the easiest way would be checking the Maximum CPU speed and SD tweaks applied to your phone. If you have any tool like Rom Toolbox (Pro) or System Tuner (Pro), then goto the options that showing CPU or SDcard (SD Boost), it will show the different values if you did not applied the tweaks previously.
Hope this help!
[Q/A]
On which Rom/Kernel this tweak is going to work?
The tweaks in here is mainly for the stock based ICS roms/Kernels only.
Any sfhub's rom, any Calk's Rom, any Agat's rom, VeNuM_ICE_Rom_RL5.0, MIJJz BLEND ICS, AnaKonda Rom ICS, etc....
init.d tweak files can be used for some other roms but it's not tested from my side. build.prop tweak is also mainly for stock roms and based on specific kernel version. If the kernel is upgraded, then you will need a different build.prop.
Can I try it on different rom and kernel?
Before applying the tweaks, make sure that you have the nandroid backup first and try it. If the phone is stuck on boot screen, you may need to flash your rom again thru the odin or CWM recovery.
(usually incorrect edit on build.prop file could cause a freezing on boot screen. So be sure that you know how to edit build.prop)
Does build.prop support different ROMs except the stock?
Basically, my answer is no. To make the build.prop working on different ROM, it needs to be modified based on your rom and kernel. Currently I have a few versions supporting stock rom and kernel - check the progress report and change log for any updates. For any other Roms, please check the same area also.
Progress report:
4/29/12 10:50 pm US EST I'm adding three more screenshots.
screenshot#4 : Lasting More than 21 hours and battery still left 52%
#5: showing screen-on statistics. In here, on battery time was reset somehow. But actual time is 21+ hours (same on screenshot #4,5,6)
#6: It shows which apps were running during the sleep mode and screen was off. If you wonder which apps are running when the phone is on sleep/deep sleep mode, you can check the apps thru this kind of tool (battery monitor widget). If you want to save more battery, you can change the options from each apps if it provides a such kind of options.
4/30/12 My first full battery cycle test was ended up with about 40 hours until battery capacity reaches to 30%. During my test, I found some apps were still running during the sleep mode and those were using lots of battery. In my case, some of those apps were touchdown (email), Kakao talk (sns), and facebook apps. In many cases, we are not able to control the method how the application run in foreground and background. Some apps provides us how to sync and when to sync but there are still lots of chances for those apps for the improvement at least in the perspective of battery consumption.
5/1/12 The second version tweak is coming soon -> done.
5/2/12 WiFi issue resolved. http://forum.xda-developers.com/showthread.php?t=1630792 and added one more tweak file. Before applying this file, read the attached thread first. You won't be disappointed.
5/4/12 Tested battery consumption with wifi turned on 24x7 (like JC's snapshot somewhere in this thread). Not bad at all. #7 snapshot shows that. About 19 hours and still 63% remaining (with on screen 30m, voice call 2m, lots of snapshots, lots of emails (100+), some SNS). Added snapshots #8 & 9.
5/5/12 Big Thanks to TeamERA and team member who converted build.prop for each Kernels. TeamERA provided build.prop files based on different Kernels(Roms). Check out the post #88.
Supported Kernel: AOKP CM9a3 (tested) CNA FD26 MIUI. For FD26, I've checked the items and values on it. There's some items sequence change made comparing build.prop in here and minor values changes - post #94.
So anyone who had issues on boot screen with build.prop that I posted, now you can try build.prop tweak based on your current rom.
5/6/12 GB Kernel Test - Blazer 4.1 EL29 - Not able to change the CPU frequencies and frequency change is causing phone freezing during the sleep & wakeup. No way to change this by init.d script so far. Only the way would be using Tegrak or System Tuner Pro tools. I tried System Tuner Pro and set the conservative governor (underclock to 1GHz) as on boot instead of init.d option. Working like a charm and no freezing yet.
Update: since applied, 19 hours and 70% of battery remaining. For more info, post your questions. Related post: http://forum.xda-developers.com/showthread.php?t=1625299&page=11 post #107.
5/8/12 Added FE07 Stock based tweaked build.prop. Only for Stock FE07 based Kennels.
5/9/12 Two more zip files added. init.d.v2b - moderate CPU tweaks. init.dv2b2 - agressive CPU tweaks (could save more battery).
5/10/12 Added AOKP FE07 version of build.prop at post #156.
http://forum.xda-developers.com/showpost.php?p=25907510&postcount=156
5/14/12 zipalign tweak added
5/16/12 wifiSleepWait tweak improved. Check the section 4.5 from OP. Now this tweak works without any manual database handling.
5/17/12 Now supporting flashable zip files. You may get customized flashable zip files based on your rom. Check out - http://forum.xda-developers.com/showthread.php?t=1658471
Issue Log:
5/1/12 a. It seems like changing the Wi-Fi option to 'Never' and pm.sleep_mode to 1 does not work. My previous test based on the 3G turned on always and minimized turning on wifi. Now I'm testing wi-fi options but status shows that wifi is turned on always. Checking more details... Checked with wifi fixer but wifi still does not sleep. Started removing anything related wifi, but no luck yet. Spending several hours but no luck. Going to test on fresh installed stock rom/kernel.
Status: Resolved. http://forum.xda-developers.com/showthread.php?t=1630792
b. AOKP Rom users or custom Kernel users - Do not sue these tweaks. Basically I cannot help any issues on AOKP because I'm not a user of AOKP. So far, it's known that 31tweak file is causing a boot loop on Samsung logo screen.
Change log:
4/29/12 41tweaks_kobridge tweak updated. changed value setprop pm.sleep_mode to sync with build.prop.
4/30/12 lcd_density value changed back to default 240. It's my mistake uploading the file based on my configuration and forgot to change it back to default. Thanks to TeamERA for findings. If anything else found, more updates will be added to build.prop.
Thanks again to TeamERA. He found another one - "In your kobridgetweaks script you have ring delay at 1000, and in build.prop 0, it should be 0". Updated attached zip file.
5/2/12 New wifi idle tweak init.d file attached (only for the update of existing table)
5/4/12 Added 11 email section.
5/6/12 Wrong link in wifi section corrected.
5/8/12 Build.prop created based on FE07. Rearranged tweaked items based on Stock sequence. Removed duplicates.
5/9/12 uploaded updated init.d scripts. CPU tweaks changed to deal with only ondemand governor. Fixed few errors on 41tweaks. Currently it's a beta version because very few times, I saw that wifi was not automatically reconnected after the sleep. I confirmed that it's the stock rom issue and it's not coming from the tweaks in here.
5/14/12 zipalign tweak updated to confirm the removal of temporary APK files.
5/15/12 Improvement on 41Tweaks_other tweak file (more tweaks based on sysctl). Fixed on error from previous file. 21&31 CPU tweak files were changed more aggressively.
5/16/12 70wifiSleepWait_kobridge version2 tweak uploaded.

I am basically running everything exactly as you mentioned with one exception... the wifi while I am asleep. I generally lose between 2 and 5% over eight hours but I am right next to the router. I never thought to try turning it off and letting the 3g sleep take care of things but I will definitely give it a shot since we are basically on the same page with sync, screen time out, etc. I do also have auto brightness off and slide across status bar to adjust but that wouldn't make an enormous difference. Also inverted apps really seem to get me on average an extra hour or so of screen on time. Very thorough info. I need to consider running my CPU at 1000 Max as well
Edit..all FD26 setup with init.d added by sfhub's auroroot option E
Sent from my SPH-D710 using Xparent Blue Tapatalk 2

JohnCorleone said:
I am basically running everything exactly as you mentioned with one exception... the wifi while I am asleep. I generally lose between 2 and 5% over eight hours but I am right next to the router. I never thought to try turning it off and letting the 3g sleep take care of things but I will definitely give it a shot since we are basically on the same page with sync, screen time out, etc. I do also have auto brightness off and slide across status bar to adjust but that wouldn't make an enormous difference. Also inverted apps really seem to get me on average an extra hour or so of screen on time. Very thorough info. I need to consider running my CPU at 1000 Max as well
Edit..all FD26 setup with init.d added by sfhub's auroroot option E
Sent from my SPH-D710 using Xparent Blue Tapatalk 2
Click to expand...
Click to collapse
Thanks John for the input! The easiest way to adding init.d support is adding his script (recovery-install.sh) into /system/etc folder with permission 550. recovery-install.sh is available thru my linked thread (just in case you don't have it).
Again thanks for trying and let me know your findings!

BTW the script is install-recovery.sh (not recovery-install.sh) I think you had it right in some sections but reversed it in others.
Also since we last discussed I made some improvements to the script. It is now compatible with other apps which like to use install-recovery.sh to get their stuff done like link2sd. The installer in Auto Root will move the existing install-recovery.sh to install-recovery-orig.sh and the install-recovery.sh (init.d version) will call install-recovery-orig.sh (if present) after it is done. The uninstaller will reverse the process.
Also install-recovery.sh will now defer to init.d support in the kernel regardless of which .rc file it was added to in the kernel. Previously it only looked in init.rc but I saw some repacked kernels were adding support in different .rc files (they also removed install-recovery.sh support from their .rc file, so it might be a moot point because install-recovery.sh might never get called)

Thanks kobridge. I think this script is just what I've been looking for and I'm going to give it a run.
sfhub, somewhat off topic, but continuing with kobridge's related thread, How to run init.d scripts on boot, how come chmod 755 is not expressed rwx-rx-rx instead of -rwxr-xr-x? Seems more logical to me.

sfhub said:
BTW the script is install-recovery.sh (not recovery-install.sh) I think you had it right in some sections but reversed it in others.
Also since we last discussed I made some improvements to the script. It is now compatible with other apps which like to use install-recovery.sh to get their stuff done like link2sd. The installer in Auto Root will move the existing install-recovery.sh to install-recovery-orig.sh and the install-recovery.sh (init.d version) will call install-recovery-orig.sh (if present) after it is done. The uninstaller will reverse the process.
Also install-recovery.sh will now defer to init.d support in the kernel regardless of which .rc file it was added to in the kernel. Previously it only looked in init.rc but I saw some repacked kernels were adding support in different .rc files (they also removed install-recovery.sh support from their .rc file, so it might be a moot point because install-recovery.sh might never get called)
Click to expand...
Click to collapse
Thanks so much sfhub!
It seems like I stayed too many nights awake. I corrected one place saying recovery-install.sh to install-recovery.sh.
Now I'm downloading your auto root package again and let me also correct the information accordingly.

RustedRoot said:
Thanks kobridge. I think this script is just what I've been looking for and I'm going to give it a run.
sfhub, somewhat off topic, but continuing with kobridge's related thread, How to run init.d scripts on boot, how come chmod 755 is not expressed rwx-rx-rx instead of -rwxr-xr-x? Seems more logical to me.
Click to expand...
Click to collapse
It's always rwxrwxrwx order.
rwx (read write execute) -> 4 + 2 + 1 -> 7
rw_ -> 4 + 2 + 0 -> 6
r_x -> 4 + 0 + 1 -> 5
r__ -> 4 + 0 + 0 -> 4
the second bit is always for w (write) permission. So, the order -rx is not possible.
Some basic binary calculation and permission related info:
The permission is consist of 9 bits for user, group, and other (each user group holds 3 bits).
With binary expression, it would be same
111 (user) 111 (group) 111 (other)
For first bit represent the read permision and the second is for write, third one is for execute.
so 755 equals in binary expression 111 101 101 (= rwxr_xr_x)

Thanks for the info kobridge, I still have not figured out why wifi causes a partial wake lock on ICS. But it plays much better with GB. Ive tested this also.
Sent from my SPH-D710 using xda premium

So these can be applied to gingerbread right?
Sent from my SPH-D710 using Tapatalk 2

Can we use this on aokp?
Transmission sent from my slim n trim Galaxy S II.

kobridge said:
It's always rwxrwxrwx order.
rwx (read write execute) -> 4 + 2 + 1 -> 7
rw_ -> 4 + 2 + 0 -> 6
r_x -> 4 + 0 + 1 -> 5
r__ -> 4 + 0 + 0 -> 4
the second bit is always for w (write) permission. So, the order -rx is not possible.
Some basic binary calculation and permission related info:
The permission is consist of 9 bits for user, group, and other (each user group holds 3 bits).
With binary expression, it would be same
111 (user) 111 (group) 111 (other)
For first bit represent the read permision and the second is for write, third one is for execute.
so 755 equals in binary expression 111 101 101 (= rwxr_xr_x)
Click to expand...
Click to collapse
Gotcha, with thanks.
Sent from my SPH-D710 using XDA

Pheno.menon said:
Can we use this on aokp?
Transmission sent from my slim n trim Galaxy S II.
Click to expand...
Click to collapse
It's not been tested on aokp. If the kernel is same, then there are high chances that this tweak would run. But, all the paths on this tweak needs to be verified and tested.
If someone want to run this from AOKP, please try it with scripting tool like SManager first before putting it into init.d folder.
Unfortunately, I don't use AOKP rom yet. Only the way, I can do the test would be downloading the rom and verifying the zip file manually. But if the kernel is different, then I couldn't do that because I don't know the command difference on AOKP rom.

TeamERA said:
Thanks for the info kobridge, I still have not figured out why wifi causes a partial wake lock on ICS. But it plays much better with GB. Ive tested this also.
Sent from my SPH-D710 using xda premium
Click to expand...
Click to collapse
To properly answer your question, we may need the kernel source to check the mechanism.
There are couple of options locking wifi (I think you already know about this, right?)
Sleep Modes: (pm.sleep_mode=)
This is supposedly for topaz/rhodium that I found on the xda wiki:
* '4' will do "wait for interrupt", no change in arm11's clock or voltage
* '3' will do "wait for interrupt and ramp clock", the arm11's clock is lowered to 20MHz instead of 300-500, and voltage is lowered too.
* '2' will do "app sleep", arm11 is still on, but put into low power mode (registers are still saved)
* '1' and '0' will totally power off the arm11 (so we have to restore registers and things ourself), don't know the differences between them
pm.sleep_mode=0 -> Power Collapse Suspend
pm.sleep_mode=1 -> Power Collapse (Provides best power savings)
pm.sleep_mode=2 -> Apps Sleep
pm.sleep_mode=3 -> Slow Clock and Wait for Interrupt
pm.sleep_mode=4 -> Wait for Interrupt
(http://forum.xda-developers.com/showpost.php?p=17680020&postcount=9)
The similar function is also provided by settings > wifi > menu > advanced > Keep wi-fi on during sleep options. There are three options, Always, Only when plugged in, and never.
If you set up above values in somewhere, partial wake up lock would be dependent on the values you've chosen. Aslo, if there is any application which is configured to use wifi for communication, you may also need to check the application if it's causing partial wakeup lock.
It seems like there's something needs to be tested from your side.
FYI, I set the pm.sleep_mode value to 1 in my tweak and build.prop.
Update: I just added some more screenshots on post #2. Check out screenshot #6 and comments on that.

sfhub said:
BTW the script is install-recovery.sh (not recovery-install.sh) I think you had it right in some sections but reversed it in others.
Also since we last discussed I made some improvements to the script. It is now compatible with other apps which like to use install-recovery.sh to get their stuff done like link2sd. The installer in Auto Root will move the existing install-recovery.sh to install-recovery-orig.sh and the install-recovery.sh (init.d version) will call install-recovery-orig.sh (if present) after it is done. The uninstaller will reverse the process.
Also install-recovery.sh will now defer to init.d support in the kernel regardless of which .rc file it was added to in the kernel. Previously it only looked in init.rc but I saw some repacked kernels were adding support in different .rc files (they also removed install-recovery.sh support from their .rc file, so it might be a moot point because install-recovery.sh might never get called)
Click to expand...
Click to collapse
Updated my thread based on your information! http://forum.xda-developers.com/showthread.php?p=25120392#post25120392
Thanks sfhub!
Updated info :
4/29/12 sfhub improved his auto root tool to support some other kernels, those are enabling init.d through different .xc files.
Stock kernels and some repacked kernels are supporting init.d scripts through init.xc and/or install-recovery.sh but some other repacked kernels are supporting init.d scripts running through different .xc files. So, sfhub made some modification on his script. Because he's adding a new install-recovery.sh file into /system/etc folder, if there's a existing install-recovery.sh file at the same location, the existing install-recovery.sh file will be replaced by his previous version of Auto Root Tool. To prevent the replacing existing install-recovery.sh file with his same named install-recovery.sh file which supports the init.d scripts, his tool now creates a copy of old file and create a new one. Old install-recovery.sh file will be named as install-recovery-orig.sh.
If you are enabling the init.d support by running his tool, be sure that the existing install-recovery.sh file was not created by his old Auto root tool nor you manually created it following this guide. If the file is the one you created by sfhub's tool or my guide in here, be sure that you remove the old file manually before you run his new Auto Root Tool. Otherwise, the init.d scripts would run twice whenever you reboot your phone.
If you just want to simply enable init.d support without using sfhub's tool, then download the new-install-recovery.zip file from my second post and unzip it. Like I explained above, if there's any existing install-recovery.sh file and it's not related to init.d support, then rename it to install-recovery-orig.sh and move the unzipped file to same directory (/system/etc). Assign the file permission 550 (r_xr_x___). New install-recovry.sh file will execute the init.d scripts (if it's there) and old install-recovery-orig.sh (if it's there) during the boot.

kobridge said:
If you are enabling the init.d support by running his tool, be sure that the existing install-recovery.sh file was not created by his old Auto root tool nor you manually created it following this guide. If the file is the one you created by sfhub's tool or my guide in here, be sure that you remove the old file manually before you run his new Auto Root Tool. Otherwise, the init.d scripts would run twice whenever you reboot your phone.
Click to expand...
Click to collapse
BTW the installer in Auto Root checks to see if the existing install-recovery.sh is the one that adds init.d support. If it is, it just overwrites it. Only if the existing install-recovery.sh has nothing to do with init.d support does it move it to install-recovery-orig.sh. The way it detects whether the existing install-recovery.sh is used for init.d support is the presence of the BusyboxBin string, which is the shell variable used to define the busybox location used by the script. The chances some arbitrary install-recovery.sh script defines that string is very low (but not zero)
So bottom line if Auto Root is working properly, it shouldn't be necessary to remove your existing init.d install-recovery.sh script as it will not cause a situation where init.d is run twice.
Also I forgot to mention that some people wanted to run init.d but didn't have busybox installed. I didn't want to clobber busybox for people that have installed it, so basically just had the init.d install-recovery.sh use /system/xbin/busybox-initd (which gets copied into place by the auto root installer) This makes it easier (more symmetrical) to remove init.d support and associated busybox-initd without worrying about who installed busybox to start with.
For the "new-install-recovery.zip" you should do a symlink from busybox-initd to busybox
Code:
su
cd /system/xbin
ln -s busybox busybox-initd

kobridge said:
It's not been tested on aokp. If the kernel is same, then there are high chances that this tweak would run. But, all the paths on this tweak needs to be verified and tested.
If someone want to run this from AOKP, please try it with scripting tool like SManager first before putting it into init.d folder.
Unfortunately, I don't use AOKP rom yet. Only the way, I can do the test would be downloading the rom and verifying the zip file manually. But if the kernel is different, then I couldn't do that because I don't know the command difference on AOKP rom.
Click to expand...
Click to collapse
didn't work for me. had to Odin a kernel and reflash. not sure which script as I tried all from the OP. tomorrow I can figure it out which.
anyway to delete init.d scripts via Odin if it fails to boot? I end up odining el26, wiping, and reflashing. :/
EDIT:
oops. I used the sh script.
want me to post the included fd26 aosp kernel from aokp?

gershee said:
didn't work for me. had to Odin a kernel and reflash. not sure which script as I tried all from the OP. tomorrow I can figure it out which.
anyway to delete init.d scripts via Odin if it fails to boot? I end up odining el26, wiping, and reflashing. :/
EDIT:
oops. I used the sh script.
want me to post the included fd26 aosp kernel from aokp?
Click to expand...
Click to collapse
Do you think aosp kernel works on stock rom? If it is, then I think I can make some test.
If init.d fails on boot, and boot screen is stuck on Samsung logo, then we would flash the rom again. Flashing kernel would not help because it does not delete the system partition. Once after the rom is flashed, do the nandroid recovery that you made before the init.d test.

kobridge said:
snip
Click to expand...
Click to collapse
Just curious if you are experiencing any Sleep of Death using the CPU screenstate settings you have, specifically enabling a powersave as the sleep governor with a cpu freq range of 200-500. A very common issue on the ICS builds so far is setting the max freq below 1ghz can cause Sleep of Death where the device will not wake from sleep and must be rebooted.

odub303 said:
Just curious if you are experiencing any Sleep of Death using the CPU screenstate settings you have, specifically enabling a powersave as the sleep governor with a cpu freq range of 200-500. A very common issue on the ICS builds so far is setting the max freq below 1ghz can cause Sleep of Death where the device will not wake from sleep and must be rebooted.
Click to expand...
Click to collapse
And I was curious if the undervolt or underclock have triggered any 4g reboots for you. A few of my friends were getting them on earlier ICS ROM and I had them delete the undervolt script and they stopped. Some people's phones just handle that stuff better than others though
Sent from my Nexus S 4G using Xparent Blue Tapatalk 2

Related

[Script] {APP} CPU Sleeper, The Battery Saver Mod! 07/12/2012 Release 2.1

App Version:
CPU Sleeper
~Free to all XDA Memebers
~ Must Be Rooted to use App
What is it?
Its a fairly simple App that will put CPU 1/2/3 OFFLINE when the screen turns off. Once the screen comes back on, it will allow CPU 1/2/3 back ONLINE.
How does it work?
Since we have Dual & Quad core CPUs, we have a CPU 0 and a CPU 1/2/3, core 0/1/2/3, while the screen is off we really only need to have 1 core active "CPU0", this App will make sure CPU 1/2/3 shuts off while the screen is off, then resumes normal usage when the screen comes back on.
Compatibility?
Works with any Dual Core & Quad Core Devices!
~ICS
~Gingerbread
Battery Saving?
Battery savings all depends on Usage & idle times.
App Download: CPUSleep.apk
Credits:
Handlerexploit for co-creation of this wonderful App.
Script Version!
Code:
This time I present to you a script that will in theory (and so far for me, in reality) save us some battery without having to risk our hardware with undervolting! I present to you...
[B]CPU Sleeper[/B]
[QUOTE]Honestly the Script can be made to work with any Dual Core / Quad Core! The Only Problem is you need to be Rooted!
~ Currently the issue with CM9, is that the boot becomes incomplete while in init.d folder without Modification to the sysinit..
~ however, with any rooted device you can download the script & continue to use it via a script manager app on every boot.
~ With the Script Manager App, this script virtually can run on any Multi-Processor CPU
Hope that clears things Up,
~~Eugene[/QUOTE]
[U]What is it?[/U]
Its a fairly simple script that will put CPU 1 OFFLINE when the screen turns off. Once the screen comes back on, it will allow CPU 1 back ONLINE.
[U]How does it work?[/U]
Since we have dual core CPUs, we have a CPU 0 and a CPU 1, core 1 and core 2, while the screen is off we really only need to have 1 core active, this script will make sure CPU 1 shuts off while the screen is off, then resumes normal usage when the screen comes back on.
[B][COLOR="red"]WARNING! READ THIS![/COLOR][/B]
This script relies on init.d OR script manager! CM9, for some reason, tends to run this at the exact same time it runs some other script (I forget atm which) and it will clash, causing no boot! CM9 users MUST use the script manager version install! Flex Reaper appears to work fine with it as init.d. I strongly urge you to use the script manager version of this, NOT the flashable version. Always make a nandroid backup before modifying the system, including this!
[U][COLOR="Red"]Instructions[/COLOR][/U]
Available in 2 versions, script only version which you can place wherever you want and run however you want, or a CWM/TWRP flashable zip that will place the file for you in /system/etc/init.d and set permissions.
[I]Version 1: Flashable[/I]
Same as any of my flashable releases, I did most of the work for you!
Make a full backup
Download to external SD card
Install from SD card
Pick the cpu sleeper zip file
it'll be almost instant
reboot
Shouldn't be any need to clear caches or anything like that.
[I]Version 2: Script only[/I]
This can be run in 2 ways, via init.d support, or via script manager. Both are pretty similar, and can be done a number of ways, however this is the basis of how.
[U]Init.d supported kernel:[/U]
Make a backup!
Download the script file, making sure no extensions get added onto the file. Copy the file to /system/etc/init.d and set the permissions to the following:
XOX
XOX
XOX
Once done, reboot the system, and it will take effect when your system is finished rebooting.
[U]Script Manager[/U]
This method is probably the better method, and should work with any kernel/ROM. Download the script file, making sure no file extensions get added, and copy it to /system/etc. Set the file permissions to:
XOX
XOX
XOX
Once done, load up script manager, select browse as root (if it isn't already set from the crossix mod method in the guide) then browse to /system/etc and select the script file S98cpu_sleep, then select ROOT and BOOT options. After this is set, reboot system.
[U]What do I do if I can't boot after using this?[/U]
You made that backup, right? Ok, then here is what you do.
Hold the power button until the tablet powers off
Press and hold the volume down button, next to the screen lock switch
Press and hold Power (while holding volume down)
Once the recover kernel message comes up, release the buttons
In CWM go to advanced, mounts, mount system, then format system
In TWRP, go to wipe, then wipe system
In CWM go to restore, advanced restore, restore ONLY system
In TWRP select restore, then uncheck all so ONLY system is checked
After restoring system, wipe cache and dalvik cache, then reboot system.
System should boot normally.
[B]Downloads[/B]
Available in 2 versions, script only version which you can place wherever you want and run however you want, or a CWM/TWRP flashable zip that will place the file for you in /system/etc/init.d and set permissions.
Dual Core:
Download: [COLOR="Red"]Script Only - Recommend Install via Script Manager App[/COLOR]
[URL="http://d-h.st/N1N"]CPU Sleeper script only[/URL]
Quad Core:
Download: [COLOR="Red"]Script Only - Recommend Install via Script Manager App[/COLOR]
[url=http://www66.zippyshare.com/v/9249467/file.html]cpusleep[/url]
Thanks to [COLOR="DarkGreen"]pio_masaki[/COLOR] for rewriting the OP
Interesting, I'll give this a go. Will report back in a bit.
Nice, will check it out.
Thanks Guys,
It's been Confirmed working Perfect for all Dual / Quad Core Device!
Thanks Eugene! Are we allowed to include these in our Roms?
Sent from my SPH-L710 using Tapatalk 2
clark44 said:
Thanks Eugene! Are we allowed to include these in our Roms?
Sent from my SPH-L710 using Tapatalk 2
Click to expand...
Click to collapse
Probably wouldn't be much use until we get a kernel with init.d support, unless we already have one.
Very interesting will give this a go
PhantomHacker said:
Probably wouldn't be much use until we get a kernel with init.d support, unless we already have one.
Click to expand...
Click to collapse
My Rom has It
Sent from my SPH-L710 using Tapatalk 2
If I post it, it's cool to use.... Credit is nice, but not required!
That's what open source is about correct
~Enjoy
eugene373 said:
If I post it, it's cool to use.... Credit is nice, but not required!
That's what open source is about correct
~Enjoy
Click to expand...
Click to collapse
That's right I will give credit and link to this thread! Thanks Eugene!
Sent from my SPH-L710 using Tapatalk 2
eugene373 said:
If I post it, it's cool to use.... Credit is nice, but not required!
That's what open source is about correct
~Enjoy
Click to expand...
Click to collapse
Indeed it is, though some people get cranky about it.
Will this script still work correctly if i have a setcpu profile to downclock when the screen is off?
Sent from my SPH-L710 using Tapatalk 2
I wouldn't use a script like that.
1) This phone already sleeps like a champ.
2) The script looks like it may interfere with samsung's way of handling the second core.
Soon as I saw Eugene I flashed it lol Seems to be running nice, hope to see battery savings. Every little bit helps haha
Sent from my SPH-L710 using xda premium
just want to be sure, i can flash the flashable version to my sprint sgsiii correct?
The_Real_D/\SH said:
just want to be sure, i can flash the flashable version to my sprint sgsiii correct?
Click to expand...
Click to collapse
Yes
Sent from my SPH-L710 using xda premium
Deleted.....
Installed your script (prior to all this drama)
I have to say I'm very impressed. Before if I forgot to plug my phone in at night I would wake up and it would be down to about %10-15 by morning. I forgot to plug it in today and found I was only down 5%.
I'd say I'm happy with the results and wanted to say thanks!
jchap2k said:
Installed your script (prior to all this drama)
I have to say I'm very impressed. Before if I forgot to plug my phone in at night I would wake up and it would be down to about %10-15 by morning. I forgot to plug it in today and found I was only down 5%.
I'd say I'm happy with the results and wanted to say thanks!
Click to expand...
Click to collapse
thank you, the script does work very well & it's so simple I can see how people would think it doesn't work...
However, this isn't the case & it works awesome...
Funny how a little script can make life better...
PS.
I turned this into an App also.
Is there any way to check if the script is running?
Sent from my SPH-L710 using xda premium

{Script} CPU1 disabler while in sleep!!! The Battery Saver Mod!

Script Version!
Code:
This time I present to you a script that will in theory (and so far for me, in reality) save us some battery without having to risk our hardware with undervolting! I present to you...
[B]CPU Sleeper[/B]
[QUOTE]Honestly the Script can be made to work with any Dual Core / Quad Core! The Only Problem is you need to be Rooted!
~ Currently the issue with CM9, is that the boot becomes incomplete while in init.d folder without Modification to the sysinit..
~ however, with any rooted device you can download the script & continue to use it via a script manager app on every boot.
~ With the Script Manager App, this script virtually can run on any Multi-Processor CPU
Hope that clears things Up,
~~Eugene[/QUOTE]
[U]What is it?[/U]
Its a fairly simple script that will put CPU 1 OFFLINE when the screen turns off. Once the screen comes back on, it will allow CPU 1 back ONLINE.
[U]How does it work?[/U]
Since we have dual core CPUs, we have a CPU 0 and a CPU 1, core 1 and core 2, while the screen is off we really only need to have 1 core active, this script will make sure CPU 1 shuts off while the screen is off, then resumes normal usage when the screen comes back on.
[B][COLOR="red"]WARNING! READ THIS![/COLOR][/B]
This script relies on init.d OR script manager! CM9, for some reason, tends to run this at the exact same time it runs some other script (I forget atm which) and it will clash, causing no boot! CM9 users MUST use the script manager version install! Flex Reaper appears to work fine with it as init.d. I strongly urge you to use the script manager version of this, NOT the flashable version. Always make a nandroid backup before modifying the system, including this!
[U][COLOR="Red"]Instructions[/COLOR][/U]
Available in 2 versions, script only version which you can place wherever you want and run however you want, or a CWM/TWRP flashable zip that will place the file for you in /system/etc/init.d and set permissions.
[I]Version 1: Flashable[/I]
Same as any of my flashable releases, I did most of the work for you!
Make a full backup
Download to external SD card
Install from SD card
Pick the cpu sleeper zip file
it'll be almost instant
reboot
Shouldn't be any need to clear caches or anything like that.
[I]Version 2: Script only[/I]
This can be run in 2 ways, via init.d support, or via script manager. Both are pretty similar, and can be done a number of ways, however this is the basis of how.
[U]Init.d supported kernel:[/U]
Make a backup!
Download the script file, making sure no extensions get added onto the file. Copy the file to /system/etc/init.d and set the permissions to the following:
XOX
XOX
XOX
Once done, reboot the system, and it will take effect when your system is finished rebooting.
[U]Script Manager[/U]
This method is probably the better method, and should work with any kernel/ROM. Download the script file, making sure no file extensions get added, and copy it to /system/etc. Set the file permissions to:
XOX
XOX
XOX
Once done, load up script manager, select browse as root (if it isn't already set from the crossix mod method in the guide) then browse to /system/etc and select the script file S98cpu_sleep, then select ROOT and BOOT options. After this is set, reboot system.
[U]What do I do if I can't boot after using this?[/U]
You made that backup, right? Ok, then here is what you do.
Hold the power button until the tablet powers off
Press and hold the volume down button, next to the screen lock switch
Press and hold Power (while holding volume down)
Once the recover kernel message comes up, release the buttons
In CWM go to advanced, mounts, mount system, then format system
In TWRP, go to wipe, then wipe system
In CWM go to restore, advanced restore, restore ONLY system
In TWRP select restore, then uncheck all so ONLY system is checked
After restoring system, wipe cache and dalvik cache, then reboot system.
System should boot normally.
[B]Downloads[/B]
Available in 2 versions, script only version which you can place wherever you want and run however you want, or a CWM/TWRP flashable zip that will place the file for you in /system/etc/init.d and set permissions.
Dual Core:
Download: [COLOR="Red"]Script Only - Recommend Install via Script Manager App[/COLOR]
[URL="http://d-h.st/N1N"]CPU Sleeper script only[/URL]
Quad Core:
Download: [COLOR="Red"]Script Only - Recommend Install via Script Manager App[/COLOR]
[url=http://www66.zippyshare.com/v/9249467/file.html]cpusleep[/url]
Thanks to [COLOR="DarkGreen"]pio_masaki[/COLOR] for rewriting the OP
App Version:
Code:
[B]CPU Sleeper[/B]
~Free to all Memebers
~ Must Be Rooted to use App
[B][COLOR="Blue"]What is it?[/COLOR][/B]
Its a fairly simple App that will put CPU 1/2/3 OFFLINE when the screen turns off. Once the screen comes back on, it will allow CPU 1/2/3 back ONLINE.
[B][COLOR="Blue"]How does it work?[/COLOR][/B]
Since we have Dual & Quad core CPUs, we have a CPU 0 and a CPU 1/2/3, core 0/1/2/3, while the screen is off we really only need to have 1 core active "CPU0", this App will make sure CPU 1/2/3 shuts off while the screen is off, then resumes normal usage when the screen comes back on.
[B][COLOR="Blue"]Compatibility?[/COLOR][/B]
Works with any Dual Core & Quad Core Devices!
~ICS
~Gingerbread
[B][COLOR="Blue"]Battery Saving?[/COLOR][/B]
Battery savings all depends on Usage & idle times.
[U][COLOR="Red"]Instructions[/COLOR][/U]
download the App, install & either manually run it, or set to run every boot-up
[B]Downloads[/B]
[url=http://www20.zippyshare.com/v/85067559/file.html]CPU Sleep.apk[/url]
Credits:
Handlerexploit for the creation of the App.
Curious as to why this was deleted and the CWM zip removed. ?
I'm also wondering if this will conflict in any way with a SetCPU profile I have for 'screen off' that limits CPU to 486 max, 384 min, ondemand. I set that up earlier today, just to see if there was any benefit, before flashing this.
Thanks for the link to the i9300 thread.
Now that I look at what's in the zip, I don't see an init.d folder in my /system/etc directory, so I'm guessing it did nothing when I flashed it? MOF, I searched the entire phone for "s98" and it returned nothing.
Looks like a double

[MOD/KernelLG2] Enable bootanimations without the negative side effects

So, you guys may have read and/or applied the fix I posted a few days ago regarding dual cores. Allow me to go into further detail before posting what I believe is a good compromise and hopefully keeps the same battery life improvements.
Well, we all know that Sprint's GS3 (Not sure about other US variants) uses weird boot and shutdown animations. It actually uses the same boot animations as the 2 year old EVO 4G. How outdated! At any rate, in order to achieve these boot and shutdown animations, they use Samsung's qmg format, which requires the files "samsungani" and "samsungpowersoundplay" in /system/bin/ The problem is, samsungani only supports qmg formats so our custom boot animations weren't working. Now, it was posted somewhere that in order to have them work, we needed to rename samsungani to something else, and then rename bootanimation to samsungani. While this sounded like a great plan, it unknowingly produced a bad side effect. I have no idea WHY, but if the samsungani OR samsungpowersoundplay files aren't present or are tampered with (by renaming etc) this causes the dual core functions on the phone to act wonky. Why? Beats me. But they will default to the "performance" governor without you ever knowing and mpdecision would no longer control the second core the way it's supposed to. The second core would either remain on or off depending on how your phone was setup. Unless you were to use a cpu scaling app.to see this, you'd never know what was happening and as a result, battery life took a complete hit.
I have came up with a solution It involves editing the kernel ramdisk to load both bootanimation and samsungani/powersoundplay files. However, I have stripped the samsung files of their ability to control boot sounds and bootanimations, while allowing the original bootanimation file to load bootanimation.zips. This means we can use our custom bootanimation zip files without having terrible battery life with cores that default to performance governors.
It requires a simple edit, but I will also include a flashable kernel with support for it.
Once you extract the kernel ramdisk, open the init.rc file with your editor of choice and navigate to:
Code:
service powersnd /system/bin/samsungpowersoundplay
class main
user media
group system
oneshot
service samsungani /system/bin/samsungani
class main
user graphics
group graphics system
disabled
oneshot
Remove the user and group portions from both and add "disabled" to the samsungpowersoundplay line. They should look like this when done:
Code:
service powersnd /system/bin/samsungpowersoundplay
class main
disabled
oneshot
service samsungani /system/bin/samsungani
class main
disabled
oneshot
Now for the last part, add support for bootanimations by adding this section above the samsungpowersoundplay line "service powersnd /system/bin/samsungpowersoundplay"
Code:
service bootanim /system/bin/bootanimation
class main
user graphics
group graphics
oneshot
When complete, it should look like this:
Code:
service bootanim /system/bin/bootanimation
class main
user graphics
group graphics
oneshot
service powersnd /system/bin/samsungpowersoundplay
class main
disabled
oneshot
service samsungani /system/bin/samsungani
class main
disabled
oneshot
Go ahead and save changes and make your boot.img. You're done!
I've uploade my boot.img with the changes. It also has support for init.d as well as adb shell root and "boot speed plus" which changes the governors to "performance" as the system is booting but will obey anything set in init.qcom.post_boot.sh (which more than likely will be OnDemand, since that's default). So basically, it'll get set back to whatever the default governor in that file is
Nice job Mr.Freeze. A lot of noobs are going to appreciate this haha.
clark44 said:
Nice job Mr.Freeze. A lot of noobs are going to appreciate this haha.
Click to expand...
Click to collapse
I'm not ashamed to raise my hand, thanks Freeza.
I'm going to sound like a broken record, but I am okay with that. You never disappoint. Thanks.
Thank you sir
Sent from my SPH-L710 using xda app-developers app
I flashed the zip & now it is stuck on the android animation. The screen will crt off & when i press the power button the screen comes back on but its still stuck.
I''l wipe the caches & see if that fixes it
CNDow said:
I flashed the zip & now it is stuck on the android animation. The screen will crt off & when i press the power button the screen comes back on but its still stuck.
I''l wipe the caches & see if that fixes it
Click to expand...
Click to collapse
Your bootanimation.zip probably wasn't made properly. You will need to delete it from ADB. Once Android is booted you will have to modify your bootanimation.zip's desc.txt file
freeza said:
Your bootanimation.zip probably wasn't made properly. You will need to delete it from ADB. Once Android is booted you will have to modify your bootanimation.zip's desc.txt file
Click to expand...
Click to collapse
I just flashed the above zip
CNDow said:
I just flashed the above zip
Click to expand...
Click to collapse
What I mean is.......well first, what animation are you seeing upon boot?
freeza said:
What I mean is.......well first, what animation are you seeing upon boot?
Click to expand...
Click to collapse
the small case android with the backward "a"
I've reflashed Phantom 1.6 & all is good now
CNDow said:
the small case android with the backward "a"
I've reflashed Phantom 1.6 & all is good now
Click to expand...
Click to collapse
Yeah, figured that was the problem. That boot animation isn't a standard android one, and was probably made by someone else. But at least you got it working
Hi I have a question before I spend my next few days off muddling around with kernel compilation. Do you know if it is possible to just compile inn support for the conservative governor module?
Sent from my SPH-L710 using Tapatalk 2
Very nice; confirmed some of the things I was looking into.
can we get this kernel upgraded to the latest OTA?
I'm still learning how the Galaxy phones work, i'm coming from years of HTC Evos...
but I believe i'm on LG8 and this kernel seems to be LG2...want custom animations without the battery hit!

[SCRIPT][INIT.D]Configurable shell script pack

Just posting this here if anyone wants it.
Basicly its a configurable, multifunction script pack thats designed for user-level customizability
With a WIDE variety of options & some perks to other packs, like advanced permissions scanning,
An 'improved' ZipAlign section, Fast load times, no duplicate sections lmfao
For advanced permissions, it can take the directory you specify, record owner, group, & permissions
Of every file in it, & record it to database, & execute whenever you need, whether that be on boot, from console
Or whatever (& yes, it detects links & subdirectories) Its even capable of full-recursive scanning
Zipalign now adds filesize to db, simply put, now even if the apk exists in db, it will cross check the size & go from there
(Why just check a name?)
By default, script starts with 4 configurations when installed, 2 user, 2 script based
Script based hold configurations for forcing updated system apks into system & fixing data
& setting priorities, user configurations hold the majority of user options, & the secondary config is capable
Of enabling the 3 added userlevel configs, (net settings, vm settings, & CPU)
These 3 are not enabled by default as some of the settings contained can cause issues & is completely
Up to the user.
To make it easier editing the configurations, once installed, if you have a program like BTEP, simply open it & type
'sf config' in root mode (su first), this will start the Configuration utility which is basicly the menuscript i posted about a week ago
With some work done to finish it lol xD
The menu is fully customizable in every aspect straight from configuration
By default scripts install to '/system/SuperFly' but the path is fully customizable aswell
Configurations are (default) '/system/SuperFly/SuperFly.prop' (main configuration)
'/data/SuperFly/SuperCFG.cfg' (secondary, all other user configs will spawn here when created)
All script based configs (by default) get processed from '{INSTALLPATH}/Config'
Scripts should work on almost any device out of the box, but is locked to GSII
Remaking is as simple as editing one script (all modified links are stored in one override)
Script is multi-core compatible (1-4 cores)
**NOTES**
- Script will remove ALL current init.d scripts (most will be moved to '/data/local/userinit.d' & will be executed AFTER load to
Avoid conflicts)
- This WILL replace bash binary when installed (script utilizes native functions not included in standard ARM compiled
Bash)
- Installer is >7.5mb, as it includes all needed binaries/sources needed to initialize propely, if this isnt ok with you,
Dont install.
- Script features an ARM compiled p7zip binary (7za equivelant) aswell as 2 shell scripts to make it easier processing archives via commandline
The binaries main purpose is backup/restore functionality & is not technichly required to install, but you WILL lose functionality if removed.
- Script started as a rom specific script, & slowly got adapted for multi-base/multi-device, & has made its home on 4 different devices
Meaning, you might see options that dont really pertain to your device or have Zero effect, this WONT be fixed, i have no plans
For a device-specific build, as i currently run it on 3 devices. & it has zero effect on load.
- i make no garuntee that this will not harm your device, there are some advanced options with powerful effects
& the worlds full of stupid people, alls i can say, is nandroid first.
- Most importantly, feel free to use the pack in any way you wish, whether it be disect it, perfect it, wreck it
Use it, add to it, use it in your project, etc. Just make sure you remember where it came from
& if you have suggestions/tweaks/concerns/etc, just send me a pm, im not on all the time, but usually once a day or so.
- if you want an override for another device, just request, i only got about 4-5 done but their easy, & pretty much all
Similar.
- Script does NOT use standard logging, for the specific reason, it allows disabling the logger, so on errors, would be kind
Of difficult to pinpoint the issue, instead, we just echo the time & specific section to file.
**INFO**
This script started as a pack release back in 2k10 & was scrapped when i just had 2 much on my plate xD
I decided to pick it back up again about 6-8mths ago as a side project & since then is only worked on on the go, meaning
I only work on it when im bored & either on lunch, or omw home xD & has yet to see a PC (only developed using
DroidEdit pro & BTEP (better terminal emu pro)), & i dont dedicate much time to this.
**The script is NOT perfect, & with my lack of time, some parts are not a priority,
Eg:
Descriptions for secondary configs in menu, updating readme (its old as hell), Writing a proper changelog, etc.
il probably add more info later, my battery is almost dead n still got about 30min til i get home xD lmfao
Any questions just ask
To install: download zip
Copy to /sdcard
Flash in recovery
Reboot & configure before next boot
Script has been proven to work on CM9/10, Tw, & sense based roms
You will notice one weird file in root of zip, dont recommend deleting..
Script is capable of reinstalling/updating itself without going to recovery, but needs that configuration to do so,
On first install it means absolutely nothing, basicly just gives user another option, but requires full install to do so.
Download here:
http://db.tt/nQtZwdI
& install via recovery
**edit
Added zip to attachments, for ppl who couldnt access dropbox

[REVIEW] V6 Supercharger on Galaxy Y

Hi all,
I'd like to share my experience with V6 SuperCharger script by zeppelinrox [V6U9RC13] on my Galaxy Y
For those who wonder what V6 SuperCharger is I'd say it's a very long shell script (about 11.000 lines of code) that aims to optimize some system parameters and system/apps files in order to boost the phone performance.
Official thread of V6 SuperCharger is here along with the official downloads:
http://forum.xda-developers.com/showthread.php?t=991276
To execute the V6 SuperCharger main script any terminal emulator is suitable, but it's advised to install and use SManager app, available at Google Play store.
So, here is how my story begin.
I ran the script but the SManager paired with the Galaxy Y small screen, doesn't make it quick to go through all the Driver Options without having to tediously use the super small full keyboard, and having hard time to hit the proper keys.
I'm used to use the numeric pad, bigger buttons, but unfortunately on SManager numeric pad only can input number, not letters, and V6 SuperCharger doesn't usually accept numbers as answers to the many options.
So I decided to make a "quick" modification to the script on-the-fly, seeking all the 11 thousands lines for the options answers like y, Y, n, N, a, A etc... and adding a 1, 2, 3,4 at convenience.
After that, going through the Driver Options has been as nice as a breeze, using only the numeric pad to answer to all the options
Good right? no, not much...
Somehow the script didn't work at all... the Driver options were set but the boot script were not made, and all the main menu options were actually inactive....
Well... I thought it was a problem with my own phone configuration but I finally found out, after many hours of debugging, that zeppelinrox had hidden in the code a check that automatically and silently disable almost all the script functions if the script is been modified in a way that there are more o less lines than the original script.
Ok, found the problem, fixed, now everything run properly...
The scripts makes and installs its boot scripts and the tweaks are applied at everyboot... fine!
I then tried the zipalign function.
Zipaligning the apps packages (apk files) provide quicker access to their contents by system and apps... sounds good... isn't it?
Well... the 1st run of the Zipaligning wasn't a good one.... the script found something like 8 thousands apk files to check for zip alignment... and that was very weird as I don't have more than 200 apk in my phone.
Plus the process to check and eventually zipalign each apk was dramatically slow... something like 8-10 seconds per package (that is about 20 hours needed to process 8000 apk ).
Something was wrong somewhere... and I found it!
In the script the command used to find all the APKs doesn't work properly on the Galaxy Y stock rom... problably because of some simlinks that makes like a loop between folders.
Anyway the problem has been recognized too by another developer, Black Dog http://forum.xda-developers.com/showthread.php?p=42884332 , who actually fixed it in upd9 RC12, but the latest V6 script, upd9 RC13, from zeppelinrox, unfortunately didn't kept the "fix"... so, after I stumble on the issue, I had to find the source of the problem and make the fix myself
I just actually found the command used by Black Dog script to seek the APK and copied to the latest RC13 script by zeppelinrox.
Fine... let's try the Zipaligning again...
Ahh... this time the script found 187 apk to check for zipalignment... sounds nice.
But hey!... still processing each apk takes many seconds... and seems that ALL the apks aren't zipaligned... is that possibile?
No, something was wrong again.
And more I was sure it was wrong because repeating the zipalignment didn't report any of the previous zipaligned apk as already aligned, but instead, they were processed and zipaligned again
I then tried the zipalign command manually on terminal to check it's behaviour on any of the supposed not aligned apk.
Weird enough... the zipalign executable, that I installed with the SuperCharger_Starter_Kit_RC12.zip provided by zeppelinrox in it's official download page http://forum.xda-developers.com/showpost.php?p=18703418&postcount=5021 , when executed it simply didn't do anything... just few seconds of "nothing" and then... nothing!
No output of any kind in the terminal screen.
I then got a zipalign executable from another package (Adrenaline Engine, or Universal v.3.1... very same executable there) and copied to my phone and tried and this time... yeah... that's it! I got output!
Code:
# zipalign
Zip alignment utility
Usage: zipalign [-f] [-v] <align> infile.zip outfile.zip
zipalign -c [-v] <align> infile.zip
#
Tried again the so called "Wheel Alignment" (the zipalign task) and this time, finally, everything worked as supposed.
Found 187 APKs, 10 were not aligned and so they been aligned.
Repeated the process... 187 APKs found, 0 not aligned
I guess that the zipalign executable provided in SuperCharger_Starter_Kit_RC12.zip is been compiled to run on KitKat 4.4 and somehow it broken the backward compatibility with earlier version of Android like the one running on Galaxy Y (GingerBread 2.3.6).
Hope that sharing my own experience in here will help someone :angel:
Hi, so it is better to use RC12Fix over RC13 because of the zipalign function? Should I downgrade from 13 to 12Fix?
Fix align, Wheel align, and Fix emmisions on RC13 always has error on my galaxy y. But I am 100% supercharge.
If Im staying at Rc13, I have to manually zipalign my apks? and fix permission on cwm right? For it to work..
When I try the zipalign command. Nothing happens.
#zipalign
(wait for 5 seconds then goes back nothing)
#
Hi Klmiciano,
yes, the Wheel alignment (ZipAlin APKs), Fix emissions (Fix Force Close Errors) and Fix Alignment (which is just the execution in sequence of both Wheel alignment and Fix emissions) options are not involved with the system parameters optimization done by the script to achieve the "supercharge", so no wonder you still can get 100% supercharged.
Actually the "Fix emissions" option is just a set of commands that automatically scan all the system and try to fix any files and folder permissions (write, read, modify permissions) inconsistency.
Fixing of permission is an utility task provided also by other common apps, like, for example, "Nandroid Manager", which in my opinion everyone should have it installed along with "Online Nandroid Backup", obviously for backup purpose.
Fixing permissions (called Fix Emission in Supercharge) isn't really a task that has to be done on a regular schedule; it is a "fix", so it's meant to be executed when there's a problem (an app that keeps Force Closeing, after an update, or backup restore).
ZipAligning too isn't much important. Almost all apps available are already Zipaligned and even if you might have one app not aligned among one hundreds Apps installed, that won't problably affect your phone performances in a way that can be recognized also because is only the App that comes with a "not aligned" APK file that is affected, not the whole system.
Anyway, if you like to have the Wheel Alignment to run properly you need to replace the zipalign executable (which is located in /system/xbin/zipalign ); using RC12Fix won't work either because the issue is caused by the Zipalign executable version installed with the SuperCharger_Starter_Kit_RC12.zip provided by zeppelinrox in it's official download page.
It's not a script issue, it's a zipalign executable issue.
So, if you care to have Wheel Alignment to run properly you need to replace the /system/xbin/zipalign with zipalign executable from another package (Adrenaline Engine, or Universal v.3.1... very same executable there).

Categories

Resources