is there a way to track whats using power? sometimes my power usage is very high even if I'm not doing anything and have most everything turned off
Sent from my PC36100 using XDA App
menu>settings>applications>running services you will be able to see the apps the are currently running. or you could get a task manager but then again it will be running ALL the time..
lifesgreat said:
menu>settings>applications>running services you will be able to see the apps the are currently running. or you could get a task manager but then again it will be running ALL the time..
Click to expand...
Click to collapse
I actually tried that - but it doesn't really show me power usage, just mem and cpu. Most everything was at zero cpu. The one or two items using cpu i killed and the power usage was still coming up high. Normally the phone sits at around 140mA, but a few times now i've seen it at near 400mA. It wasn't showing an active data connection, and i had BT, WiFi, GPS and 4g all turned off.
So I have xdandroid running pretty good now without any major problems except for this. When I leave my phone idle for a long period of time, usually when I go to sleep, and come back to it I loose service as soon as I go to make a call. I tried playing with the airplane mode but it wouldn't allow me to disable the radio. Is anyone else having this problem and is there a solution? Thanks.
What phone? RHODxxx?
Build info would be helpful as well. Kernel, rootfs and system image version/date.
I quite often lose service, but there is no pattern to it! Sometimes it come back, sometimes it doesn't. If it has gone, then it won't go into airplane mode either - it seems to need to say goodbye to the network!
This is different to the scenario where I lose data connection, dispite having signal. In this situation the airplane mode trick does the job. When in this state, ifconfig doesn't display a ppp network.
Rhod100_uk, latest everything!
Well that makes me feel better, that GSM guys are experiencing the issue as well
Im also using RHOD100_uk and having this same problem aswell.
Only thing i have done that fixes it is to restart Android.
Sent from my MSM using the XDA mobile application powered by Tapatalk
I have ATT tilt2 and i seem to have this issue from time to time. Sometimes i can toggle "airplane" mode and it will reconnect. If not its a full reboot.
Yup, I see this issue from time to time on my Rhod400 as well. It will show as connected to 3G but then unable to actually transmit data. I always have to reboot to resolve this.
My bad for taking so long to reply to my own thread, things got a little busy.
Anyway, I have the Rhod210, tmobile US version. Rebooting the phone wouldn't be much of a problem, accept for the fact that this usually happens when I'm asleep, and I don't realize I need to restart it, but rather think I'm not getting any calls lol. Is there a way I could rig it to reboot every so often maybe?
manekineko said:
Yup, I see this issue from time to time on my Rhod400 as well. It will show as connected to 3G but then unable to actually transmit data. I always have to reboot to resolve this.
Click to expand...
Click to collapse
maybe once a day here with a rhod 400 on the latest frx03 build updated with sov's tool. i notice that the available memory in the advanced task killer will go from 102 when everything is running fine to 80 or 85 when is starts goin to crap. the only 2 apps i leave "alive" are task killer and juice defender.
jab73180 said:
maybe once a day here with a rhod 400 on the latest frx03 build updated with sov's tool. i notice that the available memory in the advanced task killer will go from 102 when everything is running fine to 80 or 85 when is starts goin to crap. the only 2 apps i leave "alive" are task killer and juice defender.
Click to expand...
Click to collapse
Well, for one... you're *not* supposed to use "task killer" apps in 2.2+. Feel free to keep using them, just be prepared for data loss.
Two, the mystery process you're looking for is system_server. Every time I've had complete and utter unexplainable slowness, it was this process stealing 90+% of the processor cycles.
We still have some bugs to work out
so what should i be using for such an app?
Sent from my MSM using the XDA mobile application powered by Tapatalk
jab73180 said:
so what should i be using for such an app?
Click to expand...
Click to collapse
The way Linux and Android handle applications, you shouldn't need to... At all. The only time you really *need* to kill an app is if it's misbehaving and it's frozen.
I'm running Nova and CWM9 and whenever I connect the phone to USB or a charger the phone wakes up automatically forcing me to push the power button evey time I connect it to turn off the screen.
Anyone know if it's possible to disable this "feature"?
Thanks!
I believe stock does that too. That would be an interesting tweak if it's not already around! In terms of disabling, I'm not sure there is an option to do so.
Sent from my GNex running gummy v0.7.0
Confirm stock does it as does Apex; presumably it's set somewhere basic in ICS
Its in developer options. Untick 'stay awake' (if I understand the question!)
Sent from my Galaxy Nexus using XDA App
And this is a problem why? Its just indicating to you that its plugged in properly and charging... the screen will time out and turn off a few seconds later.
Thanks for checking!
It is interesting that Google would assume everytime you plug the phone in (and unplug the phone) you would want it to wake up. Considering the short battery life these phones have, lots of charging would be commonplace and therefore lots of connecting/disconnecting without the intent to actually use the phone.
I could see giving people the option to have the phone do that - but for me the unplug wakeup is especially annoying because I have to turn it off everytime I go to put it in my pocket.
cyberfreak95 said:
Thanks for checking!
It is interesting that Google would assume everytime you plug the phone in (and unplug the phone) you would want it to wake up. Considering the short battery life these phones have, lots of charging would be commonplace and therefore lots of connecting/disconnecting without the intent to actually use the phone.
I could see giving people the option to have the phone do that - but for me the unplug wakeup is especially annoying because I have to turn it off everytime I go to put it in my pocket.
Click to expand...
Click to collapse
Well considering by stock there's no charging LED indicator, turning the screen on momentarily to indicate a charging state is a smart idea.
Also, if you're plugging it in, why are you worried about the battery drained by keeping the screen on for 10 seconds? 10 seconds.
martonikaj said:
And this is a problem why? Its just indicating to you that its plugged in properly and charging... the screen will time out and turn off a few seconds later.
Click to expand...
Click to collapse
Well that's that I thought too, but sometimes it doesn't go back to sleep like it should and I'll notice my pocket getting quite warm pull it out and it's still on.
It could be a bug in the ROM I'm running (not going to sleep correctly all the time) but I don't remember my DINC doing that so I figured it was something that just needed to be disabled.
killyouridols said:
Its in developer options. Untick 'stay awake' (if I understand the question!)
Sent from my Galaxy Nexus using XDA App
Click to expand...
Click to collapse
Hmm, I did have this option enabled - mainly because when I connect it to the charger I do like it to stay on -prime example using Slacker Radio in my car when plugged into the dock.
Maybe I'll try a different ROM since it seems the problem isn't so much that I need to disable to wakeup on connect/disconnect but instead I need the sleep function to be more reliable so I don't have a mini oven on my pocket.
Thanks!
A great option for your car dock needs would be to introduce something like the app Tasker. Then you could leave the screen off but have tasker set it to constant on and load slacker when the Bluetooth connection to your car happens.
Sent from my Galaxy Nexus
Hey,
There was a change in API 12 (Honeycomb and later) with the way "wifi lock" is handled. Even if the sleep policy in settings->wifi->advanced->"Keep wifi on during sleep" is set to "always", wifi will still be in a "low performance mode". This results in throttled speed (f.e: stuttering streaming), high latency (ping your phone) and can even cause disconnects, when the screen is off.
Still this is not bug but a feature of Android and should be addressed by any app that needs full wifi performance. Any app that needs full wifi performance (like streaming or file shearing over wifi) should call for "WIFI_MODE_FULL_HIGH_PERF". This can be found in the official "android developer reference". Before API 12 (honeycomb) an app just needed to call WIFI_MODE_FULL for "wifi lock". If an app isn't coded proberly for honeycomb and ICS and has issue with Wifi performance appart from calling "wifi wake lock", you should report that to the developer of that app.
I still found a simple workaround for scenarious in which this function is not properly called. There is an rather simple widget on google play called "WIFI High Performance Widget". If the widget is enabled, the function WIFI_MODE_FULL_HIGH_PERF is called and the wifi performance is on full speed even when the screen is off. Im not in any way involved in the developement of this app and there might be other apps out there, that could achieve the same (for example: Android Terminal emulator also calls WIFI_MODE_FULL_HIGH_PERF if "wifi lock" is enabled.) Still this widget is the simplest solution i found thus far. Just enable the widget and get full wifi performance when screen is off.
Greetings
melethron
Thank you very much mate it's really cool app successful on my GN
Nice post OP, wish there was more like this more often .
Just wanted to add that Franco's kernel (and app) has a Wifi toggle that does this also.
So will that API eventually be deprecated at some point in the future? That's the way I interpreted it which stinks meaning at some point this trick won't work...?
Thanks a lot! I was afraid that my phone was defective. I must say I'm a little disapointed with google. Theres an open case for this for months over at code.google.com issue 26654. Nobody from google has bothered answering this.
Maybe you should pop over and enlighten them?
Btw. Same with the bluetooth play/pause function. Google changed the code in ics and obviously are not able to communicate this in a clear way to the developers. Thought that was a hw fault too...
That was the last possible hw issue for me. Now i'm ready to unlock without fear of having to return it for service.
Sent from my Galaxy Nexus using Tapatalk 2
I doubt they will ever remove this new feature
RogerPodacter said:
So will that API eventually be deprecated at some point in the future? That's the way I interpreted it which stinks meaning at some point this trick won't work...?
Click to expand...
Click to collapse
I doubt that they will change this. To have 2 "wifi lock" modes is feature and not a bug. And think it's a good feature.
Providing low performance Wifi functionally is enough in most cases. For example an establieshed IMAP IDLE connection (push email) doesn't need full performance Wifi. Also other apps that get push notification (Whatsapp, facebook, google+ etc.) don't need full performance. Those 40 kb/s i get on low performance mode is way enough for all those background syncs and push stugg and any way to save Power is a good feature for those powerdraining smartphones.
If an app now needs more Performance it should make use of the WIFI_MODE_FULL_HIGH_PERF funtcion. To avoid disconnects by sleep policy, an app had to call WIFI_MODE_FULL before anyway. If the app needs more speed for some streaming, file transfer etc. it just needs to call WIFI_MODE_FULL_HIGH_PERF while its running.
Its not Google that should change anything in the way this is handled now. Its the App Developer that should do that. The SDK documentation is pretty good and although i'm not a programmer myself it didn't take long for me to find out where the issue with stuttering streams or slow file transfer lies. Since i had this issue with "Samba filesharing" i wrote a bug report to the dev and i hope this issue will be fixed soon, making this workaround obsolute. Samba filesharing already has the options to call "wifi look" and the code that needs to be changed is just some lines. If this is fixed, wifi will only be in high_perf mode, when im connected to the AP at home and power will be saved, when im out of range of the AP.
Anyone that has issue with an app, that needs full performance should actually file a bugreport and give the developer a hint by linking to the official android SDK documentation about HIGH_PERF mode. All they need to do then is replace code like:
Code:
int wifiLockMode = WifiManager.WIFI_MODE_FULL;
... which should already be present in any app that needs wifi, when screen is off, by something like that:
Code:
int wifiLockMode = WifiManager.WIFI_MODE_FULL;
if (AndroidCompat.SDK >= 12) {
wifiLockMode = WIFI_MODE_FULL_HIGH_PERF;
}
(don't rely on that code, thats just a guess from looking at the code from "Android terminal emulator" which does wifi lock "properly" for newer android versions)
This way is fully compatible with Android 1.5 - 3.0 for old "wifi lock" and also compatible with any Version newer than 3.1. that has support for newer powersaving Wifi Hardware.
So actually the only thing that google might change, may be some Kernel adjustments of the low perf mode itself, for issues with disconnects (due to some large overhead by wifi securty protocols etc). But actually i don't know if this is really some Kernel stuff or done by the Wifi hardware itself.
The reason i doubt, that google won't change anything on this function introduced in SDK API 12, is that the SDK should assure downward compatibility. Compatibility of an app with new features from NEWER versions of Android is up to the developers of an app, and not the job of google.
Great explanation and the workaround works for me. We need more posts like this around.
I'm surprised more apps aren't using this that require it such as audio streaming apps etc...
RogerPodacter said:
I'm surprised more apps aren't using this that require it such as audio streaming apps etc...
Click to expand...
Click to collapse
Yeah, like Google's own built in SIP client for voip, which has been known to suffer from issues when the screen is turned off.
Sent from my Galaxy Nexus using Tapatalk 2
Now, the million dollar question... how does this affect battery life?
Sent from my Galaxy Nexus using Tapatalk 2
EP2008 said:
Now, the million dollar question... how does this affect battery life?
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
I couldn't check this yet. On my old phone (HTC desire) the battery "driver" showed the current (mA) with dmesg. This was a great way to check the effects of stuff like undervolting (which is pretty useless -> see here.)
Since i only get the mAh and mV Values on dmesg i installed a battey app, which calculates the consumption based on the changes of the mAh values. I got that app running over night with wifi lock in low perf mode. I switched the widget on some minutes ago and let my phone run in idle mode. Ill report about the values meassured later.
From what ive read about power saving mode, is, that is very effective and wifi on low perf mode is pretty close to wifi switched off. Well, we'll see...
RogerPodacter said:
I'm surprised more apps aren't using this that require it such as audio streaming apps etc...
Click to expand...
Click to collapse
Actually its not that bad if most devs don't know. Careless use of those function causes an unnecessary power drain (see also this article). On a phone with real multitasking (not like this apple ****) every single app can call stuff like wifi lock (if the app gets the permission on install - most users don't even read them). I checked the reference page about wifi lock itself and those options arent mentioned there. I guess they do it for a reason. A "good dev" will found out by reading the complete documentation about wifi manager and a "bad dev" wont use that function unnecessary if it is not needed.
I'll check how well this power saving mode works, but i think it will have a noticeable effect. Its good that the high perf mode is a bit hidden in the documentation. That way the efforts to save power wont be prevented by poorly coded apps.
EP2008 said:
Now, the million dollar question... how does this affect battery life?
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
Ok after a quick test, the effect is quite noticeable. With quite some background stuff running and Wifi on "low performance" the battery drops around 1,5% per hour. Same stuff running but with "high performance" mode i get about 2% per hour.
But there where quite some "fluctuations". Even on High Performance mode i had a drop of only 0,7% per hour for half an hour. This was also the lowest value in low Performance mode. There are many coefficients (apps syncing etc) adding to battery consumption. To get a good calculation of the actual values one has to gather a large amount of data, and has to "averaging out" those other coefficients.
On my average usage behaviour my battery holds at least for a day and i plug my phone in in the evening. So this doesn't really concern me. But if someone is a "power saving enthusiast" he should definitely only switch "high performance" mode on, if he absolutly needs it. Although the real difference between the modes is surely lower than my estimated 0,5% per hour there is a noticeable effect to be found for sure, if examined "properly".
BTW: I wrote to the dev of that Power widget, if he can implement the feature to switch off "high perf" mode automatically, if the phone has no connection to an AP. He already thought about this, and even plans to include some kind of "white list" so that "high perf" mode is only enabled if the phone is connected to some predefined AP. I'd appreciate this, since i only need that mode when i'm at home, when i have "samba filesharing" running on my phone.
melethron said:
BTW: I wrote to the dev of that Power widget, if he can implement the feature to switch off "high perf" mode automatically, if the phone has no connection to an AP. He already thought about this, and even plans to include some kind of "white list" so that "high perf" mode is only enabled if the phone is connected to some predefined AP. I'd appreciate this, since i only need that mode when i'm at home, when i have "samba filesharing" running on my phone.
Click to expand...
Click to collapse
I tried to automate the widget to turn on only when a call comes in so it can maintain a strong connection for voip, but the app I used, Llama, won't allow you trigger widgets, just apps or shortcuts.
I really only need performance mode for voip.
Sent from my Galaxy Nexus using Tapatalk 2
EP2008 said:
I tried to automate the widget to turn on only when a call comes in so it can maintain a strong connection for voip, but the app I used, Llama, won't allow you trigger widgets, just apps or shortcuts.
I really only need performance mode for voip.
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
You should write to dev off the VOIP app.
I dont know a way to do enable High_perf through console or script and i cant code an app for that. Anyway this would be no real solutions anyway, but only workarounds. The VOIP app should be fixed.
melethron said:
You should write to dev off the VOIP app.
I dont know a way to do enable High_perf through console or script and i cant code an app for that. Anyway this would be no real solutions anyway, but only workarounds. The VOIP app should be fixed.
Click to expand...
Click to collapse
Several VoIP apps have the feature built in, but I find them to be very combersom and unreliable. I'm using the stock sip client and although it's reliable, it offers no settings for tweaking anything.
EP2008 said:
Several VoIP apps have the feature built in, but I find them to be very combersom and unreliable. I'm using the stock sip client and although it's reliable, it offers no settings for tweaking anything.
Click to expand...
Click to collapse
Now that is strange, because from what i see from the Android source the build in SIP does use the FULL_PERF lock on calls by default. See here
When audio is establieshed on a call it does:
Code:
if (isWifiOn()) grabWifiHighPerfLock();.
So if wifi is on while a call is established it does:
Code:
private void grabWifiHighPerfLock() {
if (mWifiHighPerfLock == null) {
Log.v(TAG, "acquire wifi high perf lock");
mWifiHighPerfLock = ((WifiManager)
mContext.getSystemService(Context.WIFI_SERVICE))
.createWifiLock(WifiManager.[COLOR="Red"]WIFI_MODE_FULL_HIGH_PERF[/COLOR], TAG);
[COLOR="Red"] mWifiHighPerfLock.acquire[/COLOR]();
}
}
Which sets wifi in High perf mode as it should and is disabled after the call:
Code:
private void [More ...] stopCall(boolean releaseSocket) {
Log.d(TAG, "stop audiocall");
[COLOR="Red"]releaseWifiHighPerfLock[/COLOR]();
Are you sure the widget did change anything in the behaviour. Stuttering could have other reasons like poor connection or something. From what i see the widget shouldnt do anything that the build in SIP doesnt already.
melethron said:
Now that is strange, because from what i see from the Android source the build in SIP does use the FULL_PERF lock on calls by default. See here
When audio is establieshed on a call it does:
Code:
if (isWifiOn()) grabWifiHighPerfLock();.
So if wifi is on while a call is established it does:
Code:
private void grabWifiHighPerfLock() {
if (mWifiHighPerfLock == null) {
Log.v(TAG, "acquire wifi high perf lock");
mWifiHighPerfLock = ((WifiManager)
mContext.getSystemService(Context.WIFI_SERVICE))
.createWifiLock(WifiManager.[COLOR="Red"]WIFI_MODE_FULL_HIGH_PERF[/COLOR], TAG);
[COLOR="Red"] mWifiHighPerfLock.acquire[/COLOR]();
}
}
Which sets wifi in High perf mode as it should and is disabled after the call:
Code:
private void [More ...] stopCall(boolean releaseSocket) {
Log.d(TAG, "stop audiocall");
[COLOR="Red"]releaseWifiHighPerfLock[/COLOR]();
Are you sure the widget did change anything in the behaviour. Stuttering could have other reasons like poor connection or something. From what i see the widget shouldnt do anything that the build in SIP doesnt already.
Click to expand...
Click to collapse
I haven't been on too many calls today, but it is a known problem that VoIP quality goes to hell when the screen is off and I've experienced the problem several times with the built-in sip. If it's already going into high perf mode, it's not doing right. LOL
EP2008 said:
I haven't been on too many calls today, but it is a known problem that VoIP quality goes to hell when the screen is off and I've experienced the problem several times with the built-in sip. If it's already going into high perf mode, it's not doing right. LOL
Click to expand...
Click to collapse
FWIW, I haven’t experienced these issues—and all I do is VoIP calls because I get poor cellular signal in my apartment.
EP2008 said:
I haven't been on too many calls today, but it is a known problem that VoIP quality goes to hell when the screen is off and I've experienced the problem several times with the built-in sip. If it's already going into high perf mode, it's not doing right. LOL
Click to expand...
Click to collapse
Well if it is not Wifi it could still be a different power management issue. For example one cpu of the 2 cpus is most likely off while screen is off. To avoid this devs can use "wake lock" which is pretty similar to wifi lock. (See android power management). You could try any app that can enable "wake lock". I know that Terminal Emulator does use PARTIAL_WAKE_LOCK which should be just what you need. You can use that app to test it. Just use "take wake lock" from the menu and let the app running. But be warned, this will effect power consumption. So just use that to try.
melethron said:
Well if it is not Wifi it could still be a different power management issue. For example one cpu of the 2 cpus is most likely off while screen is off. To avoid this devs can use "wake lock" which is pretty similar to wifi lock. (See android power management). You could try any app that can enable "wake lock". I know that Terminal Emulator does use PARTIAL_WAKE_LOCK which should be just what you need. You can use that app to test it. Just use "take wake lock" from the menu and let the app running. But be warned, this will effect power consumption. So just use that to try.
Click to expand...
Click to collapse
You could be right. I'm assuming it's the wifi going into low power mode when the screen is off, but it could be the CPUs just clocking down or shutting off altogether.
---------- Post added at 04:28 PM ---------- Previous post was at 04:19 PM ----------
BinkXDA said:
FWIW, I haven’t experienced these issues—and all I do is VoIP calls because I get poor cellular signal in my apartment.
Click to expand...
Click to collapse
Have a look at the troubleshooting section in this VoIP thread. I'm not sure what causes it for some and not others... Maybe custom ROMS? Kernels?
http://forum.xda-developers.com/showthread.php?t=1583120
Hi!
I've recently discovered quite large battery drainage. I've installed BetterBatteryStats and the problem is that the process named "msm hsic host" is working all the time. I've red on this Forum that's a common problem with the Nexus phones, but I couldn't find any solution for Samsung S 4. Is there any?
I would be grateful for any kind of help.
Best regards
MSM hsic is for communication to modem (network chip, not wifi)
pablo023 said:
Hi!
I've recently discovered quite large battery drainage. I've installed BetterBatteryStats and the problem is that the process named "msm hsic host" is working all the time. I've red on this Forum that's a common problem with the Nexus phones, but I couldn't find any solution for Samsung S 4. Is there any?
I would be grateful for any kind of help.
Best regards
Click to expand...
Click to collapse
HSIC is technology for inter processor comminication. Our phone has two main chipsets AP (here snapdragon, thus the name MSM ) and modem chipset (again by qualcomm). They both are connected via hsic, which is based on our very own USB . The protocol stack is also the same of the standard USB 2.0 !
Everytime the CP (modem ) tries to communicate with AP , say for network notification or small time data sync, you will see a wakelock being hold by the hsic driver in android kernel. Its being hold so long the data transfer is there and wakelock is released after some safe period of no activity.
I admit its one of the most holded wake lock often interrupts and wakes up the system, but that whats it does to us.. it keeps us connected.
If you wanna debug something whithout interruption from msm hsic , do a airplane mode on. This will shut the no. of suspend wake up by over 90%.
Hit thanks if i am able to explain in due time