Related
Ok, built a new app phone switcher (flight mode on/off) based on the cell tower location.
System automatically switches the phone OFF based on the time you set when you are at predefined location (Say Home). When you are at home, say from 10:00 PM to morning 6:00 AM no one can call your mobile. But if you are not at home, then phone is ON even at night. This also saves your battery life and privacy too.
It is working on Hermes, and I have tested it on WM5 emulators. Will NOT work on WM2003.
Please check the link to the application under my signature.
I have a question, can it only change to "vibrate" instead of turning off the phone? That would be more appropriate for me. Thanks for your answer
Nice App! How about changing call forwarding (when busy, no answer, etc...) baased on location?
If the phone could forward all calls automatically, or forward when you press "hang up" based on location it would safe battery and reduce radiation using the phone.
szturchen_pl said:
I have a question, can it only change to "vibrate" instead of turning off the phone? That would be more appropriate for me. Thanks for your answer
Click to expand...
Click to collapse
Nice Idea!, I will do my homework to find out what it takes to do that
ahlok_hk said:
Nice App! How about changing call forwarding (when busy, no answer, etc...) baased on location?
If the phone could forward all calls automatically, or forward when you press "hang up" based on location it would safe battery and reduce radiation using the phone.
Click to expand...
Click to collapse
Since the application do not keep polling for location, if it does not know the current location for some reason(reason = In the original post) then there might be problems such as wrongly 'forwarded' calls...
But its a great idea. I keep it in mind
past 21:00 hours
does not seem to work if you go past the apointed hour? radio stays connected
david.dupuis said:
does not seem to work if you go past the apointed hour? radio stays connected
Click to expand...
Click to collapse
Are you saying.. You were not at appointment time at sleeping location... And you came in late... and the phone does not turn off?
If so it is by design.. As i am not keep polling to find out the locaton. Just because then the application has to be running in the background or keep getting activated say for every 5 Minutes.
But let me know if you are saying the samething too.
not shutting off past sleep time
I think we're saying the same thing. Last night I installed the software set the home location and set the sleep time to 21:00 to 6:00. Actual time was 22:00. I expected it to shut down the radio and it did not.
Hi,
does not work for me
Install works fine, Test is OK, device went on Flight Mode and Back.
I set Sleep Location and Times and clicked Enable button.
When I want to save an error occurs lile: "InvalidCastException at Save. Please report this!"
The settings won't be saved then. I tried to manually edit the cnf file with
found cell values and True State, and saved this back to device, but when
time comes, nothing will happen.
I am on Schaps WM6 3.57a german and O2 Germany Provider.
What I was found out is, everytime I start the program it
randomly changes the location behind the dot.
Once it is xxxxx.8311 and the next time it is xxxxx.48311
May this be the culprit?
Any suggestions welcome bc I would really love this tool working
Olioaglio
david.dupuis said:
I think we're saying the same thing. Last night I installed the software set the home location and set the sleep time to 21:00 to 6:00. Actual time was 22:00. I expected it to shut down the radio and it did not.
Click to expand...
Click to collapse
OK for this i have to implement a constant polling mode.. Which i will do it for next release.
Olioaglio said:
Hi,
...The settings won't be saved then. I tried to manually edit the cnf file with
found cell values and True State, and saved this back to device, but when
time comes, nothing will happen.
...Once it is xxxxx.8311 and the next time it is xxxxx.48311
May this be the culprit?
Olioaglio
Click to expand...
Click to collapse
If you don't mind can you send me your cnf file?
Since your Location keep fluctuating... May be its failing to ON/Off
So when you are at home (Sleep Location) and if you keep refreshing the location (Button Refresh Location) you are getting diffent values?
Let me know
Something similar, sort of
I use Teog's CallFilter instead. What I like about it is that I can set the filter to only allow calls through from specific people. This way if there's an emergency in the middle of the night I'll get the call. It doesn't work on a schedule, you have to run it when you want it and disable it when you don't. But it is a simple app that runs with just a click after it's configured and has worked over several different operating systems. Would work well for meetings, movies, etc. too.
tytnguy said:
If you don't mind can you send me your cnf file?
Since your Location keep fluctuating... May be its failing to ON/Off
So when you are at home (Sleep Location) and if you keep refreshing the location (Button Refresh Location) you are getting diffent values?
Let me know
Click to expand...
Click to collapse
Check PM
Olioaglio
Hi tytnguy,
thanks for fast PM. You were abolutely right with the idea of interfering date format. I customized my HTC Home with the SDTe Override string (by HTCustom Proggie) to display the week day, which turned out to be the culprit that your prog did display the error message at Save.
So I deleted this in registry and the app now saves without a glitch. So I set the time (1 minute in the future) again and saved. When the time comes, the turning wheel appears, but nothing happens. I figured out, that the Status page says: "Out of location so NOT switching off the phone", so this is maybe, why the program starts but do not turn to flight mode as suggested.
Since I set the home location and did not even move a meter from this position I cannot imagine, why it does display I am not in the sleep location?!?! Any ideas
Olioaglio
edit: It WORKED now for the first time !!!! Great!!
Just wondering, what happens when I just do the phone in another room in my flat, where maybe it is in another broadcast cell....
Think, it won't work then!! Is it possible to create, let's say, kind of a radius, where the program activates??
So my sleep or home location is maybe a bit more then just one room or even my desk
edit 2: May it work, if I set the SDTe string to override again, after saving correctly? Or will the app then stop working again? Sorry for those dumb questions though.
Thanks anyway!!! Great program!!
tytnguy said:
OK for this i have to implement a constant polling mode.. Which i will do it for next release.
Click to expand...
Click to collapse
Would constant polling mode affect the battery drain significantly?
If yes, I would suggest a check box in your proggy to toggle this option on/off
Just my 2 cents
Olioaglio
Olioaglio said:
...what happens when I just do the phone in another room in my flat, where maybe it is in another broadcast cell....
May it work, if I set the SDTe string to override again, after saving correctly? Or will the app then stop working again? Sorry for those dumb questions though.
Click to expand...
Click to collapse
Olioaglio,
Can you set the home location from the other room?
If you change the date format to someother non standared format it will not work. Since program needs to keep saving the stuff on each try.
Update 1.0.1
Multiple location on the schedule: If you want to set more than one location as you 'Sleep Location' you can do it now. On the sleep location box bring the context menu up, and choose 'Append to location' now add the new location to the list. You can add any number of sleep locations!
Now if you were not at home at set time, system will keep polling based on the poll time you specify. So as soon as you reach home your phone will be switched off.
If you turned on your phone manually after the rk-Sleep set it to flight mode, then your phone remains on till next scheduled sleep session
Olioaglio said:
Would constant polling mode affect the battery drain significantly?
If yes, I would suggest a check box in your proggy to toggle this option on/off
Just my 2 cents
Olioaglio
Click to expand...
Click to collapse
Olioaglio,
No it should not make any significant affect on the battery.
I have programmed it to poll only on sleep time if you are not at home. But since I am not running the program in the background, it is ok.
The new update I release just keeping your problem in mind. So you go to both your rooms where you get different towers. Update both as your sleep location.
tytnguy said:
Olioaglio,
No it should not make any significant affect on the battery.
I have programmed it to poll only on sleep time if you are not at home. But since I am not running the program in the background, it is ok.
The new update I release just keeping your problem in mind. So you go to both your rooms where you get different towers. Update both as your sleep location.
Click to expand...
Click to collapse
Thanks, will monitor it...
Olioaglio
UPDATE:
OK, tested it now... Dude, the 1.0.1 really works like HELL!! I'm totally satisfied for now.
The Append function is very good thing, since I found 8 (!) different cell locations (about 3 with GSM and 4 with 3G) in my 3-room flat. They are always fluctuating even at the same place, so maybe this was the problem of the others, who tested the program with having only one location saved. But with the Append function AND the new Poll function (which also works great), it absolutely ROCKS!! Had no problem with several tests. Battery consumption with poll function really does NOT seem to be more than without poll.
Just some suggestions if you plan to make updated release. The Append function is not easy to find, I had to read your instructions three times to get it. Maybe you'll find another way. Also an extra tab with a list of all appended cells would be appreciated.
I would have another idea for an "extended" flight mode. Maybe you could add some checkboxes for Phone, Bluetooth, Wlan and Beam for - lets say - "Extended Flight Mode" options. So one could save even more battery as with just the phone function off. With the checkboxes you would have the choice what to turn off/on, when rk-Sleep will engage.
Best regards,
Olioaglio
tytnguy what about vibration mode? have you had time to check into that? Regards
The information in here is only tested on the ICS (Stock based roms) and (stock or repacked kernels). It's not been tested on any other roms. So, if you want to apply the tweak that I provided in here, do it with your own risk. I'm here to help or share the good and bad things but not responsible for any bricked phones.
Update: Wifi Sleeps well! But you need to understand what's going on here.
We are expecting wifi to sleep when the screen is off and 'Keep Wi-Fi on during sleep' is set to 'Never'.
But wifi does not go to sleep mode even every options are satisfied on ICS stock roms with Stock or Rogue repacked Kernel).
I tried many ways to make it sleep (from settings, from build.prop tweaks and from through the init.d script) but none of those worked. Only the way to make it sleep is turning off the wifi manually before turning off the screen.
There is one workaround that making the wifi sleep during the screen off. The method is using Wifi Fixer app from google market but it does not work 100 %. Sometimes, it makes wifi sleep but other times, nothing happens.
So, anyone who is expecting wifi sleeps by any tweaks or by wifi option changes, don't expect it any more. There's no hope yet. For me, I'm waiting for the next build to test this function out.
There's some additional information at http://forum.xda-developers.com/showthread.php?t=1625299 and check wifi section.
If anyone knows the method to make wifi sleep on stock rom/kernel, please post your info here. There are some tools that we can use to check wifi is sleeping or not during the sleep mode. I'm currently using Battery Widget Pro.
Because I've tested lots of things so far, if you know the methond or if it works on your phone, please show how it works and screenshots if possible.
[Update] Wifi sleeps finally as I wanted!
OK. Here is the story.
One specific app mis-led me to wroing conclusion - Battery Monitor Widget Pro (v2.2.4). This app shows that wifi is always on if wifi is turned on. This app does not exclude the time wifi was turned off during the sleep mode.
Plus, there's some pre-allocated time to make the wifi sleep after the screen turned off. For most of Android phones, it seems like this value is 15 minutes. So, even the screen is off, wifi does not enter to the sleep mode immediately. Phone spend 15 minutes after the screen off, and kill the wifi session if wifi option was set to never (keep wi-fi on during sleep).
How to check whether wifi sleeps or not :
Do NOT use Battery Monitor Widget to check the wifi status.
You can easily check it from the stock Battery app. Settings > Battery > click on the graph > check wi-fi status if there is any gap (means sleep or turned off).
Then, How to change the default 15 minutes value to make the phone sleep early?
Update 5/16/12 - Fixed wifiSleepWait tweak, so it works without any manual database handling. The below is just for informational. Now you don't need to manually create a row into the table.
There were one or two information available on XDA but nothing is correctly applicable to Epic 4G Touch. So, here is the tweak that I made for E4GT.
To do this you will need root explorer -
1. move to the folder, /data/data/com.android.providers.settings/
2. copy the databases folder to your /sdcard
3. Move to /sdcard/databases click settings.db
4. select secure
5. it will ask you which editor you are going to use. If you installed sqlite then select sqlite, otherwise use root explorer (only at first time)
6.Check if there is column name 'wifi_idle_ms'. If there is, then change the value to whatever mili seconds you want. For example, 10000 = 10 seconds, 30000=30seconds. If you want to wait 15 minutes until wifi sleep, then 15*60000 = ?
7.If there is no 'wifi_idle_ms' row, the click long time anywhere on the table. It will show you the actions, select new record. Do not change _id, put the 'wifi_idle_ms' in the name field (without quote sign) and put the value explained above. For me, I just put the 10000 (for 10 seconds). Click save.
8. Now you can see the value changed or row created. Exit editor and move up to /sdcard. Copy (or Move) databases folder to original location (/data/data/com.android.providers.settings/). Sometime, the copy is not successful because database is currently being used. If it's not copied, then try it agaon to copy until it's successful. For me, it was successful on second try.
9. Reboot the phone and click the power button shortly to change to screen off mode(sleep mode).
10. After the time passed defined in above, click the power button again and notice that phone was working on 4G or 3G mode and not wifi mode. Phone will try to reconnect wifi after the screen turned on.
11. That's it. Now you can change the idle time until wifi turned off as much as you want.
The above was the manual way to change the wifi_idle_ms value from database. But there is another way to change this values automatically. The method is using sqlite and of course you need to know the sql query.
In my case, I tried to add this sqlite query statement into my init.d tweak but only update sql command worked and insert was not successful. Maybe I need someone's help to get this insert statement successful.
In here, I'm adding only the update tweak which can be added into init.d. What this mean is, at first time you have to insert the database row manually but once it's created, you can update the idle value during the boot thru init.d script.
Because you don't need to run this init.d script everytime on boot, once you update the value, change the permission to 644 and it won't run again until you change it back to 755.
To run this init.d script, you will need sqlite3 - http://chensun.net/android-development/install-sqlite3-on-google-nexus-one/54/
Download it and simply move to /system/xbin foler. Assign the same permission like other files on the same folder.
Of course, you also need root access and busybox.
The init.d script will be found at http://forum.xda-developers.com/showthread.php?t=1625299
70wifiSleepWait_kobridge.zip (previous version)
70wifiSleepWait_kobridge.v2.zip (current)
kobridge said:
This info is just for the ICS (Stock based roms) and (stock or repacked kernels) users.
We are expecting wifi to sleep when the screen is off and 'Keep Wi-Fi on during sleep' is set to 'Never'.
But wifi does not go to sleep mode even every options are satisfied on ICS stock roms with Stock or Rogue repacked Kernel).
I tried many ways to make it sleep (from settings, from build.prop tweaks and from through the init.d script) but none of those worked. Only the way to make it sleep is turning off the wifi manually before turning off the screen.
There is one workaround that making the wifi sleep during the screen off. The method is using Wifi Fixer app from google market but it does not work 100 %. Sometimes, it makes wifi sleep but other times, nothing happens.
So, anyone who is expecting wifi sleeps by any tweaks or by wifi option changes, don't expect it any more. There's no hope yet. For me, I'm waiting for the next build to test this function out.
There's some additional information at http://forum.xda-developers.com/showthread.php?t=1625299 and check wifi section.
If anyone knows the method to make wifi sleep on stock rom/kernel, please post your info here. There are some tools that we can use to check wifi is sleeping or not during the sleep mode. I'm currently using Battery Widget Pro.
Because I've tested lots of things so far, if you know the methond or if it works on your phone, please show how it works and screenshots if possible.
Click to expand...
Click to collapse
Maybe it cannot sleep when sync is on?
I imagine that wifi is needed for weather/news/etc updates and clould2device services.
Wait...the options are changed on ICS correct? Meaning its never off during sleep on Gingerbread and always on during sleep on ICS or am I not understanding?
Huh? Mine sleeps just fine unless I set it to never sleep.
That aside - you are aware that you're better off leaving wifi on anyway, right? It uses less battery power than the cell radio does. Just an FYI
Finally figured out everything!
Took whole one day to find out everything!
First, most importantly, WiFi sleeps!
I'm going to explain what happend and how we could make wifi sleeps better in op section.
edit. Partially updated. I'm checking now if I can make a script to change the leading time that is required before wifi actually sleep.
kobridge said:
Finally figured out everything!
Took whole one day to find out everything!
First, most importantly, WiFi sleeps!
I'm going to explain what happend and how we could make wifi sleeps better in op section.
edit. Partially updated. I'm checking now if I can make a script to change the leading time that is required before wifi actually sleep.
Click to expand...
Click to collapse
All updates are done! Enjoy your ability having control over wifi idle time!
You know, upon further testing, idle battery drain on 3g is pretty damn good as well. I am in a lousy signal area during the day and I have been leaving wifi on 24/7 so a lot of battery got wasted from the phone searching and finding wifi to connect to. Tomorrow I will disable wifi while at work but...
Sent from my SPH-D710 using Xparent Blue Tapatalk 2
JohnCorleone said:
You know, upon further testing, idle battery drain on 3g is pretty damn good as well. I am in a lousy signal area during the day and I have been leaving wifi on 24/7 so a lot of battery got wasted from the phone searching and finding wifi to connect to. Tomorrow I will disable wifi while at work but...
Sent from my SPH-D710 using Xparent Blue Tapatalk 2
Click to expand...
Click to collapse
Based on your screenshot, it seems like you are wasting the battery by turned wifi on wifi 24x7.
kobridge said:
Based on your screenshot, it seems like you are wasting the battery by turned wifi on wifi 24x7.
Click to expand...
Click to collapse
I agree. While I am around the house say going to the store its minimal but when going to work in NYC I am picking up wifi i cant connect to every 10 feet so its definitely negatively effecting battery
nabbed said:
Maybe it cannot sleep when sync is on?
I imagine that wifi is needed for weather/news/etc updates and clould2device services.
Click to expand...
Click to collapse
I think there is a little difference of understand about what has the control over other services/fuctions.
Usually weather/news apps are dependent on wifi or 4g services. Those apps usually do not control the wifi or 4G and many times only able to communicate wifi or 4G are turned on. Those services cannot hold the wifi/4G connections even those services are still running.
KCRic said:
That aside - you are aware that you're better off leaving wifi on anyway, right? It uses less battery power than the cell radio does. Just an FYI
Click to expand...
Click to collapse
That's not true. It's totally based on the signal strength. Usually 3G is not fast but do not use battery as much as wifi when the signal is weak on both wifi and 3G.
you on a roll with these threads kobridge! good work and thanks!
70wifiSleepWait_kobridge.v2.zip released
Now you don't need to manually insert the table row to use this tweak.
This tweak file is a complete set by itself. By running the tweak file, you can change or create the wifi idle timer on/into the database.
Related thread and where to download this tweak - http://forum.xda-developers.com/showthread.php?t=1625299
Not to question yiur style kobridge, but I beleive there is a spelling error in the tittle =D
Sent from my SPH-D710 using xda premium
krisI0N said:
Not to question yiur style kobridge, but I beleive there is a spelling error in the tittle =D
Sent from my SPH-D710 using xda premium
Click to expand...
Click to collapse
Looks like he fixed it just for you.
[wifi][Tweak]Chage Wi-Fi idle time before sleep (title changed)
Edit: Well, not ^^^ ALL of it is fixed yet.
krisI0N said:
Not to question yiur style kobridge, but I beleive there is a spelling error in the tittle =D
Sent from my SPH-D710 using xda premium
Click to expand...
Click to collapse
tdunham said:
Looks like he fixed it just for you.
[wifi][Tweak]Chage Wi-Fi idle time before sleep (title changed)
Edit: Well, not ^^^ ALL of it is fixed yet.
Click to expand...
Click to collapse
Thank you both of you! Sometimes, simple mistake is not to catch because it's too simple!
will this tweak work if I set wifi to "only when plugged in"
edlivian said:
will this tweak work if I set wifi to "only when plugged in"
Click to expand...
Click to collapse
I think the right answer is No.
When phone is plugged in - wifi is always connected even after the screen turned off. So, this tweak would not work while phone is plugged in.
When phone is unplugged - wifi will stay offline always. So, this tweak is not applicable.
If you set the option to "Always" - wifi will stay connected during the screen off. So, this tweak does not work.
If you set the option to "Never" - This tweak only works for this option.
The purpose of this tweak is minimizing the waiting(idle) time until wifi moves to sleep mode after the screen turned off.
Kobridge, i came through this topic after some searching for a problem of mine.
I see you know some basics...
If you have some time, take a look at this... that wifi issue is driving me really mad !!!
http://forum.xda-developers.com/showthread.php?t=1673514
thnx in advance
morx said:
Kobridge, i came through this topic after some searching for a problem of mine.
I see you know some basics...
If you have some time, take a look at this... that wifi issue is driving me really mad !!!
http://forum.xda-developers.com/showthread.php?t=1673514
thnx in advance
Click to expand...
Click to collapse
For this, I believe it's related to the value of wifi.supplicant_scan_interval which is normally defined at build.prop.
Check out the value from there.
These days the value 180 (3minutes) are normal for tweaking purpose. But for EPIC 4G Touch's case, it's default is 5seconds (causing lots of battery drain if you are moving around).
For example, if wifi is not available from some location, then your phone will try to searchthe available wifi network after x amount of times. If this value is too big, then it will look like wifi is not connected (so most of you, just try to reconnect the wifi manually before time comes). If the value is too small, again it causes the battery drain.
Once the wifi is connected, it keeps the connection based on the wifi policy. But if the connection is lost, then it will try again to search!
First of all, REALLY REALLY REALLY Really thank you for the reply mate.
My wifi supp value is set at "10"
I know this value only works when there are not any "known" access points in range.
The thing is, that it NEVER connects with screen off or on when i get back in range.
It only does it when i go to wifi settings (refreshes the list and connects without touching anything more!).
(of course, my wifi battery saving policy is set to "never" while screen is off)
Wifi stays on but it freezes AP scanning, while screen is off i guess.
Would a logcat help? Any tips about how to capture a good log about that issue?
Better Battery Life Tips
I've been using (and tweaking) Android devices since the original HTC Dream (aka G1, Android Dev Phone) was released, and I've had devices that are both good and bad at power consumption. In this thread I will share what I have learned and invite you to share what you have learned as well so that we can all get the most out of our devices.
Please note that I like to keep my smartphones "smart" and don't like to be manually toggling things on and off throughout the day. If you like to geek out 24x7 you can manually turn on/off every feature of your phone every time you use it to conserve juice... that's not me though!
Here we go...
-Consider a Different Browser
It seems like Opera Mobile and Mini are the kings of battery conservation. I tried Dolphin, Boat, Firefox, Chrome, the stock browser, and about 10 others... I didn't see significant differences in battery with any of them, but with Opera I noticed the difference. It makes sense since Opera renders the pages and optimizes the images remotely and then sends the bare minimum amount of data to your device to display the page.
-Location, Location, Location
Android's location related services can be a big drain. There are 3 different location settings you need to know about.
1) Location Access (Settings -> Location access): For maximum savings, you can turn off "Access to my location". However, there are many apps that make good use of your location. If you don't want to cripple them, leave this option turned on but at the very least uncheck "GPS Satellites" to save some juice.
2) Google Apps Location Settings (Settings -> Accounts:Google -> Location settings): Allows Google apps, such as Google Maps, to access your location. Why this needs to be separate from #1 above is beyond me, but turning it on requires the above setting to be on as well. If you don't use Google Maps, Now, Plus, or any other Google services that use your location you can turn this off.
3) Location Reporting aka Latitude (Settings -> Accounts:Google -> Maps & Latitude -> Location Reporting): This is the bad one. Really bad. Wakelock and battery drain city. I don't even know why anybody would want this. Kill it with fire. Set it so that it does not update or report your location.
-Turn off stuff you don't use
This should be common knowledge by now... if you aren't using GPS, Bluetooth, or even 4G... turn them off. If you don't need instant notifications and app updates you can even turn off Auto-Sync. If you decide to do that, I recommend the Synker widget from the Play Store. It is nice and configurable so that you can sync on demand with one touch.
-ROMs and Kernels
I'm not going to go into these too much here... there's a whole development section devoted to them with tons of info. Generally you get the best life from the stock based ROMs. Liquid Nitro and HO!NO!'s v20f (+Wind kernel) are quite good. Next best is probably HO!NO!'s CM9. The CM10.1 ROMS and kernels have a bit of catching up to do at battery consumption, but they keep getting better.
-Kill Google Talk!
If you don't use this program, disable it. It is always trying to do something on the network. Even if you turn off data and wifi you can still get NetworkConnectivity wakelocks from this app trying to do its business! Killing it is the first thing I do after flashing a ROM, especially CM10.1. From home hit: Menu -> Manage Apps -> All -> Talk -> Disable.
*Some report that disabling apps through the Android OS might not stick. If this is a concern for you, download NoBloat or Titanium Backup and freeze this app. Or if you're a nerd like me, use a root file explorer and move or rename the .apk file in /system/app
-Kill Google+ (Plus)
Just like the above, if you don't use it, deactivate it. It also uses data and location services pretty regularly. Disable it in the same way, or use NoBloat or Titanium.
-Kill Google Now
If you don't use it, deactivate it. It uses data and location services pretty regularly. I like its features and keep it enabled on my N7, but leave it off on my phone. To turn it off, go into the Google Search app (long-touch menu/search button), hit Menu -> Settings -> Google Now. You'll see the option to disable it.
-Data-Toggling Battery Saver Apps
These are pretty controversial, almost as much as app-killers were when they were very popular. In a nutshell they turn your data connections on or off based on whether your screen is on or off. They usually will check to see if you are downloading or streaming anything before they shut off the connection. Then, they periodically turn the connection on while the screen is off so that the device can perform a sync to get emails, etc.
Should you use one? If you are running CM10/10.1/AOKP4x then YES USE ONE!! EDIT: THE LATEST VERSIONS OF QUATTRIMUS AND WIND FOR CM10.1 HAVE RESOLVED THE BATTERY DRAIN ISSUE. Use of a battery saver is no longer essential. If you still want to use one, read on...
Whether or not you use a battery saver depends on how you use your phone, and if you are willing to accept the trade-offs. These apps get their savings from maximizing deep sleep time for extended periods with zero data concerns or interruptions. If your usage habits allow the app to do its job, use it. If not, don't use it.
[What follows here is some long drawn out jibber jabber about the pros/cons of these apps. Read it if you like]
Some people love these battery saver apps and swear by them; others hate them. The reason some like them is because they get a few more hours of battery life. The reason why some people hate them is because:
1) They wake the device periodically to do their job... which negates some of the power savings you get from having them. To some people these tiny wakelocks are the most horrible thing ever... even if their impact is quite small compared to the power being saved. These people are usually the ones who live and die by their BBS logs. I'll admit, I was one of those people
2) Syncs are delayed, so messages and notifications do not arrive instantly but when either of the following conditions are met-
a) The screen gets turned on (which triggers data on and autosync)
b) The program hits a scheduled time trigger (usually at user selectable intervals)
3) There's a small lag while data connects when the screen gets turned on. If the screen gets turned on very frequently the constant on/off/syncing can actually hurt the battery more than it helps.
But, if you are ok with the delayed syncs and you set up the sync intervals long enough apart you WILL see a gain in battery life. Your phone will sleep much more soundly as well. With one of these apps my Nitro HD on CM10.1 can sleep all night and will only lose maybe a percent or two.
*Note that these will NOT help you at all when the screen is on, which is a bummer because the Nitro screen sucks down a LOT of power. Also, your usage patterns may make them ineffective for you... in which case you are probably better off without them.
Personally I get about an hour or 2 of extra life if I use one, but it's a trade-off since I lose instant notifications and a there's a slight delay while it reconnects to the network when the screen gets turned on. And the more you turn your screen on/off, the more it disconnects/reconnects/syncs... meaning it is using a bit MORE power than usual for those seconds.
[/jibberjabber]
The following are my favorite data-toggling battery-saver apps. All of them have "free" versions and more advanced "pro/prime/advanced/whatever" paid-for versions. These are not the only ones out there; feel free to report back on ones you prefer. If you find one that you really like, I suggest buying the pro version not only for the additional customization they offer, but to support the devs for a job well done.
1) DS Battery Saver - Super easy to configure and since it kills background tasks before sleeping it puts your device into a nice deep sleep. Also combines the feature of CPU Sleeper if you are rooted... it'll shut off a CPU core when sleeping.
2) Green Power - Works really well. The interface is simple and well laid out. I used it for years before I discovered DSBS.
3) Juice Defender - Another decent app, similar to Green Power. I personally preferred the options and the interface of GP better, but you may not.
4) CleverConnectivity +++Battery - The interface is a bit weak, and I had problems with the full data on/off features working on my P930 w/CM10.1... BUT this program has one very cool feature- it has an option for dropping the connection speed down to 2G/EDGE when the screen is off instead of disabling it completely. This allows syncs to still occur while still saving some power in 2G. I've even streamed Pandora on 2G, so in theory you could do stuff like that too. This feature worked fine on my P930 dispite the normal data on/off failing intermittently. There is a moment of zero data while it toggles between 2G/3G. I think this app might be awesome when development advances some more.
-Underclocking (rooted users)
Capping your max CPU frequency at a lower limit can save power. Quite honestly, for 99% of my daily use I can't tell the difference between the CPU clocked at 1.2ghz and 1.8ghz except that at 1.8ghz my battery bar laughs at me and gives me a wedgie. On custom ROMs there is often a built-in method to set the CPU clock frequency (Settings -> Performance -> Processor). On stock-based ROMs you'll need a 3rd party app like Kernel Tuner, SetCPU, or any of the other 50 options in the Play Store. You can usually safely set your minimum frequency to 192mhz, but some phone/ROM/kernel/voltage combos will cause stability or lag issues with doing this. YMMV.
*If you are using a CPU controlling app like SetCPU that allows for profiles, you might be tempted to set the screen-off frequencies to the absolute lowest setting of 192/192... be careful! This setting could end up costing more power consumption because the CPU has to work for a much longer time to handle the tasks at hand at such a low clock speed. If it was allowed to ramp up a bit the task would be done more quickly and efficiently. Honestly I gave up on setting screen-off profiles. I just use governors based on smartass which have their own screen-off settings integrated. Less adjustments needed, similar results. This leads us to...
-Changing governors (rooted users with custom kernel)
There's about 50 different governors floating around out there. If you don't know what a governor is or what each one does, read this thread: http://forum.xda-developers.com/showthread.php?t=1736168
In short: Any governor that is based on smartass, ondemand or interactive is going to be pretty light on battery, and you may not be able to tell the difference between them in normal use. I like smartassv2 and badass, which are both based on smartass. Conservative may sound the most battery friendly, but usually ondemand does better and is less laggy.
Try some out. Have fun with it. Eventually you'll want to start tinkering with the I/O Scheduler... that's a topic for another thread. There's not much battery life to be gained there anyway.
-Undervolting (rooted users with custom kernel)
WARNING: This can cause instability if done improperly. MAKE A CWM BACKUP BEFORE TINKERING WITH UNDERVOLTING!!! I've never seen *drastic* gains on any device, but you do get a little bit more life, and every little bit helps, right?
So if you want to do it, read this: http://bigfatreality.blogspot.com/2012/03/guide-to-undervolt-android-safely.html and then proceed with caution.
Generally you can aggressively undervolt at lower frequencies, but be careful at higher frequencies because your device needs more power under load and will not like it if it can't get it. If you're a car guy this is like running too lean of a fuel mixture
Kernel Tuner and IncrediControl have nice GUIs for fiddling with voltages. Remember, adjust in tiny increments, followed by thorough testing! If you get a crash or reboot then you've gone too far. DO NOT ENABLE "SET ON BOOT" UNTIL YOU ARE SURE YOU'VE GOT STABLE VOLTAGES!!!
-Screen dimming
Screen backlights use lots of power. This ain't no AMOLED where you can save power by using dark backgrounds- LCDs light up the entire display regardless of what is on them.
I suggest turning off auto-adjust and set your brightness at a level that is just bright enough to be comfortable. I keep mind around 30-40%. Auto-adjust periodically polls the sensor to get light data, and uses a small bit of power to do it each time.
Turn on the 'Status Bar Brightness Control' if your ROM supports it so that you can easily swipe your finger along the top of the screen to brighten or dim the display on the fly. In CM9/10(.1) this option is under Menu -> Settings -> System -> Status Bar -> Brightness Control.
If you MUST use the auto-adjust, consider adjusting the levels that it uses. Make them as dim as is comfortable for you. For stock-based ROMs you'll need a third party app like this: https://play.google.com/store/apps/...wsMSwyLDEsImNvbS52aXRvY2Fzc2lzaS5sdXhsaXRlIl0.
For CM/AOKP based ROMs this can be done from the Display -> Brightness sub-menu of your device's settings area. CM10.1 has an excellent and simple adjustment interface.
-Build.prop Tweaks (rooted users)
You can add the tweaks below into your build.prop file that may or may not help with battery life. Download BuildProp Editor from the Play Store and add them. They seem to help a bit, but it could be placebo effect. They certainly don't hurt anything so give them a shot and report back what you get. These seem to work with ICS and JB:
ro.config.hw_fast_dormancy=1
ro.ril.fast.dormancy.rule=0
ro.ril.disable.power.collapse=1
pm.sleep_mode=1
wifi.supplicant_scan_interval=180
net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,16384,256960
^ this forum keeps adding a space near the 16384... there shouldn't be any spaces. I think they get disregarded anyway if they are put in the file, so no biggy.
^some of these have presets in BuildProp Editor, some you have to enter yourself. I copy/paste them individually. Don't paste the "=" signs though. Everything before the "=" goes under "Property Name", everything after it goes under "Property Value". If you are experienced you can edit the build.prop file directly using a text editor. Just back it up first and don't screw with the permissions.
-Some other useful apps that help with battery life:
*CPU Sleeper (root users)- Shuts off all but one cpu core when the screen is off. This probably isn't required with a good kernel and governor setup (and a stable phone that sleeps well), and if you are running DS Battery Saver this feature is built-in to it. It uses barely any resources whatsoever, so give it a shot.
*Greenify (root users)- This essentially freezes selected apps when they are not in use. They cannot do background tasks or wake your phone when they are not active. When you attempt to open one of the apps it instantly thaws them for use. After you are done with them it freezes them back up. It is quite brilliant really! It eliminates a lot of wakelocks and battery drain from apps trying to update, gather location data, etc. Use with caution though- don't greenify apps that you actually need to have a data flow from or ones that you use widgets for.
*RootDim (root users) - You know how when you are using your phone in bed at night and the screen is just too bright, even on the dimmest setting? This app lets you go even dimmer. Less brightness means less power, so it will reduce battery usage in the process.
-Apps that help diagnose battery drains
*Better Battery Stats - Good for discovering the cause of battery-draining wakelocks. Just uninstall it when you're done using it to diagnose- otherwise it is constantly doing its thing which is not going to help battery life any!
*OS Monitor - See if your CPU is settling down like it should and see what is keeping it busy. It also has a ton of other advanced options and features.
...there's too many apps to list here! Share the ones you like I'll add more later.
-Adjust your advanced Wifi settings
Go to Settings -> Wifi, then hit Menu -> Advanced
Most people agree that Network Notification should be UNCHECKED, Keep WiFi during sleep should be 'Always', and 'Avoid poor connections' and 'WiFi optimization' should be CHECKED.
If you have a noisy wifi router (some Netgears are guilty) that keeps waking your device from sleep with wifi packets you may get better results if you change Wifi During Sleep to 'Never' or 'Only when plugged in'.
-Watch the reboots!
Every time your phone reboots, Android checks the SD card for errors and then runs the Media Scanner to take inventory of all media files. Both processes consume power, so try to limit unplugged reboots. The more files on your SD card, the longer Media Scanner has to work, so get rid of unnecessary files cluttering up your card. You may have some luck using .nomedia files to tag directories to be skipped during scanning. You can also use an app like this to disable the automatic Media Scanning Service. It also lets you scan on demand. Caution- If you don't ever do a scan, then new pictures won't appear in your gallery nor will new music appear in your player.
I'm sure I'll think of some things later that I have forgotten, and I'll discover new things... I'll update this when I do.
Please share your findings so that this can be the best battery saving thread... In the world.
Very interesting and helpful info.
Thank you very much !!! :good::good::good:
Couple things I'd add, especially if you're running a CM-based ROM
Get NoBloat and disable the following:
SuperUser - Get SuperSU instead, less battery drain.
CM Update Checker - Every time I use my phone to go online (I don't have data on 24/7) this thing pops up and wants to check for updates, but never properly gets flushed. Disabling this one app dropped my hourly drain by about 1.5% on CM10
jekostas said:
Couple things I'd add, especially if you're running a CM-based ROM
Get NoBloat and disable the following:
SuperUser - Get SuperSU instead, less battery drain.
CM Update Checker - Every time I use my phone to go online (I don't have data on 24/7) this thing pops up and wants to check for updates, but never properly gets flushed. Disabling this one app dropped my hourly drain by about 1.5% on CM10
Click to expand...
Click to collapse
Thanks for this- I just disabled CM Updater.
BTW with JB there's no need to download NoBloat- you can disable most apps (including this one) from the built-in App manager. Settings -> Apps -> All -> CM Updater -> Disable
Here's another trick for a specific type of battery drain: (you don't apply the fix in on your phone though)
Symptoms:
1) Your phone drains its battery while doing basically nothing while connected to your wifi router.
2) BBS shows massive amounts of wlan_rx_wake wakelocks
3) Android OS seems to be a high contributor to battery use
Fix #1: (Found HERE) "Change DTIM value in your router configuration from 1 (default) to 255. This value is usually in Advanced->Wireless tab on most routers."
^Seems to help a lot.
Fix #2: Set a static IP on your phone for your home network. The easiest way to do this is to find out what address range your router uses when it hands out IP address via DHCP, then hard-set an IP on your phone that is not in that range so that there won't be any conflicts with other devices that connect to your network. You'll need to consult your internets and googles to figure out how to get this information from your router, if you don't know how. Once you know a clear address you can use, go into your phones Wifi Settings, long-touch your network name, hit 'Modify', 'Advanced', punch in the static IP you wish to use. This might not be an option on corporate or shared housing wireless routers.
Fix #3: Check ALL computers on your network for the presence of the Dropbox software. Mac, Windows and Linux computers alike. If it is running in the system tray, click it, go into preferences, turn off 'LAN Sync'. This little booger wreaks havoc with wifi locks on some Android devices.
mpsantiago said:
Thanks for this- I just disabled CM Updater.
BTW with JB there's no need to download NoBloat- you can disable most apps (including this one) from the built-in App manager. Settings -> Apps -> All -> CM Updater -> Disable
Click to expand...
Click to collapse
I've found that for whatever reason the built-in app disabler doesn't always work. I still like using NoBloat better.
Second to this, once you do disable a bunch of apps it's good to boot back in to recovery and wipe dalvik/fix permissions.
jekostas said:
I've found that for whatever reason the built-in app disabler doesn't always work. I still like using NoBloat better.
Second to this, once you do disable a bunch of apps it's good to boot back in to recovery and wipe dalvik/fix permissions.
Click to expand...
Click to collapse
I agree.
Thanks for all the info it is very interesting! I'll be trying this
---------- Post added at 01:17 PM ---------- Previous post was at 12:59 PM ----------
Thanks for all the info it is very interesting! I'll be trying this
thanks you. it greats:good:
LTE battery drain
Any good tips for reducing battery drain in LTE and Wifi for 20c?
Updated the OP... from now on I'll just put new tips at the top of the list.
frankshi said:
Any good tips for reducing battery drain in LTE and Wifi for 20c?
Click to expand...
Click to collapse
What ROM are you using and is LTE available in your area?
Awesome guide man, +thanks:good:
Oh this is kinda off-topic but Mattman86 I wanted to ask you, I just installed your Hono CM9 Full Throttle rom and I'm having some issues putting the apps onto my SD-Card. Whenever I move them (through titanium backup or just standard move to sd in settings) whenever my phone restarts the apps disappear and or say "app not installed" then they are a green default android icon and just don't work :\ Also does Wind Kernal work with your 4.0.4 Rom?
alainmona said:
Awesome guide man, +thanks:good:
Oh this is kinda off-topic but Mattman86 I wanted to ask you, I just installed your Hono CM9 Full Throttle rom and I'm having some issues putting the apps onto my SD-Card. Whenever I move them (through titanium backup or just standard move to sd in settings) whenever my phone restarts the apps disappear and or say "app not installed" then they are a green default android icon and just don't work :\ Also does Wind Kernal work with your 4.0.4 Rom?
Click to expand...
Click to collapse
I haven't done anything with CM9.
I currently have the ROM in my signature with Wind Kernel 3.5 and Battery Guru along with SetCPU installed and I get roughly 23 hours of battery.
mattman86 said:
I haven't done anything with CM9.
I currently have the ROM in my signature with Wind Kernel 3.5 and Battery Guru along with SetCPU installed and I get roughly 23 hours of battery.
Click to expand...
Click to collapse
Oh then I'm tripping then haha, I have a question though. I tried installing Liquid Nitro and every time I tend to wipe data, wipe cache, wipe dalvik, and wipe system. It just hangs at the LG logo and I haven't had the ability to try out your v7 or for that matter any of the other previous Liquid Nitro. I'll send you a PM since I can't really post in the development section due to my lack of postage xD :cyclops:
On the CM 10.1M3 with wind kernel 1.8, after one day of normal use with WiFi off and Data Off and Location services off I got Google Maps being the worst offender battery wise, the weird part is that I didn't really used maps that day. So even with everything off some service is still eating bat in background.
Sent from my Nexus 4 using xda app-developers app
The problem
I've been using CM10 on a Defy+ for a few days now. I've quickly noticed that I'm not getting exactly stellar battery life. Checking BetterBatteryStats indicated zero deep sleep, and "wifi_wake" as king of the wakelocks.
I realise that it's probably not wifi's fault but rather inconsiderate apps using wakelocks badly, still, something needs to be done.
Who is this for
People who, when their Defy+ has wifi on and connected, get absolutely no deep sleep in BetterBatteryStats, and wifi_wake or similar tops the kernel wakelock chart.
Does this work when wifi is on but not connected to an AP?
No idea. Theoretically, wherever you come near an AP there will be beacons and DTIM's flying around so it might work. But if you're not going to be connected you might as well turn wifi off, either manually or with an app. I can recommend Wi-Fi Matic, it uses a clever trick (uses GSM cell IDs to detect proximity to a known AP).
Possible solution (*ROOT* needed. This was ONLY tested on Defy+ with CM10.)
After some research I came to the configuration files for the TI wifi module, which are located in /system/etc/wifi and called tiwlan.ini and tiwlan_ap.ini. After some digging around and reading the Texas Instruments doc for the module (sprugt8.pdf), I'm prepared to offer a hack:
In tiwlan.ini change DtimListenInterval from 1 to 30.
In tiwlan_ap.ini change BeaconListenInterval from 1 to 10.
Reboot and see if BetterBatteryStats reports better (or any) deep sleep with wifi on and connected.
This combination gives me up to 85% deep sleep. YMMV because you probably don't have the same apps & background services installed as I do, usage patterns etc.
Increasing these values even further is possible (valid range is 1-50) but with only marginal improvements to deep sleep time and increasing issues with wifi (frequent disconnects in the case of weak signal). In other words, the connectivity problems aren't worth the extra 5% of deep sleep. Even so, if you manage to increase them (beacon in particular, I haven't tested large values as thorough as I did DTIM) and still keep wifi stable, please let us know.
Here's my findings for DtimListenInterval (on its own): 10 gives 25-30% deep sleep, 20 gives 42-50%, 30 goes up to 60%. Increasing it any further is pretty much useless, 50 (max) will get you to ~67% but expect heavy disconnects.
For BeaconListenInterval: 10 seems to be an upper limit when Dtim is around 25-30. Going over will cause disconnects even with very strong APs.
I haven't documented BeaconListenInterval on its own very rigurously, OR various combinations of the two, because I got bored of rebooting. Plus the fact I don't know when which of the two ini files will be used, so it's kinda like shooting in the dark. You're welcome to contribute your own findings.
But how do I edit those files?
You need root and any file manager worth its salt that lets you see the system files and edit them.
Is this dangerous?
I have no idea and I take no responsability. It's probably a good idea to make a backup of those files, and, even better, slap the backups into a flashable zip on the root of your sdcard. In case something bad happens you can reboot in recovery and install the good versions back. Example flashable zip and tutorial here. Remember, they go into system/etc/wifi/.
Warning: I used this on CM10 and Defy+
If you attempt it on anything else all bets are off. If the files are not there, you can't find the keywords and so on, you're on your own. Still, you can read the explanations below and try to see if anything helps.
Explanations
tiwlan.ini and tiwlan_ap.ini control the behavior of the wifi module. I have no idea why there's two of them (or more, on some devices), but after poking around I've determined they must all be modified because they are used in different cases. (Different apps? Different circumstances? Different hardware parts? If anybody can enlighten us it would be super.)
These config files are similar, but different in some key aspects. Both my files have dot11PowerMode=0 which means "auto", which means that it looks at AutoPowerModeDozeMode to determine if it uses short (2) or long (3) doze mode for power saving. tiwlan.ini has short mode, tiwlan_ap.ini has long mode. This in turn means they use different listen intervals: short mode (tiwlan.ini) observes BeaconListenInterval, long doze (tiwlan_ap.ini) observes DtimListenInterval. Which is why we modify different properties in each file.
What are beacons and DTIMs? Simply put, beacons are a signal broadcasted by wifi access points periodically to let wifi clients they're there, and DTIMs are packages of special information about the AP. The most typical setup for most wifi APs is to send a beacon every 100ms i.e. 10 times a second, and a DTIM after every beacon, or at most every other beacon.
The default settings of "1" for BeaconListenInterval and DtimListenInterval means that the phone watches for these signals 5-10 times a second and, well, it's no wonder it doesn't get any sleep. Mind you, this does make for superb wifi connectivity, at the expense of battery life.
BTW, you can probably achieve similar effects by tweaking your wifi router to send beacons/DTIMs less often – all the wifi devices around your home will probably thank you. But of course you cannot control wifi APs everywhere you go, and it might backfire! Read below.
So why didn't "they" put better values on these settings?
For exactly the reason in the above paragraph: because you don't know what settings a particular AP you're trying to use has.
Here's an example. Say somebody tweaked their AP and put 10 beacons a second and a DTIM every 10 beacons. This means a DTIM once a second, then you come along and tweak your phone to only wake up the wifi connection every 30 DTIMs. That means 30 seconds, time in which the connection will most likely time out.
You cannot predict this kind of stuff so there's no safe default values other than "1", which mean "react as quickly as possible to any beacons/DTIMs we get because we don't know when we're getting another". My tweak is based on the assumption that the AP emits 10 beacons a second and DTIM with every beacon (beacon interval 100ms and DTIM interval 1). If the AP you use has been tweaked for more relaxed values these ini tweaks may backfire and cause disconnects!
Other potentially relevant ini settings
Here are some more interesting settings which could be further tweaked to get even better results:
PowerMgmtHangOverPeriod
AutoPowerModeActiveTh
AutoPowerModeDozeTh
BeaconReceiveTime
See the TI pdf for details.
That's all folks
Thanks for reading this far. Please contribute if you have insights, if I said stupid things or if you find settings that seem to work better.
[Edited 07/01/2021]
The issue is inconsisten, and so the solution as I've been unable to repeat -consistently- the failure of the RT.
It's been described as "brightness control breaks if you do not se it manually right after boot, before suspension/sleep", but this is not accurate, as I've been able to use it normally even without tweaks or manually changing after boot. And sometimes the same (repeated and confirmed) steps produce the issue. So, it's not clear, not consistent, not repeateable 100% each time.
The brightness issue IS NOT SPECIFIC OF Windows 10 on ARM32 (Surface RT), as it's been present since Windows 8.1 on diff computer brands. While it affects desktop computers as well, it seems to hit harder on laptops, specially if the "sleep when you close the lid" is activated.
After reading quite a bit, many users report solving this issue on their computers (non Surface RT) removing the sleep when you close the lid, removing the stock display drivers and updating them, remove dimming the display to save power, and removing the automatic brightness adjustment. However none of this seems to work on the Surface.
I created some scripts / instructions for powershell (below) to change the brightness at startup, but it doesn't work 100% as expected, not all the times. So there is a difference between changing the brightness manually, VS doing the same with a script.
I managed to clear this issue after restarting the display driver manually, it works. It's a simple "disable / enable" display (NVIDIA Tegra 3), and you will hear the beep of detected hardware, that's it. Also created some script/instructions to do this and it works, but it shuts down the audio. I removed the -like on the device get to avoid affecting similarly named devices, but it's not that... as I also used -eq (equal), getting the device that exactly matches the name given, and it also shuts down the audio. It shouldn't but it does.
That's all I know for now, it's some strange issue.
************************************
[solution found, the first post keeps the first attempt. If the following doesn't work for you, then try the new one at the end.]
I managed to upgrade my Surface RT 1 to Windows 10 and yes, things work better this way, BUT the brightness control has some issues.
Problem:
The tablet starts from off state with brightness at 100% regardless of the last state.
While this has happened on most cases, I noticed sometimes it starts at 0% without user intervention.
Yes you can perform brightness adjustments BUT, if you don't do so, it breaks when the devices goes to sleep and you won't be able to change the brightness until restart.
Your experience might be different, I asked here and there, and it seems some users had a diff experience, but they seem to be just rare exceptions.
Runaround: right after first boot from off state, perform whatever adjustment and you will keep the freedom of changing the brightness at any time even after sleep. This is what I was told and tested myself, it works, but I'm not fully sure about this as I would need more time to test my tablet.
My fix:
Create a powershell script with this code inside:
Code:
$tempov = Get-Ciminstance -Namespace root/WMI -ClassName WmiMonitorBrightness;
$original = $tempov.CurrentBrightness *1
$valt=11
if($original -gt 30){
$blink=$original-$valt
}else{
$blink=$original+$valt
}
(Get-WmiObject -Namespace root/WMI -Class WmiMonitorBrightnessMethods).WmiSetBrightness(1,$blink)
(Get-WmiObject -Namespace root/WMI -Class WmiMonitorBrightnessMethods).WmiSetBrightness(1,$original)
You will have to enable running powershell scripts, in my case I opened a window, tried and was asked to enable it or not, I said yes, that's it. And you can run this script at any time. But the idea is adding it to the Task Scheduler and set it to run right after booting, this mean "at startup".
Originally I made the script set the brightness to 30% this way:
Code:
(Get-WmiObject -Namespace root/WMI -Class WmiMonitorBrightnessMethods).WmiSetBrightness(1,30)
But if the tablet wakes up at 100% or 0%, it won't be pretty. So I changed it to the code posted at the beginning of the thread. What it does is...
It gets the current brightness value
Then perform a simple calculation to know if it can add or substract
Then applies the new value (thus a change in brightness)
And then goes back to the original value applying the original percentage
This provides a more pleasant visual experience, a slight blink, almost unnoticeable.
Why those values on the code? long story, I don't think you want to know the details, what? ok, 10 doesn't always work, 1, 2, 3, 4, 5, etc don't work, on some ranges changes of 1, 2 values don't work (I don't know why), and the most safe way is to do so using 10 as the base units for change in brightness (don't ask me why, I tested over and over), so 11 is the safest value. I could explain more about my tests but I don't want too, it's too long and boring and wouldn't make a difference, the code above works, if you want something different then you are free to play with the code yourself.
IMPORTANT: to avoid seeing a window opening while running the script, set the task scheduler to "Run wether user is logged on or not". This would require your password, if you don't have one on your account then I don't know what to do, I tried but the thing insisted so there you go.
I'm not an expert on Task Scheduler so please don't ask, research yourself, don't want to be rude, I just don't know enough details to guide you, what I posted here WORKS.
Already tested (and will continue testing) and it works, the tablet does a light and almost unnoticeable fade-blink and the brightness control is preserved after sleep.
IF... you manage to add this feature to your Surface RT without errors, then report how the code helps or not your brightness control. My case = perfect. Will continue testing.
I think this is THE BEST method because even if you modify the brightness yourself, the code will be executed and it would be just slightly noticeable, so it's the best option regardless of the current brightness value.
Previous script works at times, don't blame me, I took my time to read, research and test, it's not that simple as "brightness gets broken after suspension", and it's not as easy to solve as "set your custom brightness level right after first boot", at least testing over and over prooves it.
But this one is bullet proof (PowerShell)
Code:
$d = Get-PnpDevice| where {$_.friendlyname -like "NVIDIA Tegra 3*"};
$d | Disable-PnpDevice -Confirm:$false;$d | Enable-PnpDevice -Confirm:$false
What it does is, it gets the screen device and disabled it and enables it again, the screen will just blink but the brighness control is fully restored, you can run it at any time it gets stuck. Not pretty but efficient. You could even set it on the task scheduler to run after wake up (I prefer not to).
Is this method still work?