Im not responsible for any behavior like the Note 7, if its explodes while applying the tweak its not my fault!
This tweak will edit a simple file so that the minimum cores get decreased and we wont get unnecessary battery drain
ROOT ONLY!
Manual Guide:
1. Make sure your device has root acces,
2. Install Root Browser from the playstore.
3. Open the app and navigate to > sys/devices/system/cpu/cpu0/core_ctl
4. Search for the file min_cpus make sure the permissions are set to rw-r-r (it showsup under the file name).
5. Open min_cpus and change the number '4' to '0', This will say to the CPU that a minimal of 1 cpu core is needed to be active instead of 4 all the time.
6. Save the file and navigate back to > sys/devices/system/cpu/cpu0/core_ctl and change the permissions back to r-r-r.
7. Your device will still run 'smooth' and safe some battery! You have to apply this every single reboot or need to make a init.d script and make it run every single reboot..
You can also use the provided script in the "Attached Files" section. If you use a script runner you dont have to follow the Manual guide everytime you boot.
Share what you think, any feedback is appreciated!
Thanks, so i did the steps 1 to 6, and the contents of that folder disappear, is that normal? I restart the phone and the files appear and i did the same steps the files disappear again.
danino22000 said:
Thanks, so i did the steps 1 to 6, and the contents of that folder disappear, is that normal? I restart the phone and the files appear and i did the same steps the files disappear again.
Click to expand...
Click to collapse
What content? Im not sure what you mean..
Demian3112 said:
What content? Im not sure what you mean..
Click to expand...
Click to collapse
The files inside core_ctl folder disappear.
danino22000 said:
The files inside core_ctl folder disappear.
Click to expand...
Click to collapse
It shouldnt what device do you have Kiw l21? MM or LP? Open kernel adiutor or something else and see how the cores behave make sure battery settings is on Performance. Not much what i can do other wise..
Kiw l24 MM last update from honor UK support page. For example in kernel adiutor if i want to change the min frequency to 200mhz or any other, the settings won't apply, it return to the original frequency after few secs.
SOT ?? @Demian3112
danino22000 said:
Kiw l24 MM last update from honor UK support page. For example in kernel adiutor if i want to change the min frequency to 200mhz or any other, the settings won't apply, it return to the original frequency after few secs.
Click to expand...
Click to collapse
You cant set big cluster. For small cluster go to sys/devices/system/cpu/cpu4/cpufreq/ and look for min freq set permissions to rw-r-r open it change value 800000 to 200000 save it change permissions back to r-r-r
kartrikpal said:
SOT ?? @Demian3112
Click to expand...
Click to collapse
Havent measured. I safe about 3-8% in an hour doing the same stuff youtube, google, whatsapp and facebook etc. It really depends on what you are doing.
Little cluster runs idle 800mhz with the tweak 200mhz
Big cluster has 8 cores active all the time, with this tweak 0 in idle/simple tasks. It only enables when needed
Just try it out yourself. If you dont like it remove kernal adiutor restart device and tweaks are undone
doesn't seem like little clusters settings are sticking in Kernel aduiter. When changes to 200mhz, it automatically get changed back to 800mhz min
halfacannoli said:
doesn't seem like little clusters settings are sticking in Kernel aduiter. When changes to 200mhz, it automatically get changed back to 800mhz min
Click to expand...
Click to collapse
Make site battery manager is on performance.. i dont Have this issue and i Just upgrades to B330
Demian3112 said:
Make site battery manager is on performance.. i dont Have this issue and i Just upgrades to B330
Click to expand...
Click to collapse
Thanks for the fast response. However, that did not work for me initially. I was able to resolve the issue and it looks like I was able to set the frequency for the big cores as well. As a preface, I have the L24 and updated to MM EMUI 4 through the zip that was found on the hihonor UK website. After the update I did a factory reset. I am just letting you know because some of things you described didn't work while other things did.
What did work was setting the Mincpu to 0, so that when idle only 1 core is running. This worked great, so thanks for that! However, in Kernel Aduiter, I had to set the governor to Interactive for it to use the other Big cores when I am using the phone. If I set it to ondemand, the other 3 big cores does not activate, only core 1 is used along with the 4 little cores.
What did not work per your instructions were setting the min frequencies for the little cores. Yes, I changed the Power option to performance, but every time I exited the kernel auditer, it would revert back to a min frequency of 800mhz.
After tinkering with the phone for a couple of days, I was able to set the min frequency to 200mhz for BOTH big cores and little cores and it seems that both settings are sticking. Throughout the 2 days, I did many changes so I have yet to narrow it down to what changes I did that made both changes stick. When I have some time I will try to reproduce the results and post on how I got it to work. I would also like to give it a few days to make sure that the changes stick.
---------- Post added at 10:22 PM ---------- Previous post was at 10:13 PM ----------
danino22000 said:
The files inside core_ctl folder disappear.
Click to expand...
Click to collapse
it disappears because permission was changed to r-r-r which is read only. change permission to include w (write) and execute, and you'll see it again
halfacannoli said:
doesn't seem like little clusters settings are sticking in Kernel aduiter. When changes to 200mhz, it automatically get changed back to 800mhz min
Click to expand...
Click to collapse
Got to battery manager and set it to performance.
Can someone make an script to keep this installed upon boot? Thanks.
Robertleehadley said:
Can someone make an script to keep this installed upon boot? Thanks.
Click to expand...
Click to collapse
If i have time i will do it!
Nice tweak on changing 4 to 0 at min_cpus but Root Browser (w/Root and Grant) refused to save it so i used X-plore by Michal Baclk Version: 3.86.02 Build Date: 7/16/16 and it took perfectly!
Thanks for the other kernel adjustments too.
anyone ever make that bat file?
And has anyone tried setting CPU4 the same way as suggested for CPU0? By default, it is set to 1.
I'm also a little concerned I may not have understood the directions properly...
From what I read, it looks like you are ignoring the large cores and only modifying the little ones? Am I understanding that correctly?
And why can't we just tick the 'use this on boot' in kernel aduitor? Why does it need to be reset upon every boot? I mean, we are doing these steps with ROOT access, are we not? Shouldn't the file stay modified? I am quite confused... but very eager to get more battery life out of this... was shocked to see that all 8 cores are always on... and my device NEVER hit deep sleep or any of the slower frequencies all day!
No wonder I can drop to 85% within an hour. Sheesh... this blows.
Ok, I played with it some more...
Looks like Root access has nothing to do with modifying that file. Yes, you need root to modify it... but it never stays changed after a reboot. This tells me that this area must be a hardware toggle area. Meaning, there's some place with the default value stored, and is loaded from there to this location during boot.
I did my best to follow all these steps.
upon reboot, every single thing I put in is lost. Kernel Aduitor seems to lose my settings even if I check 'apply on boot'.
furthermore, all 8 cores are still on.
True, I *do* now see that all the big cores aren't *always* on... but it isn't very different from before doing these steps (at least now I can see a core or 2 shutoff for all of about a tenth of a second)
The little cores... they looked like they took the settings the best... until I closed Kernel Aduitor and reopened it... all the settings reverted.
Yep, waiting with anticipation for some guru who is best at putting something together to set all those freq.'s and such that will apply all of them and keep settings.
Very useful battery mod if it can be made to apply and hold up after restarts.
Yes the hotplug drivers and govenors change it back this is something within the kernal thst you cant edit without needing to flash another rom.. Im on CM13 and batttery has improved quite a bit.. Just give it a try its my daily driver now and its smooth as hell..
Demian3112 said:
Yes the hotplug drivers and govenors change it back this is something within the kernal thst you cant edit without needing to flash another rom.. Im on CM13 and batttery has improved quite a bit.. Just give it a try its my daily driver now and its smooth as hell..
Click to expand...
Click to collapse
Without or before flashing a better ROM, did this item ever get worked out whether by another way to make settings stick or a Huawei small update? Thanks for any advice.
Sent from my MT2L03 using Tapatalk
Related
Run these commands as "su".
Code:
echo 528000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 528000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
You can check the cpu speed by running the command below before and after.
Code:
cat /proc/cpuinfo
I have tested this on 5.0.2H and works flawlessly.
These settings will be lost after reboot.
On JF builds, you can make this run after reboot by including the two lines in "init.rc".
I do not know how to accomplish this in Haykuro's builds.
I am seeing much faster response times, but beware that the battery life will be reduced as the processor keeps running at 528 MHz even when the phone is in sleep mode.
Just wanted to add the reasoning.
If you type
Code:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
you will see a list of available profiles that can be used by the kernel to control the CPU.
By default, "ondemand" profile is used.
The "scaling_max_freq" and "scaling_min_freq" define the maximum and minimum frequencies the CPU can run at.
What gets used is governed by the profile in use.
"scaling_cur_freq" gives you the current CPU frequency.
The commands given just change these maximum and minimum frequencies.
Hope this clears some questions on how this works.
Update:
I tested by setting minimum to 64000, but the CPU did not clock below 122880 even in standby.
Update:
For now this will only work on Haykuro's builds.
This will NOT work on JF's builds as the system files are different.
good catch! I've been looking into this a lot myself but hadn't found that device. Props.
So, what daring person is gonna try 530000? lol
buttkicker said:
Run these commands as "su".
Code:
echo 528000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 528000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
You can check the cpu speed by running the command below before and after.
Code:
cat /proc/cpuinfo
I have tested this on 5.0.2H and works flawlessly.
These settings will be lost after reboot.
On JF builds, you can make this run after reboot by including the two lines in "init.rc".
I do not know how to accomplish this in Haykuro's builds.
I am seeing much faster response times, but beware that the battery life will be reduced as the processor keeps running at 528 MHz even when the phone is in sleep mode.
Have fun.
Click to expand...
Click to collapse
Im on jf mod apps to sd card, and whenever I try this is says cannot create directory nonexistent
Joeriginal said:
Im on jf mod apps to sd card, and whenever I try this is says cannot create directory nonexistent
Click to expand...
Click to collapse
are you running it as root? I accidentally forgot that it doesn't start you out as superuser and tried to do it and got that exact error. Make sure you su before trying those lines.
There is no point in keeping it at 528Mhz all the time.
Setting the max scaling frequency to 528Mhz would be enough. The device would clock at it only when needed.
[email protected] said:
are you running it as root? I accidentally forgot that it doesn't start you out as superuser and tried to do it and got that exact error. Make sure you su before trying those lines.
Click to expand...
Click to collapse
Yeah, can you show me exactly what you did.
where after you enter
Code:
cat /proc/cpuinfo
does the cpu speed show?
AbsoluteDesignz said:
where after you enter
Code:
cat /proc/cpuinfo
does the cpu speed show?
Click to expand...
Click to collapse
I tried it on 5.01G and I don't see anything showing up in /proc/cpuinfo. Its the same before and after.
If I do a
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
528000
It does show 528000, but I'm not noticing too big if any of a performance improvement, so I don't think it works on the G versions.
hmmm, well i can't really tell if its working, but it doesnt seem to be doing any harm
someone let me know when they go above 528000
it dont work. maybe something to do with app and data on the sd.
MoridinBG said:
There is no point in keeping it at 528Mhz all the time.
Setting the max scaling frequency to 528Mhz would be enough. The device would clock at it only when needed.
Click to expand...
Click to collapse
This. Also, cpuinfo_min_freq lists the cpu as capable of as low as 19.2 mhz, while scaling has the min frequency at 245 mhz. One could presumably prolong battery life on idle by reducing min frequency further, to e.g. 128mhz
Code:
echo 128000 > scaling_min_freq
I'm running at 128mhz-528mhz at the moment, not sure if it makes any significant difference though.
im currently using the 5.0.2h build by haykuro everything runs great the only issue im having is getting it to run on startup i have added it to the /init.rc using adb but even after doing that on reboot it goes back to the default frequency. anyone else having this issue?
AbsoluteDesignz said:
where after you enter
Code:
cat /proc/cpuinfo
does the cpu speed show?
Click to expand...
Click to collapse
I *think* it is the BogoMIPS part. When I just ran it (Haykuro 5.0.2H), I got 247.6 BogoMIPS. Setting JUST the max setting to 528, it remained at 247.6. Setting both the minimum and maximum put it at 527.15.
Performance? I don't have any apps installed to test this. But I will say that it does *seem* faster on the home screen. There is no delay on anything. It's snappy as all hell. Placebo? Maybe.
I'll play around with the init.rc when I get home tonight.
*More*
Just did a test. I dropped my minimum to 128. It showed 127.79 - I then started an MP3 song in the background and checked it (while it was playing) and it said 527.15. I paused the song and it went back to 127.79.
If BogoMIPS is what we're supposed to be looking at, it is working as far as scaling. Need a benchmark program of some sort to really test. I wonder how low we could go to save battery life...
Another way to test (without a benchmark app) is to lower it to 64 min and 64 max. See if the phone locks / is slow.
Ok it does work if I set min and max to 528 in 5.01G.
I guess if max is only set, it will just throttle up when needed.
there's definitely a performance improvement when browsing javascript heavy sites.
KyleK29 said:
I *think* it is the BogoMIPS part. When I just ran it (Haykuro 5.0.2H), I got 247.6 BogoMIPS. Setting JUST the max setting to 528, it remained at 247.6. Setting both the minimum and maximum put it at 527.15.
Performance? I don't have any apps installed to test this. But I will say that it does *seem* faster on the home screen. There is no delay on anything. It's snappy as all hell. Placebo? Maybe.
I'll play around with the init.rc when I get home tonight.
*More*
Just did a test. I dropped my minimum to 128. It showed 127.79 - I then started an MP3 song in the background and checked it (while it was playing) and it said 527.15. I paused the song and it went back to 127.79.
If BogoMIPS is what we're supposed to be looking at, it is working as far as scaling. Need a benchmark program of some sort to really test. I wonder how low we could go to save battery life...
Another way to test (without a benchmark app) is to lower it to 64 min and 64 max. See if the phone locks / is slow.
Click to expand...
Click to collapse
I really hope someone is testing the 128-min/528+max theory to see if it improves battery life. I'm frequently away from any kind of charger for 8+ hours with my phone idle for 90% of that, so if it did, it would be a godsend.
This works for me. If you want an easier way, instally my app that does exactly this. Its called openoverclocker and is on the market. Thanks for the idea buttkicker!
Powermaniac said:
I don't notice any difference. Are you guys sure BogoMips is supposed to really tell any kind of Proc speed?
http://en.wikipedia.org/wiki/BogoMips
Click to expand...
Click to collapse
Yes the BogoMips value is what you want to look out for. Since the haykuro build has dynamic scaling, it will adjust accordingly. =]
I know this method works.
You can download "Neocore" from Market and test it.
Neocore is an OpenGL graphics performance benchmark tool.
I'm posting the before and after screenshots for reference.
The benchmark was run without audio.
The CPU was overclocked to the following setting.
MAX = 528000
MIN = 128000
[email protected] said:
This works for me. If you want an easier way, instally my app that does exactly this. Its called openoverclocker and is on the market. Thanks for the idea buttkicker!
Click to expand...
Click to collapse
You are welcome and thanks for creating an app.
i tested neocore and my fps was 26.4 =]
So I was investigating loadable kernel modules on the Droid 2 this weekend. One of the modules I tried loading was the smartass governor module and to my surprise it worked. From what I can tell it appears to be working with no problems.
The module itself is from a Milestone Cyanogen ROM. Given how close the Milestone is to the Droid 1 and how close the Droid 1 is to the Droid 2 it seemed like a safe try to see if it would load.
Requirements:
You must be rooted. This really should go without saying but I'm trying to cover all the bases here.
You must have busybox installed.
You must be able to boot into clockwork recovery.
I've tried this on Fission ROM but since we can't change the kernel on the Droid 2 this will probably work on any other Droid 2 ROM. D2G users, YMMV.
NOTICE: By installing this you assume any and all risk for what might happen to your phone. I am not responsible if this mod causes your phone to stop working, catch fire, steal your significant other, and/or hijack a plane. Basically I haven't had any issues but that is not a guarantee that you won't have any issues.
Attached is the update.zip. Boot into clockwork recovery and choose this zip to install. Once you reboot you'll be using the smartass governor.
So what has this done for your battery life?
Anecdotally I believe my battery life has improved. With the ondemand governor and data and wifi off I've seen my battery drop 10% in a night. With the smartass governor under the same conditions my battery appears to be the same. Now given that Motorola phones report the battery in just 10% increments my totally non-scientific analysis might end up being nothing.
Really you'd have to try it yourself and determine if things are better. From what I've read online the smartass governor is better at conserving battery than ondemand but it really depends on how you use your phone.
Download circle battery widget from the market. Its free and somehow it reports 1% increments. I have been using it for a while now and it seems to be spot on.
Sent from my DROID2 using Tapatalk
It just guesses
Well, there is a way to get an accurate battery reading. Reading /sys/devices/platform/cpcap_battery/power_supply/battery/charge_counter will give you the battery level in 1% increments. However, the system reads from /sys/devices/platform/cpcap_battery/power_supply/battery/capacity which provides the bounded 10% increments. Some widgets, Minimalistic Text for example, will read from charge_counter on Moto devices.
Ideally a kernel module could be written that changes what is written out to capacity so the entire system could take advantage of 1% battery increments. If I had the time I would take a crack at it, but it's been awhile since I've done any C coding.
Looks interesting. I'll wait until a little more feedback is given before I try it. How is the performance after the install?
I'm guessing you have to sbf to go back?
tbaker077 said:
How is the performance after the install?
Click to expand...
Click to collapse
No different than using the ondemand governor. Smartass takes a clever approach to CPU scaling: instead of polling CPU usage like ondemand it detects when the phone comes out of sleep and sets a timer to go off in two ticks. Once that timer goes off it looks at CPU usage and scales if needed. What does all this mean? Well, if you turn on your phone to quickly check the time and then turn it back off the smartass governor will never ramp up the clockspeed. So far after a few days of light usage I've been quite pleased.
rtfield said:
I'm guessing you have to sbf to go back?
Click to expand...
Click to collapse
Nope. If you want to revert just chmod 644 /etc/startup/smartass.sh and reboot.
Sweet
Thanks
I wonder if they could modify this to work with the new gingerbread kernel.
I know when I had an HTC Eris, Conap used a smartass gov on his kernel and it was awesome.
So I took a shot and flashed the smartass governor a second ago on my GB d2, and seems to be working just fine. I'll report later with battery stats and anything else i notice.
Spitemare said:
Well, there is a way to get an accurate battery reading. Reading /sys/devices/platform/cpcap_battery/power_supply/battery/charge_counter will give you the battery level in 1% increments. However, the system reads from /sys/devices/platform/cpcap_battery/power_supply/battery/capacity which provides the bounded 10% increments. Some widgets, Minimalistic Text for example, will read from charge_counter on Moto devices.
Ideally a kernel module could be written that changes what is written out to capacity so the entire system could take advantage of 1% battery increments. If I had the time I would take a crack at it, but it's been awhile since I've done any C coding.
Click to expand...
Click to collapse
I took a look at this and found some stuff that might be encouraging.
Here is the source for the battery driver. Line 397 reads as such:
Code:
val->intval = sply->batt_state.capacity;
If line 397 is changed to this
Code:
val->intval = sply->batt_state.batt_capacity_one;
then battery level should be reported in 1% increments. I've posted the updated driver code here.
The problem is the gorram encrypted bootloader. It's not easily possible to swap a built-in hardware driver with a compiled module. If someone with more Linux kernel experience than I wants to take a crack at it then by all means...
Do we really need busybox to uses this?
tbaker077 said:
Do we really need busybox to uses this?
Click to expand...
Click to collapse
Busybox's insmod is a little more robust then the insmod that's on the Droid 2. You can try editing the file /etc/startup/smartass.sh to remove the references to busybox and see if it works; I just stuck with busybox since that was what worked for me when building this thing. I'd try it myself but I can't at the moment.
I'm running an experiment now to see how long this governor will take me. I charged my phone to 100% last night (really 100% and not just to when the charging light went off) and turned it off. I turned it on this morning and will let the phone run until 5% battery is left. At that time I'll take a screenshot showing how long the system has been up. A few guidelines:
ROM is Fission 2.6.1 which of course means Froyo. I've been thinking about switching to the leaked Gingerbread ROM but I've decided to wait a little longer
Data must remain on. I usually turn data off when I'm not using it but to get results closer to worst case I'll keep data on. The only time it will go off is when I turn on Wi-Fi at home.
No turning off the phone at any time nor plugging it in. I guess I'm going to be using Dropbox a lot during this to transfer files but I don't want to reset the time since plugged in at all.
No overclocking, underclocking, or undervolting. Clockspeed and voltage are stock.
Usage will be light to moderate. I tend to use my phones for calls, chats, and web browsing. I'll throw in some YouTube videos and maybe download Angry Birds.
No apps that try to maximize battery life. That means no SetCPU, Tasker, Superpower, etc. This is supposed to be about how well the smartass governor does for battery life.
Again, once I reach 5% I'll try to take a screenshot of how long the phone went without being recharged.
Spitemare said:
I took a look at this and found some stuff that might be encouraging.
The problem is the gorram encrypted bootloader. It's not easily possible to swap a built-in hardware driver with a compiled module. If someone with more Linux kernel experience than I wants to take a crack at it then by all means...
Click to expand...
Click to collapse
Is this difficult to swap in simply because of the nature of what we'd be switching out, or does the eFuse chip and whatever other protection play a role here? I would try compiling your modified code and putting it on my device, except I'm afraid there will be some protective measure or something like that would brick my phone if I try. That and the fact that I have no idea what libraries and stuff I would compile this against.
So unfortunately my phone rebooted halfway into the experiment so there is no screenshot for you all. I will say my phone made it just under 36 hours (6:30 Friday to 18:15 Saturday) on this governor. With some moderate internet browsing and way too many YouTube videos I'm quite happy with the outcome using this governor.
ZaneKaminski said:
Is this difficult to swap in simply because of the nature of what we'd be switching out, or does the eFuse chip and whatever other protection play a role here? I would try compiling your modified code and putting it on my device, except I'm afraid there will be some protective measure or something like that would brick my phone if I try. That and the fact that I have no idea what libraries and stuff I would compile this against.
Click to expand...
Click to collapse
I've already compiled the modified module and tried to load it. The phone just prevents it from loading since the hardware interrupts are already bound to the compiled in driver.
eFuse doesn't prevent new kernel modules from being loaded. Since a kernel module can alter almost anything not being able to change the kernel isn't too much of a problem. What a kernel module can't really do, however, is change device drivers. There's not a really clean way to unload a device driver module since it binds to hardware interrupts and you can't really unbind that once the phone is up and running. If you want to replace a device driver with an alternate module you have to load the module before the original module is loaded sometime during the boot process. With compiled in device drivers though that's not really possible.
Basically we're in a situation where we need to load an alternate version of the device driver in module form before the compiled in device driver binds to the hardware interrupts. That would take some sort of ramdisk containing the altered driver module and we can't do that with eFuse.
The other option would be to write a module that hijacks calls to the particular function in the device driver and replaces that call with an alternative. That's got loads of problems though and is potentially dangerous. It would take someone with a lot more kernel experience than I have to write such a thing.
I installed this and didn't see any improvement in battery life until I ran
Code:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
It said it was still ondemand. I checked scaling_available_governors and smartass was not in there, so I went ahead and installed the zip again... still doesn't work.
I went ahead and took a look at /etc/startup/smartass.sh. The permissions were right, so I ran /etc/startup/smartass.sh. I then checked /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor and it was set to smartass.
Can anyone shed some light on why this script is not running on boot? I'm running the leaked Motorola Gingerbread ROM if that makes a difference.
Spitemare said:
The other option would be to write a module that hijacks calls to the particular function in the device driver and replaces that call with an alternative. That's got loads of problems though and is potentially dangerous. It would take someone with a lot more kernel experience than I have to write such a thing.
Click to expand...
Click to collapse
I see. I'm guessing the way to hijack said calls would be through directly modifying memory, right? That definitely is not something that sounds easy to do.
I tried running smartass.sh through an init.d script... still nothing. I actually had to make the /etc/init.d/ directory, so I figured that init.d scripts aren't supported on the Motorola Gingerbread rom... strange. I'll look for somewhere else where I can run stuff on startup.
Look for /etc/install_recovery.sh. That file is run by /init.rc if it exists. It's how the overclock stuff gets loaded on Fission. What the update.zip does is back up that file if it exists and then append /etc/startup/smartass.sh to the end. Just add the following to the end of /etc/install_recovery.sh if the update.zip doesn't add it:
Code:
/etc/startup/smartass.sh
Do voltage changes take effect immediately? I can't tell if adjusting the slider actually does annything and I'm trying to test how low I can go.
berfles said:
Do voltage changes take effect immediately? I can't tell if adjusting the slider actually does annything and I'm trying to test how low I can go.
Click to expand...
Click to collapse
When you hit apply the voltage will be saved right away. I'm using System tuner in the pas but now using Android tuner but same principle.
I don't see an apply button anywhere, I've just been clicking "Save" and overwriting my last save each time. Is there an app that shows what voltage it's currently running at, like it shows the frequency it's running?
Trickster Mod
Trickster does the same thing...slightly easier to use.
If you want the voltages to persist after a reboot in ST make sure you go to boot settings and enable CPU settings as an init.d script.
This guide is meant to help those who have rooted their phones and are now finding it slow, laggy, messy, etc.
I've been seeing a lot of posts repeating common problems that have been fixed by other members of the forums, so I'll compile a list of the most common bugs and fixes for them (the ones that can be fixed) in this guide so people can refer to it instead of swamping dev threads with the same questions over and over again. The quicker we can get through the common problems, the quicker we can get to fixing the ones we don't have solutions to so far.
Disclaimer: After installing the ENG bootloader, you are going to experience less battery life. There are things we can do to improve this, but nothing I have discovered so far will get you back to stock battery life... except re-installing stock ROM. Also standard disclaimer that all of the fixes here are done at your own risk. I am not responsible for any of these fixes breaking your phone.
Bug #1: Phone is laggy after rooting the phone/Battery is down the tank.
Fix: The phone is (partially) lagging because the ENG bootloader automatically sets the CPU governor to "Performance." While this is supposed to lock the CPU frequency at the maximum values, it does cause a lot of heat and possibly throttling. Additionally, the max core clocks are set to 1.593Ghz instead of their actual maximums. Not every CPU Tuner will allow you to set the big cores separately, so look around for one that does if you don't want to use Kernel Toolkit.
First, use Flashfire to flash one of two zips provided by psouza4 on our sister Verizon Galaxy S7 (Edge) threads.
1. Kernel fixes & tweaks V15
2. Kernel fixes, tweaks, & Debloater
You need only flash one of these two zips. One additionally debloats the system, one does not. Choose whichever suits your needs.
What the zips do:
Adds a rotate button to the native gallery app.
Adds a shortcut call button in the call log next to each logged call.
Adjusts several CPU tunables, which fixes phone lag and battery life issues.
Disables "No SIM" popup when no SIM card is present.
Disables roaming data by default.
Disables secure storage support, which fixes Wi-Fi passwords not saving issue.
Disables Verizon provisioning for Wi-Fi tethering/hotspot (will still use your data plan, of course).
Enables ADB to run as root by default.
Enables CPU idling/sleeping, which fixes phone heat issues.
Enables mock GPS locations.
Enables native call recording feature in the dialer.
Enables native Wi-Fi calling feature in the dialer.
Enables RIL power saving features.
Enables scheduled messages in the native messaging app.
Enables the camera during calls.
Enables unlimited contact merging.
Enables using the new 3GPP2 Profile ID (Verizon exclusive).
Fixes various 'searching for service' and other cellular network connectivity issues (SMS/MMS not working, calls not working, etc.)
Knox apps, drivers, and data are removed (fix+debloat version).
Prefers LTE network.
Raises the contact name length limit to 1,280 characters.
Raises the maximum SMS recipient limit from 10 to 90.
Remove nagging 'unauthorized actions' security notification (fix+debloat version).
Removes VoLTE icon.
Removes bloatware and/or apps that can be downloaded from the Play Store and don't need to live in /system (fix+debloat version):
Next, install a CPU Tuner utility like Kernel Toolkit, then change the governor from "Performance" to "Interactive." Also change the max CPU frequency of the little cores to 1.593Ghz and the big cores to 2.150Ghz while you're at it. Leave the cores at their default minimum frequency. This will go a long way to improving the speed of the phone. Also make sure you that have the new settings to apply on boot. Every kernel manager should have this option somewhere.
Note: Although the max frequency in the settings screen will drop to some number, as long as you can see the CPU ramp up to the new settings in the information screen, then everything is fine. You can test the max frequency by turning the screen off and then back on.
Then, install sEFix and set entropy to "Ultra."
Lastly, install L Speed and:
Code:
-Main Tweaks: Turn on
-Battery Improvement
-OOM Killer
-Kernel Tweaks - "Light"
-CPU Tuner: Turn on
-CPU Optimizer
-LNET Optimizer: Turn on
-Google DNS
-Faster Streaming
-Faster Dormancy
-IO Tweaks: Turn on
-IO Boost
-Partition Remount
-RAM Manager
-Balanced
-Seeder
-Moderate
Their individual effects can be read up on here.
Bug #2: Weird "hurricane" icon in the corner.
Fix: This is related to the imsservice.apk which controls the RCS icon and the VoLTE icon being displayed. Someone has a modified version of the Note 5 imsservice.apk with these removed. You can find the apk HERE in the OP's attachment. HOWEVER, you will push this to a different location than the location mentioned in the guide there. You have two choices, you can either push the apk via ADB from you computer or you can copy the file using a root file manager.
ADB Method (Assumes you know what you're doing. Don't copy the code verbatim if you don't know what the command is doing):
Code:
adb remount
adb push imsservice.apk /system/priv-app/imsservice/imsservice.apk
adb reboot
Root File Manager Method:
Transfer the imsservice.apk to your phone. Anywhere where you'll remember the location is fine. Open the file manager with root compatibility and copy the file to /system/priv-app/imsservice/ and overwrite the imsservice.apk already in the folder.
Set permissions of the file to 0644 or rw-r--r-- depending on your file manager. You can set permissions using most file managers.
Restart the phone.
I've included the stock PD8 imsservice.apk as an attachment below if anyone has issues with the modified one from the guide.
Bug #3: Notification warning that system has been modified.
Fix #1: Disable com.samsung.android.securitylogagent & com.tmobile.pr.adapt using your favorite package disabler. This will hide all notifications associated with this app as well as the root check that you might have encountered.
Fix #2: This fix requires Xposed. You can follow the instructions to install Xposed HERE.
Then install the Xposed module NotifyClean, activate the module, and reboot the phone. You will then use this app to block the notification under the package com.samsung.android.securitylogagent by clicking on the package so that it is highlighted red. The notification should disappear!
Note: This app can also be used to hide the icon for WiFi Calling if it's annoying you. You can still use the WiFi calling function while hiding the notification.
Bug #4: I keep losing root.
Fix #1: Secure boot/startup has caused the loss of root. So make sure you DO NOT SETUP the secure boot option when you're first setting up the phone or any time afterwards. This is the same option that forces users to type in/swipe in their password on a screen with a black background. This is not the normal type/swipe your password on your lockscreen after a boot.
Fix #2: Disable Security policy updates. I've also heard that people who leave this option on lose their root after a couple of reboots. You can find this setting under:
Settings > Lock screen and security > Other security settings > Security policy updates > Automatic updates (Turn this setting off).
Fix #3: Disable auto-updates for apps in Google Play Store. It's possible that SuperSU auto-updated, breaking root.
Fix #4: Disable automatic updates for the phone. I don't think these run anyways on modified software, but it can't hurt. You can disable the applications responsible for automatic updates using Titanium Backup, EZ Disabler, or any other package disabler you know of. The packages to disable are:
com.sec.android.soagent
com.wssyncmldm
com.samsung.firmware.nfc
com.samsung.android.firmware.tsp
Bug #5napchat: Unable to log into Snapchat.
Fix #1: This happens if you attempt to login to Snapchat after installing Xposed. Just make sure you login to Snapchat prior to installing Xposed. Done.
Fix #2: If you've already installed Xposed, you can:
-Do a clean install through ODIN, and re-root your phone, install and log into Snapchat, then install Xposed.
-Uninstall Xposed by flashing THIS through Flashfire, uninstalling the Xposed framework app, and clearing the data on your Snapchat app. Then login to Snapchat and re-install Xposed.
Bug #6: WiFi passwords aren't being saved
Fix: Use a root file manager like Solid Explorer and go to /system and open/edit build.prop. Scroll down or use the "find" function to search for ro.securestorage=true and change it from true to false (ro.securestorage=false). Save the file. Done!
If you guys have any more bugs that you run into, please feel free to post them here. Anyone who knows of any additional fixes to these bugs or solutions to any bugs that others post, also feel free to add them in the comments and I will compile them into this guide when I get a chance.
I've included the PD8 imsservice.apk below if you need it
Reserved
Reserved
I downloaded CPU scale and I dont see 1.5hz and 2.1ghz as options to switch too
thegameksk said:
I downloaded CPU scale and I dont see 1.5hz and 2.1ghz as options to switch too
Click to expand...
Click to collapse
Not every CPU Tuner utility will let you set the individual big.LITTLE cores separately. Try using the one recommended or look for another one that does allow it. Kernel Toolkit is the only one that I remember off the top of my head. I'll also make an edit in the post to avoid further confusion.
hey all, does anyone have or has experienced your incoming calls not being recieved? i have called myself and others also and it either rings until voicemail or it just goes straight to voicemail,
any ideas whats causing this?
thanks,
Great post! Unfortunately I'm having problems with smart view after rooting. Every time I try to screen mirror it works but it is extremely laggy making it unusable. This has only been an issue since root and I've tried mirroring to three different devices and it's the same with all of them. I followed the instructions in this thread to see if these tweaks would help but they didn't change my screen mirroring issue at all. Is anyone else out there experiencing this?
little help please.
Followed the guide for bugs 1 & 2 exactly as mentioned. Used the root manager method for bug #2. Now i keep getting this pop-up that the phone is not responding...Any solutions to get rid of this?
thanks
cris_epic said:
hey all, does anyone have or has experienced your incoming calls not being received? i have called myself and others also and it either rings until voicemail or it just goes straight to voicemail,
any ideas whats causing this?
thanks,
Click to expand...
Click to collapse
Just started for me too. Doesn't go straight to voice mail but i don't get calls and cant call out now. Seemed to happen right after i replaced the imsservice.apk and rebooted. The annoying hurricane icon is gone now, just at the expense of making and receiving calls lol.
Did you also happen to overwrite the imsservice.apk?
JKLIMES1 said:
Followed the guide for bugs 1 & 2 exactly as mentioned. Used the root manager method for bug #2. Now i keep getting this pop-up that the phone is not responding...Any solutions to get rid of this?
thanks
Click to expand...
Click to collapse
Looks like I forgot to mention changing permissions on the file after you copy it over. From there, the easiest way to restore it would probably be to adb push the file over since you don't need to reset permissions if you push through adb. This should correct the crashing and allow you to use your phone.
JKLIMES1 said:
Just started for me too. Doesn't go straight to voice mail but i don't get calls and cant call out now. Seemed to happen right after i replaced the imsservice.apk and rebooted. The annoying hurricane icon is gone now, just at the expense of making and receiving calls lol.
Did you also happen to overwrite the imsservice.apk?
Click to expand...
Click to collapse
Yeah I believe I replaced the imsservice.apk when I flashed the fixs and debloater zip thats been going around
Sent from my SM-G935T using XDA-Developers mobile app
Is this what you mean about the cores?
thegameksk said:
Is this what you mean about the cores?
Click to expand...
Click to collapse
Leave the min frequency of the cores at the minimum otherwise your cores will always be at max frequency which is something you definitely don't want.
h.nocturna said:
Looks like I forgot to mention changing permissions on the file after you copy it over. From there, the easiest way to restore it would probably be to adb push the file over since you don't need to reset permissions if you push through adb. This should correct the crashing and allow you to use your phone.
Click to expand...
Click to collapse
AWESOME!! changing the permissions did the job for me. Thanks.
h.nocturna said:
Leave the min frequency of the cores at the minimum otherwise your cores will always be at max frequency which is something you definitely don't want.
Click to expand...
Click to collapse
I switched the minimum to 307 and max 1593 for small cores. For big cores minimum 307 MHz and Maximum is 2150 mhz.
Its not letting me save these numbers. I had min set to 307 and when I left the screen and went back it jumped back up to 1593
cris_epic said:
Yeah I believe I replaced the imsservice.apk when I flashed the fixs and debloater zip thats been going around
Sent from my SM-G935T using XDA-Developers mobile app
Click to expand...
Click to collapse
Trying changing the permissions as mentioned, that worked perfect for me.
thegameksk said:
I switched the minimum to 307 and max 1593 for small cores. For big cores minimum 307 MHz and Maximum is 2150 mhz.
Its not letting me save these numbers. I had min set to 307 and when I left the screen and went back it jumped back up to 1593
Click to expand...
Click to collapse
If you look at the information menu, do you see the cores ramp up to the 2.150 Ghz we set? If it does, then the settings have been saved despite it not reflecting on the settings screen. You can force it to ramp up to max but turning the screen off and then turning it back on.
h.nocturna said:
If you look at the information menu, do you see the cores ramp up to the 2.150 Ghz we set? If it does, then the settings have been saved despite it not reflecting on the settings screen. You can force it to ramp up to max but turning the screen off and then turning it back on.
Click to expand...
Click to collapse
Yes all 2 cpus go to 1593 and 2 go to 2150. This happens for 2 seconds than all 4 go down to 307
thegameksk said:
Yes all 2 cpus go to 1593 and 2 go to 2150. This happens for 2 seconds than all 4 go down to 307
Click to expand...
Click to collapse
This is the expected behavior. This just means that they will clock up to the max when there is a high load, but then drop back down to the lowest frequency to save battery when there is nothing to be done. Everything is working as it should.
Thank you for your help. Does your phone run hot when gaming or charging? My charger also gets very very hot while charging.
thegameksk said:
Thank you for your help. Does your phone run hot when gaming or charging? My charger also gets very very hot while charging.
Click to expand...
Click to collapse
Mines was hot just with normal usage. I used every tip and fix that people suggested but it was still pretty slow and lagged if I had a game running and a couple of more apps running. Battery was OK though.
i have the 1689mhz bug!!! at random time the MIN freq of the cpu is stuck at 1689mhz andthe max still at 2ghz. ( you can activate on developer options the "show cpu info" toggle)
i cannot change the min value from kernel adiutor, i click on 652mhz but nothing changes, only a REBOOT actually fix the min freq used.
i thought it was a problem of my custom rom resurrection 5.8.3 or the fact i am using kernel adiutor, in fact this app does randomly give CPU LOAD BUG on several devices i mod! sometimes kernel adiutor load my cpu cores at 100% also on light load, but just forceclosing the app the cores return to lower freq.
but the 1689mhz bug is a KERNEL BUG, i read about this bug also on people with stock rom, and the p2a42 phone.... and i have p2c72 hardware phone!!! so this kernel BUG is found in EVERY VERSION of this phone.
please developers, we need a modded kernel that fixes this bug, and why not.......... new i/o schedulers and governors.... and maybe a little undervolt for every cpu freq
realista87 said:
i have the 1689mhz bug!!! at random time the MIN freq of the cpu is stuck at 1689mhz andthe max still at 2ghz. ( you can activate on developer options the "show cpu info" toggle)
i cannot change the min value from kernel adiutor, i click on 652mhz but nothing changes, only a REBOOT actually fix the min freq used.
i thought it was a problem of my custom rom resurrection 5.8.3 or the fact i am using kernel adiutor, in fact this app does randomly give CPU LOAD BUG on several devices i mod! sometimes kernel adiutor load my cpu cores at 100% also on light load, but just forceclosing the app the cores return to lower freq.
but the 1689mhz bug is a KERNEL BUG, i read about this bug also on people with stock rom, and the p2a42 phone.... and i have p2c72 hardware phone!!! so this kernel BUG is found in EVERY VERSION of this phone.
please developers, we need a modded kernel that fixes this bug, and why not.......... new i/o schedulers and governors.... and maybe a little undervolt for every cpu freq
Click to expand...
Click to collapse
Haha! Have very less hopes,bcoz some feel that custom kernels are not at all needed! They think that a device wid 2ghz processor doesn't need custom kernel
And btw the post topic is 100% right,bt the place where it's posted is wrong! This should be under discussion section
realista87 said:
i have the 1689mhz bug!!! at random time the MIN freq of the cpu is stuck at 1689mhz andthe max still at 2ghz. ( you can activate on developer options the "show cpu info" toggle)
i cannot change the min value from kernel adiutor, i click on 652mhz but nothing changes, only a REBOOT actually fix the min freq used.
Click to expand...
Click to collapse
Yes, thats true. The bug is i think VDD related. Sometimes the VDD switches automatically on, the min CPU freq goes up to 1689 MHz, and can not be lowered until you don't switch off the VDD. You can switch off in Kernel Adiutor/Thermal section, or use the following command :
echo '0' > /sys/module/msm_thermal/vdd_restriction/enabled
I use the KSLABS Schedule! app to run the command every 5 minutes.
I hope this will help you, until we get one bugfree kernel.
u are right
now the bug is MORE AGGRESSIVE THAN EVER............ i rebooted, i attachedthe phone to a charger, arrived 100%, then rest for 1h30min on idle(deep sleep) but when i started using the phone... i checked the frequencies and BOOM....... another time the bug of 1689mhz!!! the battery was 100%......
maybe there is an app that causes this... but which one?
realista87 said:
maybe there is an app that causes this... but which one?
Click to expand...
Click to collapse
Which ROM do you use?
I have stock 244, but the method worked for me in 233 too. In the past, I used the Magisk Crossbreeder Lite module to eliminate this problem, but the latest (1.6+) versions made the phone very slow, especially booting.
Vis77 said:
Yes, thats true. The bug is i think VDD related. Sometimes the VDD switches automatically on, the min CPU freq goes up to 1689 MHz, and can not be lowered until you don't switch off the VDD. You can switch off in Kernel Adiutor/Thermal section, or use the following command :
echo '0' > /sys/module/msm_thermal/vdd_restriction/enabled
I use the KSLABS Schedule! app to run the command every 5 minutes.
I hope this will help you, until we get one bugfree kernel.
Click to expand...
Click to collapse
can you help me with the console command... but with macrodroid? i don't use that app
edit_ i setted your app, ibut i prefer every 1h to toggle VDD off
realista87 said:
u are right
now the bug is MORE AGGRESSIVE THAN EVER............ i rebooted, i attachedthe phone to a charger, arrived 100%, then rest for 1h30min on idle(deep sleep) but when i started using the phone... i checked the frequencies and BOOM....... another time the bug of 1689mhz!!! the battery was 100%......
maybe there is an app that causes this... but which one?
Click to expand...
Click to collapse
Maybe the Kernel adiutor itself cause the high load, as background task make 28-30% cpu load, see the attachment.
But, the 1689 MHz bug still exist. :-\
Vis77 said:
Maybe the Kernel adiutor itself cause the high load, as background task make 28-30% cpu load, see the attachment.
But, the 1689 MHz bug still exist. :-\
Click to expand...
Click to collapse
what app do you use to see the % of cpu for each thread?
i don't think that the cause is kernel adiutor... i repeat, a lot of people with 100% stock rom have this bug.....
hey vis could you help me with the string of the scheduler app? i don't understand how to set every 1 hour my previous screenshot i think is wrong because it does not work every 1 h
sorry but the "cron expression" is too much difficult to me to understand.....
EDIT i found how to do every 1h!! 0 0 0/1 1/1 * ? *
thanks to this site!!! http://www.cronmaker.com/
realista87 said:
what app do you use to see the % of cpu for each thread?
i don't think that the cause is kernel adiutor... i repeat, a lot of people with 100% stock rom have this bug.....
[/B]
Click to expand...
Click to collapse
The app name is 3C Toolbox Pro.
Yes the bug is still here, Kernel Adiutor is only different problem.
After reading all your discussion.. I understood that one of you knew solution to stop the bug ,and the other guy learnt how to do it ..
But I don't get a single thing ,what and how you solved that bug
Note : I don't even know that 1698 bug is present , all I know is cpu idle is consuming more power ..
Is this the same thing you guys were discussing?
If yes ..how can a I solve it ? Any walkthrough?for dumb minds like me ...?
nandakis4 said:
After reading all your discussion.. I understood that one of you knew solution to stop the bug ,and the other guy learnt how to do it ..
But I don't get a single thing ,what and how you solved that bug
Note : I don't even know that 1698 bug is present , all I know is cpu idle is consuming more power ..
Is this the same thing you guys were discussing?
If yes ..how can a I solve it ? Any walkthrough?for dumb minds like me ...
Click to expand...
Click to collapse
I've made the following observations:
On a fresh install(stock or custom rom(i have not tried Firelord versions)), rooted phone(with Magisk or SuperSU), if you install the Kernel Adiutor, and go to Thermal section the VDD restriction by default is OFF. You can change freely the CPU minimum frequency.
After some hours/days(total random) something switch ON the VDD restriction, the CPU minimun frequency going up to 1698 MHz, and unable to set back the default 652 MHz. If you switch off the screen the cores going to deep sleep, but if you switch on the screen the min. freq. is still 1698 MHZ.
If you manually switch OFF the VDD restriction, the CPU working normal, until switched ON automatically again.
If your phone is not rooted, the only thing what you can notice that the battery is dropping faster than usual, or the phone a bit warmer.
The problem still occurs even if you do not have a program that you can turn on/off the VDD.
The above solution does not repair the problem, it only remedies the symptoms...
I sometimes notice that even though I don't use it, "Google Play Services" consume an unusual amount of battery and will continue to do so unless I reboot the phone. I have never investigated the cause. Might this be related to the 1698MHz bug ?
medwatt said:
I sometimes notice that even though I don't use it, "Google Play Services" consume an unusual amount of battery and will continue to do so unless I reboot the phone. I have never investigated the cause. Might this be related to the 1698MHz bug ?
Click to expand...
Click to collapse
I do not think so, but check the status of VDD when you have rooted phone. Sometimes I have too huge battery usage caused by the Google Play Services, but i would suspect first of the Location services. If I use some sport tracker, or navigation app then growing for me the Google Play Services consumption.
Vis77 said:
I do not think so, but check the status of VDD when you have rooted phone. Sometimes I have too huge battery usage caused by the Google Play Services, but i would suspect first of the Location services. If I use some sport tracker, or navigation app then growing for me the Google Play Services consumption.
Click to expand...
Click to collapse
My phone is rooted. I will start monitoring VDD. FYI, I don't use any google app (Gmail, Play Store, Maps, etc ...). Location services is also turned off. Sometimes, out of nowhere, I'd see Google Play Services at the top of the battery consumption details. Yesterday, it had a very high CPU consumption time of around 1h (prevented the phone from going to sleep; had 3000+ wakelocks). I had to reboot the phone to get it to stop eating my battery. Usually, Google Play Services use the CPU for a total of 10min on a full charge.
medwatt said:
My phone is rooted. I will start monitoring VDD. FYI, I don't use any google app (Gmail, Play Store, Maps, etc ...). Location services is also turned off. Sometimes, out of nowhere, I'd see Google Play Services at the top of the battery consumption details. Yesterday, it had a very high CPU consumption time of around 1h (prevented the phone from going to sleep; had 3000+ wakelocks). I had to reboot the phone to get it to stop eating my battery. Usually, Google Play Services use the CPU for a total of 10min on a full charge.
Click to expand...
Click to collapse
If you don't use it, you can remove what is mentioned on the MicroG Prerequisites page[0].
Some apps nag about it but the only noticable problem I have is messenger lite notifications don't go automaticaly away after replying. Even my banking app keeps working.
[0]https://github.com/microg/android_packages_apps_GmsCore/wiki/Prerequisites