Create FAQ entry for solving BT sleep issues

Falco shared this idea 1 month ago
Collecting votes

I did spend a whole month of testing to collect enoght ways to fix BT disconnections


In Addition to this FAQ entry: http://docs.locusmap.eu/doku.php?id=manual:faq:gps_lost_fix_android6


If you loose BT connection during track recording only if display is off for at least 1 to 3 hours you may have a battery power saving setup issue. The followed solution doesn't help if you have stable BT connections during track recording with display allways on.


  1. apply everthing of http://docs.locusmap.eu/doku.php?id=manual:faq:gps_lost_fix_android6
  2. disable battery optimization for bluetooth system servicess according to http://docs.locusmap.eu/doku.php?id=manual:faq:gps_lost_fix_android6#system_battery_optimization_mode (at least needed for Android 6 and 7 on Sony and Samsung devices) you may need to toogle "show all system services". Disable battery optimization for the following services:

    - Bluetooth MIDI Service

    - Bluetooth Sharing

  3. clear cache and remove data for android bluetooth system services. - Settings > Apps > 3-dots -> show system processes:

    - Bluetooth MIDI Service

    - Bluetooth Sharing

  4. restart android and the issue should be gone in most cases

If you still have issues with loosing BT connection during long time in standby, you could try to do the following steps which are less likely to fix anything:

  • some broken android firmwares do disable BT during sound profil check even if they are disabled: remove all do not disturb sound profiles in settings -> sounds
  • you may have some third party apps on your phone which do disable BT for example apps like "Tile" does reconnect BT in background
  • maybe other suggestions could help you https://productforums.google.com/forum/#!topic/phone-by-google/UamV0tnZKNE

And if everything does fail and you need to use display allways on as workarround. You could reduce the screen on time if you turn your display on each hour right before the BT connection go to sleep.

  1. Install app "Tasker"
  2. create a loop which wait 1 hour every time
  3. add a turn display on action (Anroid 5+ need an additional tasker plugin App "Secure Settings" to get access to add Task > plugins -> secure settings ->wake device >screen on)
  4. add a notification "wake display %TIME" to tell you that your workaround is running
  5. optional if you did disable lockscreen, start a touchscreen lock app to prevent inputs during your screen on action.
  6. optional add a display off (display lock) action if you don't have any display timeout

This will prevent your android device from entering any deep sleep states but drain way less power then display allways on.


If you have BT problems even with display allways on, you have maybe an android hardware problem, environment problem or BT transmitter problem. Check if your BT transmitter is causing the problem. Some devices stop sending data on fireware specific conditions. If you don't have any issues with track recording or sometimes the connection got interupted by your testing environment. (hardware issue or signal interferences. Try to make a track recoding with screen always on in a controlled static envirnoment with less wireless and bt interferences as possible.

Comments (4)

photo
1

Here an even better and faster way to check if there are any issues with battery management:

https://www.bignerdranch.com/blog/diving-into-doze-mode-for-developers/

adb shell dumpsys battery unplug
adb shell dumpsys deviceidle step deep

And if you can't use the battery optimization ui, you could manully exclude Locus and Bluetooth

adb shell dumpsys deviceidle whitelist
If you just want to disable power management the hard way without turning screen on and off, you could mock your battery status:

adb shell dumpsys battery set usb 1

photo
1

So far, I'm not experiencing BT disconnection when inside 5 meter distance and when I'm using Locus BT connection directly. What I'm doing is, I set an alarm when position is lost or when my device is disconnected to my Garmin GLO gps receiver.


I'm only experiencing BT sleep when using 3rd party apps like bluetooth gps.

photo
1

Yes, that should be one of the first lines of the BT related FAQ entry. Improve signal by reduce distance, remove obstacles and stay away from transmitters with similar 2.4Ghz frequenzy like WLAN, microwaves and fluorescent lighting.


And if possible try different GPS transmitters and multible smartphones. But don't forgett to remove the pairings and disable BT if you make tests across devices, a paired BT connection should be stable but it isn't, there are very fragile BT implementation out there.


At least I can tell that you will need this configuration for android 5+ on Sony Z3 Compact and Samsung S4 mini even on a clean test bench without any hight frequenzy signal noise around.

photo
photo
1

clear cache and remove data for android bluetooth system services is the most importand step. I did fix a Sony and a Samsung with Android 5.1.1 by clear cache and remove data.

I wasn't confident about the possibility to fix 5.1.1 issues because you can't put anything on android 5 power management whitelist. UI integration and API integration of whitelist handling is missing in Lollipop. And BT standby disconnect issue was even there after an fresh factory reset.

I did take the effort because Android 5 default services consum less power then android 6 and if you don't care about mobile security, downgrade is more easy then messing around with android services.

Actually I did follow an workflow with mayby unneccesary steps based on car integration screen off issues https://forums.androidcentral.com/android-5-0-lollipop/493677-bluetooth-issues-lollipop-5-0-1-a.html

I will reset the Sony again and test how many steps where really needed, I would expect that clear data on BT service did already fix it.


By the way, Android Orio Screen On Time is horrible accros multiple Custom Rom vendors, even with airplain mode is to much going on during active screen session. I am sure that it will be the fault of Oreo background service activity because I don't think that it does put more current into my LCD backlight during the 100% brightness test with active locus sat view. I got overall 30% more current flow compared to Lollipop, it's a very inconsistent power flow with many current peeks which already tells that something is looking for anything even with disabled wlan and disabled mobile network. BT connection is still stable on Oreo, no new powwer managment issues but I will still switch back to lollipop because it take to much effort to search the power consuming Oreo background services.