What is causing all of the misc battery drain on these ROMs? I have tried about 6 different ones and all have been giving me drain. Can anyone suggest a ROM that doesn't suffer the drain?
Sent from my Nexus 5 using Tapatalk
brandon5132 said:
What is causing all of the misc battery drain on these ROMs? I have tried about 6 different ones and all have been giving me drain. Can anyone suggest a ROM that doesn't suffer the drain?
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
Tap on Misc. and read what it actually is.
It doesn't really tell me
brandon5132 said:
It doesn't really tell me
Click to expand...
Click to collapse
Yes it does.
The only thing it tells you is that battery drain is greater than would typically be expected based on calculated usage. A few thoughts, have you tried the stock ROM, as most ROMs for lolly pop are at an early development stage, with quite a few issues. Are you testing on a fresh install without any additional apps installed. Could be a specific app that does not play well with lollipop. I know a lot of people have reported battery problems with cyanogenMod and asop ROMs
Its really simple and basic and is in no way "drain". If the big wall of text in the screenshot doesn't clarify what it is, then I will elaborate further.
All your battery stats are guessed calculations. They're never accurate. Never have been and never will be.
Here's how battery stats work.
In android, there is a file. It lists "power consumption" for certain things.
For example (and these numbers are made up because i can't be bothered to look in the code)
WiFi disconnected = 4mA
WiFi connected = 10mA
So if your phone has been connected to WiFi for 10 hours, it calculates that 10 hours @10ma = x% of battery used.
However, what if you're in your bedroom for 10 hours? The router is in your living room. Actually your WiFi is using 20mA because of the weal signal. Well, this magic file cannot account for that. There is no "WiFi connected but user is in bedroom = 20mA" entry in the file.
Battery stats actually have no link to actual battery usage. Its just a guess. Battery stats knows how much battery has been used and using its magic file, makes an educated guess at how much % battery has been used by each thing.
So your battery has depleted by 50%. 25% is WiFi connected at 10mA. But your WiFi was actually using 20mA because of distance. Battery stats cannot know this. So you actually have 25% missing in battery stats. That's what miscellaneous was created for. To show that there was a difference between battery stats guess and actual battery use from the battery.
Its the same for screen brightness, cell signal, CPU usage etc. The file knows very little. Battery stats is very inaccurate
Google actually removed miscellaneous from stock ROMs due to people who don't understand, calling it a WiFi bug. However it still exists in aosp.
I hope think clarifies for people
Thank you that cleared up a lot for me.
Sent from my Nexus 5 using Tapatalk
brandon5132 said:
Thank you that cleared up a lot for me.
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
No probs.
This still happens? I've not seen this since the official release?
Ben36 said:
This still happens? I've not seen this since the official release?
Click to expand...
Click to collapse
As per my post, it's been removed from Stock releases. It still exists (and rightly so IMHO) on AOSP roms. Shouldn't have been taken from stock, but they had to shut up all the complainers some how.
rootSU said:
Its really simple and basic and is in no way "drain". If the big wall of text in the screenshot doesn't clarify what it is, then I will elaborate further.
All your battery stats are guessed calculations. They're never accurate. Never have been and never will be.
Here's how battery stats work.
In android, there is a file. It lists "power consumption" for certain things.
For example (and these numbers are made up because i can't be bothered to look in the code)
WiFi disconnected = 4mA
WiFi connected = 10mA
So if your phone has been connected to WiFi for 10 hours, it calculates that 10 hours @10ma = x% of battery used.
However, what if you're in your bedroom for 10 hours? The router is in your living room. Actually your WiFi is using 20mA because of the weal signal. Well, this magic file cannot account for that. There is no "WiFi connected but user is in bedroom = 20mA" entry in the file.
Battery stats actually have no link to actual battery usage. Its just a guess. Battery stats knows how much battery has been used and using its magic file, makes an educated guess at how much % battery has been used by each thing.
So your battery has depleted by 50%. 25% is WiFi connected at 10mA. But your WiFi was actually using 20mA because of distance. Battery stats cannot know this. So you actually have 25% missing in battery stats. That's what miscellaneous was created for. To show that there was a difference between battery stats guess and actual battery use from the battery.
Its the same for screen brightness, cell signal, CPU usage etc. The file knows very little. Battery stats is very inaccurate
Google actually removed miscellaneous from stock ROMs due to people who don't understand, calling it a WiFi bug. However it still exists in aosp.
I hope think clarifies for people
Click to expand...
Click to collapse
@rootSU,
I am going to steal this, while still giving you credit, to assist while trying to explain to new users why android does what it does.
You have the best explanation I've ever read. Thank you.
ghostryder12 said:
@rootSU,
I am going to steal this, while still giving you credit, to assist while trying to explain to new users why android does what it does.
You have the best explanation I've ever read. Thank you.
Click to expand...
Click to collapse
Delete
Sent from my Nexus 9 using XDA Free mobile app
ghostryder12 said:
@rootSU,
I am going to steal this, while still giving you credit, to assist while trying to explain to new users why android does what it does.
You have the best explanation I've ever read. Thank you.
Click to expand...
Click to collapse
Please feel free. However, that's an old revision. Below is what I'll be posting from now on. Feel free to.use either
There is no "Misc bug" or "WiFi Bug" related to misc
Its really simple and basic and is in no way "drain".* All your battery stats are guessed calculations. They're never accurate. They never have been and never will be.
How battery stats work
The Battery stats UI shows the percentage of battery that device elements are responsible for using, which is based on a couple of things.
1./data/system/batterystats.bin
2./system/frameworks/frameworks-res.apk/res/xml/power_profile.xml
These things contribute in the following way:
1.From the moment Android detects that a close-to-full charge has completed, batterystats.bin records how long the device elements are running
2.This xml file is where the information about how much power, each device element “uses”
The battery stats UI looks at batterystats.bin to see how long each element has been running (and in what state) since the last charge, applies the value (in mV) for each element stored in power_profiles.xml and comes up with a calculation of the % of battery each element is using.
It simply knows the total mV used by adding up all the element values and the time in state to work out the percentages.
Here is a really basic example…
power_profile.xml from the SNexus 5
Code:
<item name="none">0</item>
<item name="screen.on">82.75</item>
<item name="screen.full">201.16</item>
<item name="bluetooth.active">51.55</item>
<item name="bluetooth.on">0.79</item>
<item name="wifi.on">3.5</item>
<item name="wifi.active">73.24</item>
<item name="wifi.scan">75.48</item>
<item name="dsp.audio">0.1</item>
<item name="dsp.video">0.1</item>
<item name="gps.on">76.23</item>
<item name="radio.active">185.19</item>
<item name="radio.scanning">99.2</item>
batterystats.bin
Code:
*** screen.on = 2 h
*** bluetooth.active = 3 h
*** bluetooth.on = 7 h
*** wifi.on = 6 h
*** wifi.active = 4 h
So, if….
Code:
*** screen.on = 165.5
*** bluetooth.active = 154.65
*** bluetooth.on = 5.53
*** wifi.on = 21
*** wifi.active = 292.96
*** Total = 639.64
Then…*
Code:
*** screen.on = 26%
*** bluetooth.active = 24%
*** bluetooth.on = 1%
*** wifi.on = 3%
*** wifi.active = 46%
*** Total = 100%
That was a basic example of how the Battery Stats UI makes it’s calculations.* Notice how the total is 100%? Well in KK and earlier this was the case.* The Battery Stats UI calculated to 100%.* So even if you had only used 50% of your battery, it would show that device elements had used 100% of your 50% used battery.
This meant that as it always had to add up to 100%, it didn't have to be particularly accurate.* It takes the values and calculations it knows about and works the portion of that 100% each known value has taken.* It knows that 639.64 is 100% therefore wifi at 292.96 must be 46%....
Since Lollipop, it has changed and makes it more difficult for battery stats UI to be so blase about its accuracy.* Now it attempts to show you what "actual" percentage of battery has been used.* For example, if 50% of your battery has been used, the total of percentage used by device elements will also show as 50%.* However, now that the total % of elements might not match the total % of battery used, it is much harder to hide how inaccurate battery stats actually are.
So to elaborate on that further, lets say that your Nexus 5 battery is 4720 mV in capacity.* The actual battery % in status bar is calculated by reading the actual current battery reading from the battery itself and working out the %, so in the example above, 14% battery has been used (639.64 is 14% of 4720 - or more accurately 13.55%)
So...*
Code:
*** screen.on = 3.6%
*** bluetooth.active = 3.4%
*** bluetooth.on = 0.05%
*** wifi.on = 0.5%
*** wifi.active = 6%
*** Total = 13.55%
Why are they never accurate?
So battery % in status* bar takes a reading from the actual battery, but battery stats just add up what they recorded multiplied by the Power_profile.xml values.
Looking at the power_profile.xml file, you'll see for example, wifi - there is an "on" value and an "active" value.* There are just 2 states.* However, what if your router is in your living room and you are in the bedroom?* WiFi Active may not be 76.23 at all.* Due to weak signal, it may be 150....* But battery stats is not aware that it may be using 150....* So it calculates using 76.23
This is where it gets a little more complicated.* Lets go back to these calculations, but factor in the new 150 value for bedroom wifi active
batterystats.bin
Code:
*** screen.on = 2 h
*** bluetooth.active = 3 h
*** bluetooth.on = 7 h
*** wifi.on = 6 h
*** wifi.active = 2 h
wifi.active.InBedroom = 2 h
So, if….
Code:
*** screen.on = 165.5
*** bluetooth.active = 154.65
*** bluetooth.on = 5.53
*** wifi.on = 21
*** wifi.active = 152.46
wifi.active.InBedroom = 300
*** Total = 799.14
So that is what ACTUALLY happened.* But Battery Stats doesn't know.. because the power_profile.xml does not really have the InBedroom entry at all.* So battery stats shows that a total 639.64 of battery has been used, however the physical battery reports that 799.14 has been used.* So the battery % in the status bar is 100% - 17%, = 83%....* 17% has been used but our earlier stats (that don't show the fake inbedroom value) show the total used is only 13.55% - there is a discrepancy here...
Well, since lollipop, that discrepancy has to be accounted for to make the battery stats appear more accurate, so the 159.50 difference that is unaccounted for (The Wifi InBedroom), now will appear as "Miscellaneous".* This makes battery stats show that 17% total battery has been used, to match the status bar and not 13.55% as per the total added up from Power_profile.xml...*
THis is not just the case with WiFI, but with everything from Screen brightness, to bluetooth to cell reception.
Why does misc show on some roms and not others
You may remember a while back that people were reporting the WiFi bug to google..* Well, simply - they probably got fed up and hid misc in Stock ROMS.* No stock roms on the Nexus 5 show misc anymore.* They just have calculations that no longer add up in total to the amount of % used of your battery
Some people have accused google of "hiding" the bug.* What we're saying is that there is NO BUG and they hid misc, which is what caused people to think there was a bug in the first place.
The Misc battery report is still in AOSP code, however some roms have also decided to hide it, such as SlimRoms for example.
You can see their changes here:
From Google: https://github.com/SlimRoms/packages_apps_Settings/commit/e6793771cedb47aed72f1c64f870b70357746938
Custom ROM feature: https://github.com/SimpleAOSP-Lolli...mmit/d025994f90722139dfcf236f275e05236ec47491
Here is an example on SlimLP with the option turned on and off
Summary
There is no such thing as a "misc bug" or "WiFi bug".* Android tries to calculate the amount of battery used by each device element, based on a very finite list of values.* Since the values are pre-determined in a file, it is not an accurate refelection of reality.* When these values in reality are higher than the file, it makes the Battery Stats show a lower % than reality being used by the elements (most easily seen in wifi).* To make the elements total match the actual % used from the battery, Misc was created to fill in that discrepancy - However, since people thought it was a bug due to lack of understanding, it has since been hidden.* But it is not a bug.
rootSU said:
Please feel free. However, that's an old revision. Below is what I'll be posting from now on. Feel free to.use either
There is no "Misc bug" or "WiFi Bug" related to misc
Its really simple and basic and is in no way "drain".* All your battery stats are guessed calculations. They're never accurate. They never have been and never will be.
How battery stats work
The Battery stats UI shows the percentage of battery that device elements are responsible for using, which is based on a couple of things.
1./data/system/batterystats.bin
2./system/frameworks/frameworks-res.apk/res/xml/power_profile.xml
These things contribute in the following way:
1.From the moment Android detects that a close-to-full charge has completed, batterystats.bin records how long the device elements are running
3.This xml file is where the information about how much power, each device element “uses”
The battery stats UI looks at batterystats.bin to see how long each element has been running (and in what state) since the last charge, applies the value (in mV) for each element stored in power_profiles.xml and comes up with a calculation of the % of battery each element is using.
It simply knows the total mV used by adding up all the element values and the time in state to work out the percentages.
Here is a really basic example…
power_profile.xml from the SNexus 5
Code:
*** 0
*** 82.75
*** 201.16
*** 51.55z
*** 0.79
*** 3.5
*** 73.24
*** 75.48
*** 0.1
*** 0.1
*** 76.23
*** 185.19
*** 99.2
batterystats.bin
Code:
*** screen.on = 2 h
*** bluetooth.active = 3 h
*** bluetooth.on = 7 h
*** wifi.on = 6 h
*** wifi.active = 4 h
So, if….
Code:
*** screen.on = 165.5
*** bluetooth.active = 154.65
*** bluetooth.on = 5.53
*** wifi.on = 21
*** wifi.active = 292.96
*** Total = 639.64
Then…*
Code:
*** screen.on = 26%
*** bluetooth.active = 24%
*** bluetooth.on = 1%
*** wifi.on = 3%
*** wifi.active = 46%
*** Total = 100%
That was a basic example of how the Battery Stats UI makes it’s calculations.* Notice how the total is 100%? Well in KK and earlier this was the case.* The Battery Stats UI calculated to 100%.* So even if you had only used 50% of your battery, it would show that device elements had used 100% of your 50% used battery.
This meant that as it always had to add up to 100%, it didn't have to be particularly accurate.* It takes the values and calculations it knows about and works the portion of that 100% each known value has taken.* It knows that 639.64 is 100% therefore wifi at 292.96 must be 46%....
Since Lollipop, it has changed and makes it more difficult for battery stats UI to be so blase about its accuracy.* Now it attempts to show you what "actual" percentage of battery has been used.* For example, if 50% of your battery has been used, the total of percentage used by device elements will also show as 50%.* However, now that the total % of elements might not match the total % of battery used, it is much harder to hide how inaccurate battery stats actually are.
So to elaborate on that further, lets say that your Nexus 5 battery is 4720 mV in capacity.* The actual battery % in status bar is calculated by reading the actual current battery reading from the battery itself and working out the %, so in the example above, 14% battery has been used (639.64 is 14% of 4720 - or more accurately 13.55%)
So...*
Code:
*** screen.on = 3.6%
*** bluetooth.active = 3.4%
*** bluetooth.on = 0.05%
*** wifi.on = 0.5%
*** wifi.active = 6%
*** Total = 13.55%
Why are they never accurate?
So battery % in status* bar takes a reading from the actual battery, but battery stats just add up what they recorded multiplied by the Power_profile.xml values.
Looking at the power_profile.xml file, you'll see for example, wifi - there is an "on" value and an "active" value.* There are just 2 states.* However, what if your router is in your living room and you are in the bedroom?* WiFi Active may not be 76.23 at all.* Due to weak signal, it may be 150....* But battery stats is not aware that it may be using 150....* So it calculates using 76.23
This is where it gets a little more complicated.* Lets go back to these calculations, but factor in the new 150 value for bedroom wifi active
batterystats.bin
Code:
*** screen.on = 2 h
*** bluetooth.active = 3 h
*** bluetooth.on = 7 h
*** wifi.on = 6 h
*** wifi.active = 2 h
wifi.active.InBedroom = 2 h
So, if….
Code:
*** screen.on = 165.5
*** bluetooth.active = 154.65
*** bluetooth.on = 5.53
*** wifi.on = 21
*** wifi.active = 152.46
wifi.active.InBedroom = 300
*** Total = 799.14
So that is what ACTUALLY happened.* But Battery Stats doesn't know.. because the power_profile.xml does not really have the InBedroom entry at all.* So battery stats shows that a total 639.64 of battery has been used, however the physical battery reports that 799.14 has been used.* So the battery % in the status bar is 100% - 17%, = 83%....* 17% has been used but our earlier stats (that don't show the fake inbedroom value) show the total used is only 13.55% - there is a discrepancy here...
Well, since lollipop, that discrepancy has to be accounted for to make the battery stats appear more accurate, so the 159.50 difference that is unaccounted for (The Wifi InBedroom), now will appear as "Miscellaneous".* This makes battery stats show that 17% total battery has been used, to match the status bar and not 13.55% as per the total added up from Power_profile.xml...*
THis is not just the case with WiFI, but with everything from Screen brightness, to bluetooth to cell reception.
Why does misc show on some roms and not others
You may remember a while back that people were reporting the WiFi bug to google..* Well, simply - they probably got fed up and hid misc in Stock ROMS.* No stock roms on the Nexus 5 show misc anymore.* They just have calculations that no longer add up in total to the amount of % used of your battery
Some people have accused google of "hiding" the bug.* What we're saying is that there is NO BUG and they hid misc, which is what caused people to think there was a bug in the first place.
The Misc battery report is still in AOSP code, however some roms have also decided to hide it, such as SlimRoms for example.
You can see their changes here:
From Google: https://github.com/SlimRoms/packages_apps_Settings/commit/e6793771cedb47aed72f1c64f870b70357746938
Custom ROM feature: https://github.com/SimpleAOSP-Lolli...mmit/d025994f90722139dfcf236f275e05236ec47491
Here is an example on SlimLP with the option turned on and off
Summary
There is no such thing as a "misc bug" or "WiFi bug".* Android tries to calculate the amount of battery used by each device element, based on a very finite list of values.* Since the values are pre-determined in a file, it is not an accurate refelection of reality.* When these values in reality are higher than the file, it makes the Battery Stats show a lower % than reality being used by the elements (most easily seen in wifi).* To make the elements total match the actual % used from the battery, Misc was created to fill in that discrepancy - However, since people thought it was a bug due to lack of understanding, it has since been hidden.* But it is not a bug.
Click to expand...
Click to collapse
Yeah, I just finished reading it. For me, the first one is great for rooted newbes Cuz it's easily understandable with no experience.
Not this second one is great for those of us that are starting to understand just how android works.
I'll be using them both, thanks.
Related
Well after 2 days of testing the xxkb3 battery usage which I have been talking about as great is a false perception, whats happening is that the battery indicator is not actually updating the real status thus showing good battery life.
I reported earlier that in ideal mode 12hrs night time its only consuming 2% that's not true, whats happening is that the moment i start using the handset in morning just after few mins I noticed a sharp drop in battery status I got confused the 1st day of test so did it another day & noticed the same behavior, hence installed battery Notifier (big text) which shows directly in the status bar & that showed a mismatch since this morning.
Here are few screenshot at 80% actual battery the icon is still showing me full charge to make me believe that its a good battery......now is it a bug in xxkb3 which should be reported or any way to correct it? DDKB1 which i was using earlier never had this problem.
The Green text at left is the battery notifier.
Dude i dont think its a problem.
The indicator changes according to the % of battery remaining. The default status indicator will have only a total of 4 to 5 stages of indication.
above 80 - state 1
above 60 - state 2
above 40 - state 3
above 20 - state 4
less than 10 - state 5.
For example
if % is above 80 , then the indicator will show full.
if it is in between 60 to 79 then it will show some changes.
Im using battery status widget to monitor battery as it gives more info on the battery status.
if % is above 80 , then the indicator will show full.
if it is in between 60 to 79 then it will show some changes.
Click to expand...
Click to collapse
yes that is what happening so you confirm that its normal. I will test it for few more days, do we have any app which can graphically plot the battery stats?
Yes, this is normal, you can check this battery indicator out it's pretty detailed - http://forum.xda-developers.com/showthread.php?p=8639993
Or, you can replace the default indicator - http://forum.xda-developers.com/showthread.php?t=724778
Thanks a lot
I have been hunting for that app in the market but could not find any such app there.
sgsI9003 said:
yes that is what happening so you confirm that its normal. I will test it for few more days, do we have any app which can graphically plot the battery stats?
Click to expand...
Click to collapse
Try JuicePlotter from the market!
btw, dont these battery indicator apps themselves drain battery quite too much?
bala_gamer said:
Dude i dont think its a problem.
The indicator changes according to the % of battery remaining. The default status indicator will have only a total of 4 to 5 stages of indication.
above 80 - state 1
above 60 - state 2
above 40 - state 3
above 20 - state 4
less than 10 - state 5.
For example
if % is above 80 , then the indicator will show full.
if it is in between 60 to 79 then it will show some changes.
Im using battery status widget to monitor battery as it gives more info on the battery status.
Click to expand...
Click to collapse
......and it is the same in KB1 as well. It is the normal behavior. @sgsI9003 Now the point is why the battery indicator (the stock blue one) suddenly drops when u start using it.
needachange said:
......and it is the same in KB1 as well. It is the normal behavior. @sgsI9003 Now the point is why the battery indicator (the stock blue one) suddenly drops when u start using it.
Click to expand...
Click to collapse
My guess is that at till 80 it wont show any drain & & then when I use for 30 mins assume it consumed another 10% so suddenly I see a drop of 30% bcoz the 1st 20% was not even showing at that time & I use to wonder how come 30 mins using consumes so much battery?
Now all is sorted out with these numerical indicators. After 3 days of testing I can say that xxkb3 has better battery life on ideal /standby if you use the phone just for calling it can last easily 48+ hrs, with web surfing, mail access & other multimedia usage it would last 12-24hours only depending upon how much its being used.
Another testing now reveled that each night I have different amount of drain which I assume that its due to radio signal interaction. Best practice is to switch off or put to airplane mode to conserve battery or have an app which can follow a time schedule to do this automatically.
Dude! why don't u try battery solo widget (free version from the market). It looks awesome & consumes around 2.9mb of ram with negligible cpu. so hardly any effect on the battery life.
For battery solo widget I have always had to go back to home screen to look the status but with battery Notifier (big text) I can see it always in real time on the notification bar.
Do u know how battery efficient ur smartphone is?
How is the battery efficiency of kernel X compared to that of kernel Y?
Is there an objective way to work out battery efficiency (ie. other than appealing to ur subjective impression)?
Below is my tentative solution to the above questions
Requirement:
1. You need to be able to bootup into recovery mode where u can wipe the battery stat (e.g. CWM Recovery can do that. In most cases, u need a rooted phone to obtain CWM Recovery);
2. You need to be able to take screen shots;
3. CPU Spy (by storm717, free from Google Play. Disclaimer: this author doesn't have any affiliation with the app or its creator )
4. Know the total capacity (in mAH) of ur battery (can be read from the face or the back of ur battery)
Procedure
Step 1. Calibrate the battery level indicator of ur phone
Concerning the battery level, theoretically only two points can be certain: 100% (when the battery is fully charged) and 0% (when it is totally depleted). All in the middle are extrapolations based on either the 100% or the 0% point.
Practically, the 100% point is the only point against which the battery indicator can be accurately calibrated. Below is the how:
1a. Fully charge ur phone. Switch it off when the fully charge indicator is on BUT leave the charger connected to it at this point;
1b. Half an hour later, with the charger still attached, boot up into recovery mode;
1c. Choose "Wipe battery stat" from the recovery menu: (for CWM Recovery) scroll to "advanced", then "Wipe battery stat", then scroll down to highlight "yes, wipe battery stat". When it is highlighted, WAIT FOR 1 MORE MINUTE before u press the Home button to activate it (the wait will make extra sure ur battery level is truly, totally, and absolutely 100% )
1d. When that extra 1 minute is over, press the Home button to activate "yes, wipe the battery stat" --- now, the battery level indicator is accurately calibrated to 100%. (U now can see why u can never totally accurately calibrate against the 0% point: as soon as u reach the true 0%, ur phone is out and u can't reset the battery level indicator to zero when ur phone is out. That's why )
Step 2. Monitor ur battery consumption
2a. With Step 1 completed, reboot ur phone;
2b. From this time on, DO NOT ATTACH UR PHONE TO UR PC VIA USB OR SWITCH OFF OR REBOOT UR PHONE until the whole monitoring process is over;
2c. U may then use the phone any way u wish (with exception 2b above applied), but from time to time (say for every 4 or 6 hours), run CPU Spy and take a screen shot of the results it obtains each time (see for e.g. the pictures attached);
2d. The monitoring should continue until the battery level is around 10%
Step 3. Calculate the rate of battery consumption
After Step 2, u will have multiple screen shots showing ur battery consumption at various levels of battery discharge. U may use the data obtained to calculate the rate of consumption of ur device. Below is how:
3a. Take my own consumption (battery: 2,500 mAH stock battery, phone: Samsung Galaxy Note) as an example --- see Fig 1 attached.
When the battery level is 74%, the CPU stats are as followed:
Deep Sleep: 15h 22m 55s, 90%
200Mhz: 1h 13m 21s, 7%
etc.
Understandably, the rate of battery consumption is different at different CPU frequencies. So, we will calculate the respective rates one by one (when the data obtained permit so).
3b. To calculate the rate of consumption (in mA/sec), when the phone is in Deep Sleep, C(Deep Sleep):
Amount of battery used = 2,500 mA * (100 - 74)% * 90% = 585 mA
= C(DS)*(15*60 *60 + 22*60 +55)sec
Thus, C(DS) = 0.0106 mA/sec ---------------------------------------(1a)
Similarly for C(200Mhz) (rate of battery consumption when CPU is at 200Mhz)
C(200Mhz) = 0.0103 mA/sec ----------------------------------------(2a)
In theory, we can similarly calculate the rates C(500Mhz), C(800Mhz), etc. However, becoz the consumption % for those frequencies are below 1 and CPU Spy rounds all decimals to the nearest digit, so in practice the figures obtained cannot be used.
3C. Now, let's look at Fig 2, when the battery level is at 47%. The data obtained are:
Deep Sleep: 19h 29m 27s, 81%
200Mhz : 3h 15m 1s, 13%
etc.
Thus, C(DS) = 0.0153 mA/sec ----------------------------------------(1b)
C(200Mhz) = 0.0147 mA/sec -----------------------------------(2b)
Hence in my case (Samsung Galaxy Note, GB 2.3.6, Kingdroid v5.4 ROM, Speedmod K1-5 kernel, 2,500 mAH stock battery) the rate of battery consumption is around 0.011 to 0.015 mA/sec.
Limitations
1. The results obtained from the above method to calculate rates of battery consumption is system-dependent, meaning that meaningfully comparison between results can only be made for the same combination of phone + battery (system). Say u obtain C(Deep Sleep) for certain phone, OS, ROM, kernel is, for instance, Z mA/sec, this doesn't mean that for the phone model having the same OS, ROM, kernel, C(Deep Sleep) must be Z, becoz even for the same models the hardwares may be different and the battery may also be a bit different (different batches may behave slightly differently; and more importantly, the AGE of a battery can have significant effect on its performance, so batteries of the same model and the same batch may perform different owing to their different age). Nonetheless, u may make meaningful comparison when u compare results obtained for different OS's, ROM's, or kernels u install to ur system (phone + battery).
2. The rate of battery consumption with CPU at higher frequencies may not be derivable owing to the rounding of figures by CPU Spy.
******************************
Pls click "Thanks" if u find this makes good sense
reserved for possible future use.
Interesting post!
What do you say if I only charge my phone to full, use Battery Calibration, reboot the phone. Will the phone still be 100% charged? Also, I think randomly using your phone between a certain range of battery levels, say 100-10%, doesn't really guarantee exact data for calculations. Maybe a stress-testing app will do a better job. Have you tested My Battery Drain Analyser and compared your results to its reading?
Please correct any technical fact if needed!
Your info is interesting but you may post it on the battery thread already is placed in general
I try few roms and always have miscellaneous bug and wifi constantly on..
This is with unofficial cm 12 still on the phone.
Most if not all aosp 5.0.1 ROMs should not have a miscellaneous bug... I have never had an issue with WiFi always on. In currently running the latest optipop by @Cl3Kener
I know that is why i am not sure why i have it i flash this rom this afternoon so it is 5.0.1 but bug is here.
any rom using 5.0/0.1 binaries shouldnt have that. such as rastapop, slim lp, ls lp and so on
Will try rastapop now and see what will happen.
There is no such thing as a miscellaneous bug. Miscellaneous is not a bug.
The difference is that miscellaneous is either hidden or is not hidden. Battery use is the same. That's it. There is no bug.
From http://forum.xda-developers.com/showthread.php?t=2973480
rootSU said:
Its really simple and basic and is in no way "drain". If the big wall of text in the screenshot doesn't clarify what it is, then I will elaborate further.
All your battery stats are guessed calculations. They're never accurate. Never have been and never will be.
Here's how battery stats work.
In android, there is a file. It lists "power consumption" for certain things.
For example (and these numbers are made up because i can't be bothered to look in the code)
WiFi disconnected = 4mA
WiFi connected = 10mA
So if your phone has been connected to WiFi for 10 hours, it calculates that 10 hours @10ma = x% of battery used.
However, what if you're in your bedroom for 10 hours? The router is in your living room. Actually your WiFi is using 20mA because of the weal signal. Well, this magic file cannot account for that. There is no "WiFi connected but user is in bedroom = 20mA" entry in the file.
Battery stats actually have no link to actual battery usage. Its just a guess. Battery stats knows how much battery has been used and using its magic file, makes an educated guess at how much % battery has been used by each thing.
So your battery has depleted by 50%. 25% is WiFi connected at 10mA. But your WiFi was actually using 20mA because of distance. Battery stats cannot know this. So you actually have 25% missing in battery stats. That's what miscellaneous was created for. To show that there was a difference between battery stats guess and actual battery use from the battery.
Its the same for screen brightness, cell signal, CPU usage etc. The file knows very little. Battery stats is very inaccurate
Google actually removed miscellaneous from stock ROMs due to people who don't understand, calling it a WiFi bug. However it still exists in aosp.
I hope think clarifies for people
Click to expand...
Click to collapse
rootSU said:
There is no such thing as a miscellaneous bug. Miscellaneous is not a bug.
The difference is that miscellaneous is either hidden or is not hidden. Battery use is the same. That's it. There is no bug.
From http://forum.xda-developers.com/showthread.php?t=2973480
Click to expand...
Click to collapse
You may as well add these two Github links to your text file:
From Google: Skip Misc/Overcounted battery stats in release builds.
Custom ROM feature: Settings: make unaccounted and over-counted battery usage configurable
Lethargy said:
You may as well add these two Github links to your text file:
From Google: Skip Misc/Overcounted battery stats in release builds.
Custom ROM feature: Settings: make unaccounted and over-counted battery usage configurable
Click to expand...
Click to collapse
Thanks. Will do. I haven't actually committed this to ever note yet but will soon. I'm waiting for some screen shots (I have this feature in slim lap to hide misc) before I do...
So this mean that maybe is time to change my battery.
kojoti2 said:
So this mean that maybe is time to change my battery.
Click to expand...
Click to collapse
No. It means nothing. Just that there is no bug. Your battery will last the same amount of time on a rom that shows misc as a rom that does not show misc.
I have free fall on battery that is not happen before and my phone is one year i will let rom settle few days yo see if something change if not will order new battery from amazon. I never have this problem with kitkat.
kojoti2 said:
I have free fall on battery that is not happen before and my phone is one year i will let rom settle few days yo see if something change if not will order new battery from amazon. I never have this problem with kitkat.
Click to expand...
Click to collapse
Because Misc. wasn't a thing in KK? lol
Because battery i believe is bad.
@Lethargy, thinking of commiting this to my evernote to reuse. Mind proof reading it for me please?
THere is no "Misc bug" or "WiFi Bug" related to misc
Its really simple and basic and is in no way "drain". All your battery stats are guessed calculations. They're never accurate. They never have been and never will be.
How battery stats work
The Battery stats UI shows the percentage of battery that device elements are responsible for using, which is based on a couple of things.
1./data/system/batterystats.bin
2./system/frameworks/frameworks-res.apk/res/xml/power_profile.xml
These things contribute in the following way:
1.From the moment Android detects that a close-to-full charge has completed, batterystats.bin records how long the device elements are running
3.This xml file is where the information about how much power, each device element “uses”
The battery stats UI looks at batterystats.bin to see how long each element has been running (and in what state) since the last charge, applies the value (in mV) for each element stored in power_profiles.xml and comes up with a calculation of the % of battery each element is using.
It simply knows the total mV used by adding up all the element values and the time in state to work out the percentages.
Here is a really basic example…
power_profile.xml from the SNexus 5
Code:
0
82.75
201.16
51.55z
0.79
3.5
73.24
75.48
0.1
0.1
76.23
185.19
99.2
batterystats.bin
Code:
screen.on = 2 h
bluetooth.active = 3 h
bluetooth.on = 7 h
wifi.on = 6 h
wifi.active = 4 h
So, if….
Code:
screen.on = 165.5
bluetooth.active = 154.65
bluetooth.on = 5.53
wifi.on = 21
wifi.active = 292.96
Total = 639.64
Then…
Code:
screen.on = 26%
bluetooth.active = 24%
bluetooth.on = 1%
wifi.on = 3%
wifi.active = 46%
Total = 100%
That was a basic example of how the Battery Stats UI makes it’s calculations. Notice how the total is 100%? Well in KK and earlier this was the case. The Battery Stats UI calculated to 100%. So even if you had only used 50% of your battery, it would show that device elements had used 100% of your 50% used battery.
This meant that as it always had to add up to 100%, it didn't have to be particularly accurate. It takes the values and calculations it knows about and works the portion of that 100% each known value has taken. It knows that 639.64 is 100% therefore wifi at 292.96 must be 46%....
Since Lollipop, it has changed and makes it more difficult for battery stats UI to be so blase about its accuracy. Now it attempts to show you what "actual" percentage of battery has been used. For example, if 50% of your battery has been used, the total of percentage used by device elements will also show as 50%. However, now that the total % of elements might not match the total % of battery used, it is much harder to hide how inaccurate battery stats actually are.
So to elaborate on that further, lets say that your Nexus 5 battery is 4720 mV in capacity. The actual battery % in status bar is calculated by reading the actual current battery reading from the battery itself and working out the %, so in the example above, 14% battery has been used (639.64 is 14% of 4720 - or more accurately 13.55%)
So...
Code:
screen.on = 3.6%
bluetooth.active = 3.4%
bluetooth.on = 0.05%
wifi.on = 0.5%
wifi.active = 6%
Total = 13.55%
Why are they never accurate?
So battery % in status bar takes a reading from the actual battery, but battery stats just add up what they recorded multiplied by the Power_profile.xml values.
Looking at the power_profile.xml file, you'll see for example, wifi - there is an "on" value and an "active" value. There are just 2 states. However, what if your router is in your living room and you are in the bedroom? WiFi Active may not be 76.23 at all. Due to weak signal, it may be 150.... But battery stats is not aware that it may be using 150.... So it calculates using 76.23
This is where it gets a little more complicated. Lets go back to these calculations, but factor in the new 150 value for bedroom wifi active
batterystats.bin
Code:
screen.on = 2 h
bluetooth.active = 3 h
bluetooth.on = 7 h
wifi.on = 6 h
wifi.active = 2 h
wifi.active.InBedroom = 2 h
So, if….
Code:
screen.on = 165.5
bluetooth.active = 154.65
bluetooth.on = 5.53
wifi.on = 21
wifi.active = 152.46
wifi.active.InBedroom = 300
Total = 799.14
So that is what ACTUALLY happened. But Battery Stats doesn't know.. because the power_profile.xml does not really have the InBedroom entry at all. So battery stats shows that a total 639.64 of battery has been used, however the physical battery reports that 799.14 has been used. So the battery % in the status bar is 100% - 17%, = 83%.... 17% has been used but our earlier stats (that don't show the fake inbedroom value) show the total used is only 13.55% - there is a discrepancy here...
Well, since lollipop, that discrepancy has to be accounted for to make the battery stats appear more accurate, so the 159.50 difference that is unaccounted for (The Wifi InBedroom), now will appear as "Miscellaneous". This makes battery stats show that 17% total battery has been used, to match the status bar and not 13.55% as per the total added up from Power_profile.xml...
THis is not just the case with WiFI, but with everything from Screen brightness, to bluetooth to cell reception.
Why does misc show on some roms and not others
You may remember a while back that people were reporting the WiFi bug to google.. Well, simply - they probably got fed up and hid misc in Stock ROMS. No stock roms on the Nexus 5 show misc anymore. They just have calculations that no longer add up in total to the amount of % used of your battery
Some people have accused google of "hiding" the bug. What we're saying is that there is NO BUG and they hid misc, which is what caused people to think there was a bug in the first place.
The Misc battery report is still in AOSP code, however some roms have also decided to hide it, such as SlimRoms for example.
You can see their changes here:
From Google: https://github.com/SlimRoms/packages_apps_Settings/commit/e6793771cedb47aed72f1c64f870b70357746938
Custom ROM feature: https://github.com/SimpleAOSP-Lolli...mmit/d025994f90722139dfcf236f275e05236ec47491
Here is an example on SlimLP with the option turned on and off
Summary
There is no such thing as a "misc bug" or "WiFi bug". Android tries to calculate the amount of battery used by each device element, based on a very finite list of values. Since the values are pre-determined in a file, it is not an accurate refelection of reality. When these values in reality are higher than the file, it makes the Battery Stats show a lower % than reality being used by the elements (most easily seen in wifi). To make the elements total match the actual % used from the battery, Misc was created to fill in that discrepancy - However, since people thought it was a bug due to lack of understanding, it has since been hidden. But it is not a bug.
rootSU said:
@Lethargy, thinking of commiting this to my evernote to reuse. Mind proof reading it for me please?
Click to expand...
Click to collapse
Here we go: http://pastebin.com/htnd4hhq
Quite long so maybe make this a thread, then have a much shorter, basic summary with a link to the full post?
Lethargy said:
Here we go: http://pastebin.com/htnd4hhq
Quite long so maybe make this a thread, then have a much shorter, basic summary with a link to the full post?
Click to expand...
Click to collapse
I just rewrote it slightly...
I don't want to make it a thread really. Whenever I make a thread, I seem to get challenged by some members about it's accuracy and to be honest, it's getting a bit boring. Not that I mind being challenged. I write my threads in such a way that they make sense by over simplifying stuff which sometimes makes them technically inaccurate to an extent to make it understandable. However, every time I create a thread, I end up spending half my time explaining why I wrote what I wrote in the way that I did, so i'm just gonna do what I do with some other responses and make them an Ever note pastable answer.
But the answer is acceptable to you?
rootSU said:
I just rewrote it slightly...
I don't want to make it a thread really. Whenever I make a thread, I seem to get challenged by some members about it's accuracy and to be honest, it's getting a bit boring. Not that I mind being challenged. I write my threads in such a way that they make sense by over simplifying stuff which sometimes makes them technically inaccurate to an extent to make it understandable. However, every time I create a thread, I end up spending half my time explaining why I wrote what I wrote in the way that I did, so i'm just gonna do what I do with some other responses and make them an Ever note pastable answer.
Click to expand...
Click to collapse
Haha, yeah.
rootSU said:
But the answer is acceptable to you?
Click to expand...
Click to collapse
Yup
Lethargy said:
Haha, yeah.
Yup
Click to expand...
Click to collapse
Cool, thanks for your time and input. As always, much appreciated.
Nice explanation i have one more question according to miscellaneous report power that battery produce is way smaller than power use and my battery charge time is always 40-50 minutes from 10% battery lvl.
I have same application as on kitkat all up to date. That is why i'm suspicious that my battery need to be replaced.
kojoti2 said:
Nice explanation i have one more question according to miscellaneous report power that battery produce is way smaller than power use and my battery charge time is always 40-50 minutes from 10% battery lvl.
I have same application as on kitkat all up to date. That is why i'm suspicious that my battery need to be replaced.
Click to expand...
Click to collapse
My advice to you is forget about miscellaneous all together. Your graph looks like you have a problem but I have no idea what the cause is. Misc is only showing because android doesn't know what it is.
I would consider doing a full factory reset and running it "blank" for few days, running apps like gsam or bbs to see what is going on - probably on stock rom.... It could be that your battery is indeed problematic, but I think its best to disassociate that with misc etc and look at it objectively.
Not sure if this is the right place for a rant but here i go none the less.
If this isn't the place for a rant then please move or delete.
My cant there be a ROM out there that has everything lol
I've been going from ROM to ROM for sometime now.
I find one that has all the features but has crap battery life. Which makes no sense to me as they are all from aosp or source. How can some ROMs have the misc battery issues but others don't. This is extremely frustrating.
Then I will find a ROM that has amazing battery life but has nothing for features or is all blacked out.
I know Devs make ROMs on their free time and all and don't make money. But I'm one of the few who when they find a ROM, donate. I do it for apps. Kernels. ROMs.
All I want essentially is rastapop ROM as it had the best battery life I had ever seen. It has most of the features I want except one. Led notifications. I want it built in. Not a separate app like liteflow. I find liteflow barely works. Without having a stupid constant notification.
Anyways. Why Oh why can I not find a ROM that has everything. Ugh...
/rant
1. There is no place for rants
2. There is no "Misc bug" or "WiFi Bug" related to misc
Its really simple and basic and is in no way "drain".* All your battery stats are guessed calculations. They're never accurate. They never have been and never will be.
Basic version
Here's how battery stats work.*
In android, there is a file. It lists "power consumption" for certain things.*
For example (and these numbers are made up for simplicity)
WiFi disconnected = 4mA
WiFi connected = 10mA
So if your phone has been connected to WiFi for 10 hours, it calculates that 10 hours @ 10mA = x% of battery used.*
However, what if you're in your bedroom for 10 hours? The router is in your living room. Actually your WiFi is using 20mA because of the weal signal. Well, this magic file cannot account for that. There is no "WiFi connected but user is in bedroom = 20mA" entry in the file.*
Battery stats actually have no link to actual battery usage. Its just a guess. Battery stats knows how much battery has been used and using its magic file, makes an educated guess at how much % battery has been used by each thing.*
So your battery has depleted by 50%. 25% is WiFi connected at 10mA. But your WiFi was actually using 20mA because of distance. Battery stats cannot know this. So you actually have 25% missing in battery stats. That's what miscellaneous was created for. To show that there was a difference between battery stats guess and actual battery use from the battery.*
Its the same for screen brightness, cell signal, CPU usage etc. The file knows very little. Battery stats is very inaccurate
Google actually removed miscellaneous from stock ROMs due to people who don't understand, calling it a WiFi bug. However it still exists in aosp.*
Advanced version
How battery stats work
The Battery stats UI shows the percentage of battery that device elements are responsible for using, which is based on a couple of things.
1./data/system/batterystats.bin
2./system/frameworks/frameworks-res.apk/res/xml/power_profile.xml
These things contribute in the following way:
1.From the moment Android detects that a close-to-full charge has completed, batterystats.bin records how long the device elements are running
3.This xml file is where the information about how much power, each device element “uses”
The battery stats UI looks at batterystats.bin to see how long each element has been running (and in what state) since the last charge, applies the value (in mV) for each element stored in power_profiles.xml and comes up with a calculation of the % of battery each element is using.
It simply knows the total mV used by adding up all the element values and the time in state to work out the percentages.
Here is a really basic example…
power_profile.xml from the SNexus 5
Code:
*0 82.75 201.16 51.55 0.79 3.5 73.24 75.48 0.1 0.1 76.23 185.19 99.2
batterystats.bin
Code:
*** screen.on = 2 h
*** bluetooth.active = 3 h
*** bluetooth.on = 7 h
*** wifi.on = 6 h
*** wifi.active = 4 h
So, if….
Code:
*** screen.on = 165.5
*** bluetooth.active = 154.65
*** bluetooth.on = 5.53
*** wifi.on = 21
*** wifi.active = 292.96
*** Total = 639.64
Then…*
Code:
*** screen.on = 26%
*** bluetooth.active = 24%
*** bluetooth.on = 1%
*** wifi.on = 3%
*** wifi.active = 46%
*** Total = 100%
That was a basic example of how the Battery Stats UI makes it’s calculations.* Notice how the total is 100%? Well in KK and earlier this was the case.* The Battery Stats UI calculated to 100%.* So even if you had only used 50% of your battery, it would show that device elements had used 100% of your 50% used battery.
This meant that as it always had to add up to 100%, it didn't have to be particularly accurate.* It takes the values and calculations it knows about and works the portion of that 100% each known value has taken.* It knows that 639.64 is 100% therefore wifi at 292.96 must be 46%....
Since Lollipop, it has changed and makes it more difficult for battery stats UI to be so blase about its accuracy.* Now it attempts to show you what "actual" percentage of battery has been used.* For example, if 50% of your battery has been used, the total of percentage used by device elements will also show as 50%.* However, now that the total % of elements might not match the total % of battery used, it is much harder to hide how inaccurate battery stats actually are.
So to elaborate on that further, lets say that your Nexus 5 battery is 4720 mV in capacity.* The actual battery % in status bar is calculated by reading the actual current battery reading from the battery itself and working out the %, so in the example above, 14% battery has been used (639.64 is 14% of 4720 - or more accurately 13.55%)
So...*
Code:
*** screen.on = 3.6%
*** bluetooth.active = 3.4%
*** bluetooth.on = 0.05%
*** wifi.on = 0.5%
*** wifi.active = 6%
*** Total = 13.55%
Why are they never accurate?
So battery % in status* bar takes a reading from the actual battery, but battery stats just add up what they recorded multiplied by the Power_profile.xml values.
Looking at the power_profile.xml file, you'll see for example, wifi - there is an "on" value and an "active" value.* There are just 2 states.* However, what if your router is in your living room and you are in the bedroom?* WiFi Active may not be 76.23 at all.* Due to weak signal, it may be 150....* But battery stats is not aware that it may be using 150....* So it calculates using 76.23
This is where it gets a little more complicated.* Lets go back to these calculations, but factor in the new 150 value for bedroom wifi active
batterystats.bin
Code:
*** screen.on = 2 h
*** bluetooth.active = 3 h
*** bluetooth.on = 7 h
*** wifi.on = 6 h
*** wifi.active = 2 h
wifi.active.InBedroom = 2 h
So, if….
Code:
*** screen.on = 165.5
*** bluetooth.active = 154.65
*** bluetooth.on = 5.53
*** wifi.on = 21
*** wifi.active = 152.46
wifi.active.InBedroom = 300
*** Total = 799.14
So that is what ACTUALLY happened.* But Battery Stats doesn't know.. because the power_profile.xml does not really have the InBedroom entry at all.* So battery stats shows that a total 639.64 of battery has been used, however the physical battery reports that 799.14 has been used.* So the battery % in the status bar is 100% - 17%, = 83%....* 17% has been used but our earlier stats (that don't show the fake inbedroom value) show the total used is only 13.55% - there is a discrepancy here...
Well, since lollipop, that discrepancy has to be accounted for to make the battery stats appear more accurate, so the 159.50 difference that is unaccounted for (The Wifi InBedroom), now will appear as "Miscellaneous".* This makes battery stats show that 17% total battery has been used, to match the status bar and not 13.55% as per the total added up from Power_profile.xml...*
THis is not just the case with WiFI, but with everything from Screen brightness, to bluetooth to cell reception.
Why does misc show on some roms and not others
You may remember a while back that people were reporting the WiFi bug to google..* Well, simply - they probably got fed up and hid misc in Stock ROMS.* No stock roms on the Nexus 5 show misc anymore.* They just have calculations that no longer add up in total to the amount of % used of your battery
Some people have accused google of "hiding" the bug.* What we're saying is that there is NO BUG and they hid misc, which is what caused people to think there was a bug in the first place.
The Misc battery report is still in AOSP code, however some roms have also decided to hide it, such as SlimRoms for example.
You can see their changes here:
From Google: https://github.com/SlimRoms/packages_apps_Settings/commit/e6793771cedb47aed72f1c64f870b70357746938
Custom ROM feature: https://github.com/SimpleAOSP-Lolli...mmit/d025994f90722139dfcf236f275e05236ec47491
Here is an example on SlimLP with the option turned on and off
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Summary
There is no such thing as a "misc bug" or "WiFi bug".* Android tries to calculate the amount of battery used by each device element, based on a very finite list of values.* Since the values are pre-determined in a file, it is not an accurate refelection of reality.* When these values in reality are higher than the file, it makes the Battery Stats show a lower % than reality being used by the elements (most easily seen in wifi).* To make the elements total match the actual % used from the battery, Misc was created to fill in that discrepancy - However, since people thought it was a bug due to lack of understanding, it has since been hidden.* But it is not a bug.
Makes sense. Thank you. I read some thing about the misc drain. But never truly understood it. That actually helped and made me understand it.
But why does it seem like my battery is worse when I am on ROMs with the misc drain. Then on ROMs that don't list it.
Example. My drain is worse when on cm12 but is better on rastapop.
Anyways. I guess someone can delete this thread before it becomes a bashing heaven lol or a flame war in here.
Thank you again for the clarification on that misc battery thing. Appreciated very much.
No problem. As for why some see to drain quicker, I can only guess its to do with the out-of-the-box kernel settings, or its pyschologogical
rootSU said:
No problem. As for why some see to drain quicker, I can only guess its to do with the out-of-the-box kernel settings, or its pyschologogical
Click to expand...
Click to collapse
Can't be psychological...
Here's a good comparison.
My work is 30 mins away driving. Every day is the same. Same route. Same time. Etc
Some ROMs by the time I get to work I'm at 95%
Some ROMs I'll be at 99% .
That's usually my comparison
I would have all the same stuff running. I normally don't touch my phone other then turning off wifi and turning on bt.
My phone auto reboots every morning at 5am.
Anyways lol enough of all that.
Thank you again for the details
c_86 said:
Can't be psychological...
Here's a good comparison.
My work is 30 mins away driving. Every day is the same. Same route. Same time. Etc
Some ROMs by the time I get to work I'm at 95%
Some ROMs I'll be at 99% .
That's usually my comparison
I would have all the same stuff running. I normally don't touch my phone other then turning off wifi and turning on bt.
My phone auto reboots every morning at 5am.
Anyways lol enough of all that.
Thank you again for the details
Click to expand...
Click to collapse
Hmm. I think it may be because it guesses what usage will be then realizes the battery is only at x when it calculates y.
Sent from my Nexus 5 using XDA Free mobile app
Learn to compile yourself. Issues solved.
Tweaked. Believe me. I have tried. For some reason it's just above my head and I get confused. I'm normally decent at coding but for some reason I cannot wrap my head around compiling for Android.
Just upgraded my Nexus 5 to CM12, now i'm getting huge battery drain by a process called "Miscellaneous" and it's becoming very annoying... What is this process?? What information do we have here on XDA??? Anyone else is having this issue????
Enri1196 said:
Just upgraded my Nexus 5 to CM12, now i'm getting huge battery drain by a process called "Miscellaneous" and it's becoming very annoying... What is this process?? What information do we have here on XDA??? Anyone else is having this issue????
Click to expand...
Click to collapse
Working as intended. There has been much discussion on this but someone correct me if I'm wrong it's Lollipop estimating what your battery usage is going to be for X then it ends up being Y so X+/-Y = Miscellaneous..
There is no "Misc bug" or "WiFi Bug" related to misc
Its really simple and basic and is in no way "drain".* All your battery stats are guessed calculations. They're never accurate. They never have been and never will be.
Basic version
Here's how battery stats work.*
In android, there is a file. It lists "power consumption" for certain things.*
For example (and these numbers are made up for simplicity)
WiFi disconnected = 4mA
WiFi connected = 10mA
So if your phone has been connected to WiFi for 10 hours, it calculates that 10 hours @ 10mA = x% of battery used.*
However, what if you're in your bedroom for 10 hours? The router is in your living room. Actually your WiFi is using 20mA because of the weal signal. Well, this magic file cannot account for that. There is no "WiFi connected but user is in bedroom = 20mA" entry in the file.*
Battery stats actually have no link to actual battery usage. Its just a guess. Battery stats knows how much battery has been used and using its magic file, makes an educated guess at how much % battery has been used by each thing.*
So your battery has depleted by 50%. 25% is WiFi connected at 10mA. But your WiFi was actually using 20mA because of distance. Battery stats cannot know this. So you actually have 25% missing in battery stats. That's what miscellaneous was created for. To show that there was a difference between battery stats guess and actual battery use from the battery.*
Its the same for screen brightness, cell signal, CPU usage etc. The file knows very little. Battery stats is very inaccurate
Google actually removed miscellaneous from stock ROMs due to people who don't understand, calling it a WiFi bug. However it still exists in aosp.*
Advanced version
How battery stats work
The Battery stats UI shows the percentage of battery that device elements are responsible for using, which is based on a couple of things.
1./data/system/batterystats.bin
2./system/frameworks/frameworks-res.apk/res/xml/power_profile.xml
These things contribute in the following way:
1.From the moment Android detects that a close-to-full charge has completed, batterystats.bin records how long the device elements are running
3.This xml file is where the information about how much power, each device element “uses”
The battery stats UI looks at batterystats.bin to see how long each element has been running (and in what state) since the last charge, applies the value (in mV) for each element stored in power_profiles.xml and comes up with a calculation of the % of battery each element is using.
It simply knows the total mV used by adding up all the element values and the time in state to work out the percentages.
Here is a really basic example…
power_profile.xml from the SNexus 5
Code:
*<item name="none">0</item> <item name="screen.on">82.75</item> <item name="screen.full">201.16</item> <item name="bluetooth.active">51.55</item> <item name="bluetooth.on">0.79</item> <item name="wifi.on">3.5</item> <item name="wifi.active">73.24</item> <item name="wifi.scan">75.48</item> <item name="dsp.audio">0.1</item> <item name="dsp.video">0.1</item> <item name="gps.on">76.23</item> <item name="radio.active">185.19</item> <item name="radio.scanning">99.2</item>
batterystats.bin
Code:
*** screen.on = 2 h
*** bluetooth.active = 3 h
*** bluetooth.on = 7 h
*** wifi.on = 6 h
*** wifi.active = 4 h
So, if….
Code:
*** screen.on = 165.5
*** bluetooth.active = 154.65
*** bluetooth.on = 5.53
*** wifi.on = 21
*** wifi.active = 292.96
*** Total = 639.64
Then…*
Code:
*** screen.on = 26%
*** bluetooth.active = 24%
*** bluetooth.on = 1%
*** wifi.on = 3%
*** wifi.active = 46%
*** Total = 100%
That was a basic example of how the Battery Stats UI makes it’s calculations.* Notice how the total is 100%? Well in KK and earlier this was the case.* The Battery Stats UI calculated to 100%.* So even if you had only used 50% of your battery, it would show that device elements had used 100% of your 50% used battery.
This meant that as it always had to add up to 100%, it didn't have to be particularly accurate.* It takes the values and calculations it knows about and works the portion of that 100% each known value has taken.* It knows that 639.64 is 100% therefore wifi at 292.96 must be 46%....
Since Lollipop, it has changed and makes it more difficult for battery stats UI to be so blase about its accuracy.* Now it attempts to show you what "actual" percentage of battery has been used.* For example, if 50% of your battery has been used, the total of percentage used by device elements will also show as 50%.* However, now that the total % of elements might not match the total % of battery used, it is much harder to hide how inaccurate battery stats actually are.
So to elaborate on that further, lets say that your Nexus 5 battery is 4720 mV in capacity.* The actual battery % in status bar is calculated by reading the actual current battery reading from the battery itself and working out the %, so in the example above, 14% battery has been used (639.64 is 14% of 4720 - or more accurately 13.55%)
So...*
Code:
*** screen.on = 3.6%
*** bluetooth.active = 3.4%
*** bluetooth.on = 0.05%
*** wifi.on = 0.5%
*** wifi.active = 6%
*** Total = 13.55%
Why are they never accurate?
So battery % in status* bar takes a reading from the actual battery, but battery stats just add up what they recorded multiplied by the Power_profile.xml values.
Looking at the power_profile.xml file, you'll see for example, wifi - there is an "on" value and an "active" value.* There are just 2 states.* However, what if your router is in your living room and you are in the bedroom?* WiFi Active may not be 76.23 at all.* Due to weak signal, it may be 150....* But battery stats is not aware that it may be using 150....* So it calculates using 76.23
This is where it gets a little more complicated.* Lets go back to these calculations, but factor in the new 150 value for bedroom wifi active
batterystats.bin
Code:
*** screen.on = 2 h
*** bluetooth.active = 3 h
*** bluetooth.on = 7 h
*** wifi.on = 6 h
*** wifi.active = 2 h
wifi.active.InBedroom = 2 h
So, if….
Code:
*** screen.on = 165.5
*** bluetooth.active = 154.65
*** bluetooth.on = 5.53
*** wifi.on = 21
*** wifi.active = 152.46
wifi.active.InBedroom = 300
*** Total = 799.14
So that is what ACTUALLY happened.* But Battery Stats doesn't know.. because the power_profile.xml does not really have the InBedroom entry at all.* So battery stats shows that a total 639.64 of battery has been used, however the physical battery reports that 799.14 has been used.* So the battery % in the status bar is 100% - 17%, = 83%....* 17% has been used but our earlier stats (that don't show the fake inbedroom value) show the total used is only 13.55% - there is a discrepancy here...
Well, since lollipop, that discrepancy has to be accounted for to make the battery stats appear more accurate, so the 159.50 difference that is unaccounted for (The Wifi InBedroom), now will appear as "Miscellaneous".* This makes battery stats show that 17% total battery has been used, to match the status bar and not 13.55% as per the total added up from Power_profile.xml...*
THis is not just the case with WiFI, but with everything from Screen brightness, to bluetooth to cell reception.
Why does misc show on some roms and not others
You may remember a while back that people were reporting the WiFi bug to google..* Well, simply - they probably got fed up and hid misc in Stock ROMS.* No stock roms on the Nexus 5 show misc anymore.* They just have calculations that no longer add up in total to the amount of % used of your battery
Some people have accused google of "hiding" the bug.* What we're saying is that there is NO BUG and they hid misc, which is what caused people to think there was a bug in the first place.
The Misc battery report is still in AOSP code, however some roms have also decided to hide it, such as SlimRoms for example.
You can see their changes here:
From Google: https://github.com/SlimRoms/packages_apps_Settings/commit/e6793771cedb47aed72f1c64f870b70357746938
Custom ROM feature: https://github.com/SimpleAOSP-Lolli...mmit/d025994f90722139dfcf236f275e05236ec47491
Here is an example on SlimLP with the option turned on and off
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Summary
There is no such thing as a "misc bug" or "WiFi bug".* Android tries to calculate the amount of battery used by each device element, based on a very finite list of values.* Since the values are pre-determined in a file, it is not an accurate refelection of reality.* When these values in reality are higher than the file, it makes the Battery Stats show a lower % than reality being used by the elements (most easily seen in wifi).* To make the elements total match the actual % used from the battery, Misc was created to fill in that discrepancy - However, since people thought it was a bug due to lack of understanding, it has since been hidden.* But it is not a bug.
But what do you do to get decent battery life?? maybe my battery is broken??? i don't know what to think
Enri1196 said:
But what do you do to get decent battery life?? maybe my battery is broken??? i don't know what to think
Click to expand...
Click to collapse
the miscelanius aint the problem, something else is. if you use an app or something to change your build prop and edit the ro.build.type to user (ro.build.type=user) the miscelanius will go away. use some app to indentify if you dont have wakelocks or something like that
although long time since anybody have been here, might as well ask right...
I ahve huge problem with my battery life --- I loose about 60% over night with no use.
I bought new battery and tried few different roms and kernels including stock with no luck of improvement.
I have tried to turn the wifi off and battery saver on ... Tried with no apps installed or in safe mode .... still same battery drain ...
Getting kinda desperate here.
Nexus 5 Hammerhead, Euclidean OS, ElemantalX kernel.
https://plus.google.com/photos/1097...738&ssid=41667ddc-02c5-4271-a7a3-e9b0fe1dda58
https://plus.google.com/photos/1097...738&ssid=41667ddc-02c5-4271-a7a3-e9b0fe1dda58
erik.paliza said:
although long time since anybody have been here, might as well ask right...
I ahve huge problem with my battery life --- I loose about 60% over night with no use.
I bought new battery and tried few different roms and kernels including stock with no luck of improvement.
I have tried to turn the wifi off and battery saver on ... Tried with no apps installed or in safe mode .... still same battery drain ...
Getting kinda desperate here.
Nexus 5 Hammerhead, Euclidean OS, ElemantalX kernel.
https://plus.google.com/photos/1097...738&ssid=41667ddc-02c5-4271-a7a3-e9b0fe1dda58
https://plus.google.com/photos/1097...738&ssid=41667ddc-02c5-4271-a7a3-e9b0fe1dda58
Click to expand...
Click to collapse
Just try this and let us know
https://forum.xda-developers.com/android/general/guide-extreme-battery-life-t3095884
AlbertoDR said:
Just try this and let us know
https://forum.xda-developers.com/android/general/guide-extreme-battery-life-t3095884
Click to expand...
Click to collapse
I have been led to belive I can not use xposed because I am on android 7.1., at least I have not found proper zip file to flash. So no use for me. But now i have found out it does not have to do anything with my apps.
In safe mode the battery drain is fine ... over night about 5%, wich is fine.
Lastly, i have flashed the latest euclidean os from 10.1.2017 or so ... Kept the phone as it was, no further apps ... still huge battery drain. Instaled betterbatterystats and now I know it is due to wakelocks.
i have been monitoring just a while now but for now most wakes are:
AudioMix
EntriesRefresh_wakelock
ULR-BarometerReading_wakelock
NIpCollectorWakelock
And BBS_Wakelock
I will google those later ... But mi biggest issue is the fact that the phone worked fine, but now it is terrible, with no new apps or anything ... Even without anything installed from my part the batery drain is enormous. I am constantly chargign the phone.
Thanks for your reply, though. I will when i am able to download xposed.
---------- Post added at 02:20 PM ---------- Previous post was at 01:42 PM ----------
Enri1196 said:
But what do you do to get decent battery life?? maybe my battery is broken??? i don't know what to think
Click to expand...
Click to collapse
Did you ever figure it out?
Same issue on Nexus 5 with AOSP 7.1.1 from Santhosh M.
110% battery consumed by Miscellaneous for last day