nightscout / AndroidAPS

Opensource automated insulin delivery system (closed loop)
https://wiki.aaps.app
GNU Affero General Public License v3.0
728 stars 1.77k forks source link

Can't connect to Omnipod DASH pods after Android 15 upgrade #3471

Open n0rbertg opened 1 month ago

n0rbertg commented 1 month ago

Phone: Pixel 9 Pro Android version: Android 15 (stable) Version: 3.2.0.4 (Edit: Tried with latest dev as well [806a18f] same problem)

After upgrading to Android 15, the app can't communicate with Dash. After rebooting the phone, a single handshake works but nothing after. Similarly, I was able to pair a new pod under Android 15, but any connection after times out.

@AdrianLxM @avereha @bartsopers @vanelsberg could any of you take a look at this? Thank you!


03:54:15.548 [RxCachedThreadScheduler-63] D/AUTOMATION: [AutomationPlugin.processActions$automation_fullRelease():255]: processActions
03:54:15.552 [RxCachedThreadScheduler-63] D/AUTOMATION: [TriggerBg.shouldRun():62]: NOT ready for execution: Glucose is lesser than 3.8 MMOL
03:54:15.583 [RxCachedThreadScheduler-67] D/PUMPBTCOMM: [Connection.connectionState():171]: GATT connection state: 2
03:54:15.628 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 8
03:54:15.730 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 8
03:54:15.832 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 8
03:54:15.934 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 8
03:54:16.037 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 8
03:54:16.087 [RxCachedThreadScheduler-67] D/PUMPBTCOMM: [Connection.connectionState():171]: GATT connection state: 2
03:54:16.139 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 8
03:54:16.241 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 8
03:54:16.343 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 9
03:54:16.446 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 9
03:54:16.549 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 9
03:54:16.592 [RxCachedThreadScheduler-67] D/PUMPBTCOMM: [Connection.connectionState():171]: GATT connection state: 2
03:54:16.651 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 9
03:54:16.755 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 9
03:54:16.856 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 9
03:54:16.959 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 9
03:54:17.061 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 9
03:54:17.098 [RxCachedThreadScheduler-67] D/PUMPBTCOMM: [Connection.connectionState():171]: GATT connection state: 2
03:54:17.163 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 9
03:54:17.265 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 9
03:54:17.367 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 10
03:54:17.469 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 10
03:54:17.571 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 10
03:54:17.606 [RxCachedThreadScheduler-67] D/PUMPBTCOMM: [Connection.connectionState():171]: GATT connection state: 2
03:54:17.674 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 10
03:54:17.776 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 10
03:54:17.878 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 10
03:54:17.980 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 10
03:54:18.083 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 10
03:54:18.112 [RxCachedThreadScheduler-67] D/PUMPBTCOMM: [Connection.connectionState():171]: GATT connection state: 2
03:54:18.185 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 10
03:54:18.288 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 10
03:54:18.390 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 11
03:54:18.493 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 11
03:54:18.594 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 11
03:54:18.616 [RxCachedThreadScheduler-67] D/PUMPBTCOMM: [Connection.connectionState():171]: GATT connection state: 2
03:54:18.697 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 11
03:54:18.771 [binder:4453_F] D/PUMPBTCOMM: [BleCommCallbacks.onConnectionStateChange():38]: OnConnectionStateChange with status/state: 19/0
03:54:18.772 [binder:4453_F] I/PUMPBTCOMM: [Connection.onConnectionLost():209]: Lost connection with status: 19
03:54:18.799 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 11
03:54:18.902 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 11
03:54:19.007 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 11
03:54:19.110 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():102]: handshaking 11
03:54:19.119 [RxCachedThreadScheduler-67] D/PUMPBTCOMM: [Connection.disconnect():129]: Disconnecting closeGatt=false
03:54:19.124 [binder:4453_F] D/PUMPBTCOMM: [Connection.disconnect():129]: Disconnecting closeGatt=true
03:54:19.124 [RxCachedThreadScheduler-67] W/PUMPBTCOMM: [OmnipodDashManagerImpl$observeConnectToPodWithStop$1$1.accept():122]: observeConnectToPodWithStop error=info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.ConnectException: stopConnecting called
03:54:19.125 [RxCachedThreadScheduler-67] D/PUMP: [OmnipodDashManagerImpl$ErrorInterceptor.accept():780]: Intercepted error in OmnipodDashManagerImpl: info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.ConnectException: stopConnecting called
03:54:19.126 [binder:4453_F] D/PUMPBTCOMM: [BleCommCallbacks.resetConnection():217]: Reset connection
03:54:19.126 [ConnectionThread] I/PUMPCOMM: [OmnipodDashPumpPlugin$connect$2.invoke():276]: connect error=java.lang.RuntimeException: info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.ConnectException: stopConnecting called
03:54:19.213 [Thread-1378] D/PUMPQUEUE: [QueueThread.run():114]: connect
03:54:19.214 [Thread-1378] I/PUMP: [OmnipodDashPumpPlugin.connect():255]: connect reason=Connection needed
03:54:19.219 [RxCachedThreadScheduler-70] D/PUMP: [OmnipodDashManagerImpl$PodEventInterceptor.accept():704]: Intercepted PodEvent in OmnipodDashManagerImpl: BluetoothConnecting
03:54:19.223 [RxCachedThreadScheduler-70] D/PUMPBTCOMM: [Connection.connectionState():171]: GATT connection state: 0
03:54:19.224 [RxCachedThreadScheduler-70] D/CORE: [Connection.connect():69]: Connecting connectionWaitCond=ConnectionWaitCondition(timeoutMs=null, stopConnection=java.util.concurrent.CountDownLatch@af28aee[Count = 1])
03:54:19.232 [RxCachedThreadScheduler-70] D/PUMPBTCOMM: [Connection.waitForConnection():145]: waitForConnection connectionWaitCond=ConnectionWaitCondition(timeoutMs=null, stopConnection=java.util.concurrent.CountDownLatch@af28aee[Count = 1])
03:54:19.287 [RxCachedThreadScheduler-63] D/AUTOMATION: [AutomationPlugin$onStart$11.accept():180]: Grabbed new BT event: EventBTChange[deviceAddress=AC:3B:96:37:EA:BB,deviceName=<null>,state=DISCONNECT]
03:54:19.290 [RxCachedThreadScheduler-63] D/AUTOMATION: [AutomationPlugin.processActions$automation_fullRelease():255]: processActions
[...]
07:09:13.225 [CommandQueueImplementationHandler] D/PUMPQUEUE: [CommandQueueImplementation.notifyAboutNewCommand$lambda$6():220]: Starting new thread
07:09:13.227 [RxCachedThreadScheduler-66] D/CORE: [UserEntryLoggerImpl$log$1.accept():60]: USER ENTRY: 10/16/24 07:09:13 TEMP_BASAL Loop  [UnitPerHour(value=4.7), Minute(value=30)]
07:09:13.230 [Thread-2559] D/PUMPQUEUE: [QueueThread.run():114]: connect
07:09:13.230 [Thread-2559] I/PUMP: [OmnipodDashPumpPlugin.connect():255]: connect reason=Connection needed
07:09:13.231 [RxCachedThreadScheduler-77] D/PUMP: [OmnipodDashManagerImpl$PodEventInterceptor.accept():704]: Intercepted PodEvent in OmnipodDashManagerImpl: BluetoothConnecting
07:09:13.233 [RxCachedThreadScheduler-77] D/PUMPBTCOMM: [Connection.connectionState():171]: GATT connection state: 2
07:09:13.233 [RxCachedThreadScheduler-77] D/CORE: [Connection.connect():69]: Connecting connectionWaitCond=ConnectionWaitCondition(timeoutMs=null, stopConnection=java.util.concurrent.CountDownLatch@413994e[Count = 1])
07:09:13.235 [RxCachedThreadScheduler-77] D/PUMPBTCOMM: [Connection.waitForConnection():145]: waitForConnection connectionWaitCond=ConnectionWaitCondition(timeoutMs=null, stopConnection=java.util.concurrent.CountDownLatch@413994e[Count = 1])
07:09:13.236 [binder:4453_2] D/PUMPBTCOMM: [BleCommCallbacks.onConnectionStateChange():38]: OnConnectionStateChange with status/state: 0/2
07:09:13.237 [RxCachedThreadScheduler-77] D/PUMPBTCOMM: [Connection.connectionState():171]: GATT connection state: 2
07:09:13.237 [RxCachedThreadScheduler-77] D/PUMPBTCOMM: [ServiceDiscoverer.discoverServices():28]: Discovering services
07:09:13.246 [DefaultDispatcher-worker-4] D/WORKER: [LoggingWorker$doWork$2.invokeSuspend():27]: Worker result SUCCESS for class app.aaps.workflow.UpdateWidgetWorker
07:09:13.247 [main] D/WIDGET: [Widget.onReceive():87]: onReceive WorkFlow
07:09:13.260 [DefaultDispatcher-worker-4] D/WORKER: [LoggingWorker$doWork$2.invokeSuspend():27]: Worker result SUCCESS for class app.aaps.workflow.PreparePredictionsWorker
07:09:13.278 [DefaultDispatcher-worker-4] D/WORKER: [LoggingWorker$doWork$2.invokeSuspend():27]: Worker result SUCCESS for class app.aaps.workflow.UpdateGraphWorker
07:09:13.424 [CompanionHandler] D/CORE: [Widget.updateTemporaryTarget():223]: Adjusted target. Profile: 99.0 APS: 93.0
07:09:13.427 [CompanionHandler] D/CONSTRAINTS: [ConstraintObject.set():28]: Setting value true -> false (Autosens disabled in preferences)[EN]
07:09:13.655 [binder:4453_2] D/PUMPBTCOMM: [BleCommCallbacks.onConnectionStateChange():38]: OnConnectionStateChange with status/state: 19/0
07:09:13.656 [binder:4453_2] I/PUMPBTCOMM: [Connection.onConnectionLost():209]: Lost connection with status: 19
07:09:13.741 [binder:4453_2] D/PUMPBTCOMM: [Connection.disconnect():129]: Disconnecting closeGatt=true
07:09:13.748 [binder:4453_2] D/PUMPBTCOMM: [BleCommCallbacks.resetConnection():217]: Reset connection
07:09:13.751 [RxCachedThreadScheduler-77] D/PUMPBTCOMM: [Connection.disconnect():129]: Disconnecting closeGatt=false
07:09:13.751 [RxCachedThreadScheduler-77] D/PUMPBTCOMM: [BleCommCallbacks.resetConnection():217]: Reset connection
07:09:13.753 [RxCachedThreadScheduler-77] W/PUMPBTCOMM: [OmnipodDashManagerImpl$observeConnectToPodWithStop$1$1.accept():122]: observeConnectToPodWithStop error=info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.ConnectException: stopConnecting called
07:09:13.753 [RxCachedThreadScheduler-77] D/PUMP: [OmnipodDashManagerImpl$ErrorInterceptor.accept():780]: Intercepted error in OmnipodDashManagerImpl: info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.exceptions.ConnectException: stopConnecting called```
nickb24 commented 3 weeks ago

Here my AAPS log from the time it happened yesterday afternoon 15:36 - 15:54. I only enabled ALL pump related logs, hope it helps... as I said I am back to 14 as this state of 15 is unreliable and unstable. AndroidAPS.log

Thanks for the logs. I looked them over and I found a few interesting sections. Maybe someone can help here? Is anyone else looking into this or am I the only one looking at logs at this point?

Some notes:

[BleCommCallbacks.onConnectionStateChange():38]: OnConnectionStateChange with status/state: 19/0 This comes up a lot. Status 19 is "GATT_CONN_TERMINATE_PEER_USER". So for some reason either the bluetooth stack is thinking the Dash pod has disconnected, or the Dash pod really disconnected itself for some unknown reason.

15:36:12.043 [RxCachedThreadScheduler-263] D/PUMPBTCOMM: [ServiceDiscoverer.discoverServices():28]: Discovering services 15:36:12.552 [RxCachedThreadScheduler-263] D/PUMPBTCOMM: [Connection.connectionState():171]: GATT connection state: 2 This is generated from this part of the code: https://github.com/nightscout/AndroidAPS/blob/e5f3545cd321520a0479b108185a58ec97c98c6f/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/ServiceDiscoverer.kt#L28 If I follow the code, I should eventually see the message "Services discovered" in the log, but I don't. So the connection gets disconnected at some point, but without throwing any other errors in the logs that I can trace to in the code.

At this point I'm stuck. There isn't enough debug information to look at this closer. My choices are:

  1. Risk it on my personal Pixel 7 pro phone and see if I can get the problem (I'm not willing to do this),
  2. Add more logging code and have a volunteer compile with that code and provide logs after,
  3. Get my hands on a Pixel 7 or above and test,
  4. Someone else can take over the investigation who has a phone in hand with the issue and can follow in debug mode on android studio into the code.

@2flea Can you try again with nRF connect? Can you put AAPS in virtual pump mode, reboot phone, force stop AAPS, then try with nRF connect?

2flea commented 3 weeks ago

@2flea Can you try again with nRF connect? Can you put AAPS in virtual pump mode, reboot phone, force stop AAPS, then try with nRF connect?

At that particular time I checked also with nRF and it could also not discover the service. The discover suddenly worked again for nRF and AAPS.

That is the reason I am now back to A14 and can no longer reproduce anything, sorry.

nickb24 commented 3 weeks ago

@2flea Can you try again with nRF connect? Can you put AAPS in virtual pump mode, reboot phone, force stop AAPS, then try with nRF connect?

At that particular time I checked also with nRF and it could also not discover the service. The discover suddenly worked again for nRF and AAPS.

That is the reason I am now back to A14 and can no longer reproduce anything, sorry.

No worries. You did more than enough. You provided a lot of logs. Thanks again.

fawkes15 commented 2 weeks ago

Hi all, I'm on Pixel8 A15 for two weeks and I never had any issues with DASH and BT. Let me know how can I help you...

p.s. I've had issue with Dexcom G7 during warm up pairing (2 sensors failed)

alarictabaries commented 2 weeks ago

Hi everyone,

I mistakenly updated my Pixel 9 to Android 15 a bit too early.

I believe I read somewhere that the beta updates might help fix the issue – any thoughts on that?

Thanks for the incredible work on this tool!

nickb24 commented 2 weeks ago

Hi everyone,

I mistakenly updated my Pixel 9 to Android 15 a bit too early.

I believe I read somewhere that the beta updates might help fix the issue – any thoughts on that?

Thanks for the incredible work on this tool!

@alarictabaries Do you have an issue on your Pixel 9 with Android 15? If yes, you can try signing up for the Android Beta and see if it resolves your problem. Please report back if you do: https://www.google.com/android/beta#devices

n0rbertg commented 2 weeks ago

I mistakenly updated my Pixel 9 to Android 15 a bit too early.

I believe I read somewhere that the beta updates might help fix the issue – any thoughts on that?

Hi,

I have a Pixel 9 Pro and upgrading to QPR1 beta2 and beta3 solved the issue for me. It's stable now both with Dash and G7 (via Diakem).

Other people still have issues here after upgrading to QPR1 beta, and based on the limited amount of data it's not confirmed if it's model specific or caused by something else. In my case, upgrading to beta worked.

alarictabaries commented 2 weeks ago

@alarictabaries Do you have an issue on your Pixel 9 with Android 15? If yes, you can try signing up for the Android Beta and see if it resolves your problem. Please report back if you do: https://www.google.com/android/beta#devices

Other people still have issues here after upgrading to QPR1 beta, and based on the limited amount of data it's not confirmed if it's model specific or caused by something else. In my case, upgrading to beta worke

Thank you for your answers! I’ll test it with my new Dash on Friday night and will keep you updated.

alarictabaries commented 2 weeks ago

I’ve updated my Pixel 9 to the latest beta version (AP41.240925.009 / beta3), but unfortunately, the issue still persists. After killing the app and relaunching it, it seems to be stable now and has been working for more than 5 minutes. I’ll keep monitoring to see if the fix holds up over time.

nickb24 commented 2 weeks ago

I’ve updated my Pixel 9 to the latest beta version (AP41.240925.009 / beta3), but unfortunately, the issue still persists. After killing the app and relaunching it, it seems to be stable now and has been working for more than 5 minutes. I’ll keep monitoring to see if the fix holds up over time.

Please report back. If indeed the latest beta doesn't resolve your issue, then it means that Android 15 is not going to work with Dash pods for awhile.

alarictabaries commented 2 weeks ago

Please report back. If indeed the latest beta doesn't resolve your issue, then it means that Android 15 is not going to work with Dash pods for awhile.

I confirm the issue is still here for me. I tested a pod at 22:49, and I’m including the logs here in case it helps with troubleshooting.

nickb24 commented 2 weeks ago

Please report back. If indeed the latest beta doesn't resolve your issue, then it means that Android 15 is not going to work with Dash pods for awhile.

I confirm the issue is still here for me. I tested a pod at 22:49, and I’m including the logs here in case it helps with troubleshooting.

These are some interesting logs. It's not the same as the others posted.

Few questions:

  1. Did you have good connection all the time when the phone was plugged in? Looking to see if some battery saving if causing issues.
  2. One log looks completely good. The other has a connection issue that looks to be resolved immediately after you restarted AAPS right? If this is true then it suggests an AAPS code issue and not an OS bluetooth stack issue.
alarictabaries commented 2 weeks ago
  1. Did you have good connection all the time when the phone was plugged in? Looking to see if some battery saving if causing issues.

This could indeed be a cause ! I hadn't paid attention to it.

2. One log looks completely good. The other has a connection issue that looks to be resolved immediately after you restarted AAPS right? If this is true then it suggests an AAPS code issue and not an OS bluetooth stack issue.

It was somewhat inconsistent, sometimes it worked after restarting the phone, sometimes after restarting the app, and sometimes it didn’t work at all.

I downgraded to Android 14, I can't help you further with this issue.

Larsboyscout commented 2 weeks ago

I can test i am running 2 phones I've pixel 7 with Android 15 and a pixel 2 with advertised 14

On Sun, Nov 3, 2024, 2:38 p.m. Alaric @.***> wrote:

  1. Did you have good connection all the time when the phone was plugged in? Looking to see if some battery saving if causing issues.

This could indeed be a cause ! I hadn't paid attention to it.

  1. One log looks completely good. The other has a connection issue that looks to be resolved immediately after you restarted AAPS right? If this is true then it suggests an AAPS code issue and not an OS bluetooth stack issue.

It was somewhat inconsistent, sometimes it worked after restarting the phone, sometimes after restarting the app, and sometimes it didn’t work at all.

I downgraded to Android 14, I can't help you further with this issue.

— Reply to this email directly, view it on GitHub https://github.com/nightscout/AndroidAPS/issues/3471#issuecomment-2453585612, or unsubscribe https://github.com/notifications/unsubscribe-auth/A7UW2FOQYABKGCTEWOSD5VTZ62JVVAVCNFSM6AAAAABQBI5ME6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJTGU4DKNRRGI . You are receiving this because you commented.Message ID: @.***>

nickb24 commented 2 weeks ago

The current logs generated by AAPS is not enough to debug this issue. If I provide a Git patch with extra logging code added, is someone willing to compile this code and run it? I haven't created the patch code yet but I don't want to waste time generating it if no one is willing to run it.

To apply a Git patch, you would do the following: https://stackoverflow.com/a/76935894

This of course involves some level of trust that I'm not inserting malicious code. So I would also have to warn people that you should review the code for yourself before compiling and running it. But for full transparency, all I plan to do is add a bunch more comment outputs like this line: https://github.com/nightscout/AndroidAPS/blob/3df83535f9f8f3246308121900c2785c50915fa8/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/ServiceDiscoverer.kt#L28

2flea commented 2 weeks ago

I can no longer help with Android 15 but if it helps or as a control I could do that with Android 14.

tyrex1975 commented 2 weeks ago

I have a Pixel 6 which is my daily driver for AAPS so I plan on staying on Android 14 for the time being. However, my wife has a Google Pixel 7a which I can get upgraded to Android 15 and run a patched AAPS version. I have spare Dash pods which could be used separately without messing up my main setup. Will need some help in Android Studio to build the patched version and then returning to the main branch for my daily driver AAPS afterwards though....

nickb24 commented 2 weeks ago

I'm running a Pixel 7 pro on Android 14. So I have all I need for that.

@tyrex1975 if you are willing. The first step would be to upgrade that Pixel 7a to Android 15 stock (non-beta) and then see if you have problems connecting to Dash pods. Only if you have problems then we can investigate. No point in investigating if it already works.

tyrex1975 commented 2 weeks ago

No problem, will get onto it. Might take a little while to respond due to it not being my phone!

mariogarofalo commented 1 week ago

Novembre changelog for Pixel phones:

The biggest updates are for the Pixel 9, 9 Pro, 9 Pro XL, and 9 Pro Fold (AP3A.241105.008):

Security: Provides the most up to date Android security patches on your device.

Bluetooth: Addressed an issue with Bluetooth range under certain conditions.

Camera: Addressed an issue with camera tilt when zooming between cameras under certain conditions.

Sensors: Addressed an issue that occasionally prevented Adaptive brightness from activating in certain conditions.

Touch: Addressed an issue when pressing the keyboard dismiss button in certain conditions.

User interface: General improvements for performance and stability in certain UI transitions and animations.

Display & Graphics: Resolved an issue that caused white dots to flash under certain conditions.

Meanwhile, there are just two November 2024 update changelog entries for the Pixel 6, 7, and 8 series (AP3A.241105.007):

The most up to date Android security patches on your device. General improvements for performance and stability in certain UI transitions and animations.

nickb24 commented 1 week ago

@mariogarofalo I don't see anything there for this issue.

mariogarofalo commented 1 week ago

I've followed Mike Huang suggestion.

I've filled a new pod with water and put on my pillow. I've deactivate Play Protect from Play Store. Pod started. The bolus launched from Aaps from phone, was delivered. The bolus launched from Aaps from Samsung Galaxy Watch 6, gone in timeout. But this Is a greet result for me. Tomorrow evening my actual pod, connected with old phone, expire. I return to use my main phone (Pixel 8 with Android 15) as ever.

fawkes15 commented 1 week ago

I'd like to report that after the November security patch (5 november), I no longer have pairing issues with the Dexcom G7 and Pixel 8 Android 15. I've never had issues with the Omnipod Dash since upgrading to A15

nickb24 commented 1 week ago

I've followed Mike Huang suggestion.

I've filled a new pod with water and put on my pillow. I've deactivate Play Protect from Play Store. Pod started. The bolus launched from Aaps from phone, was delivered. The bolus launched from Aaps from Samsung Galaxy Watch 6, gone in timeout. But this Is a greet result for me. Tomorrow evening my actual pod, connected with old phone, expire. I return to use my main phone (Pixel 8 with Android 15) as ever.

Play protect causing this issue is an interesting one. Can anyone else confirm?

If this is the issue, one workaround that could be used is to install AAPS on your phone using the ADB interface. The command to use is: adb install -t -r aaps.apk

image https://developer.android.com/tools/adb#pm

Using ADB bypasses that app from being scanned by Play Protect.

parapenT1sta commented 1 week ago

About Play Protect, if it is on Wiki is for a reason: https://androidaps.readthedocs.io/en/latest/UsefulLinks/FAQ.html#aaps-stops-everyday-around-the-same-time

jchester47 commented 1 week ago

Disabling play protect did not resolve the problem for me. So that doesn't seem to be a viable fix.

I can generally get the connection to restore and hold by force closings AAPS, clearing the app's cache, and turning off Bluetooth. Then I reopen AAPS, and allow the app to turn Bluetooth back on.

The connection restores and usually holds until the next phone reboot or new pod pairing, although the connection is occasionally lost during the session.

Larsboyscout commented 1 week ago

For me a restart fixes the connection but then it loses connection after a while and I have to stop the alarm and restart to do it again

On Sun, Nov 10, 2024, 4:41 p.m. jchester47 @.***> wrote:

Disabling play protect did not resolve the problem for me. So that doesn't seem to be a viable fix.

I can generally get the connection to restore and hold by force closings AAPS, clearing the app's cache, and turning off Bluetooth. Then I reopen AAPS, and allow the app to turn Bluetooth back on.

The connection restores and usually holds until the next phone reboot or new pod pairing, although the connection is occasionally lost during the session.

— Reply to this email directly, view it on GitHub https://github.com/nightscout/AndroidAPS/issues/3471#issuecomment-2466989949, or unsubscribe https://github.com/notifications/unsubscribe-auth/A7UW2FKUNT3PQ4Y7IR7YPN3Z77VKBAVCNFSM6AAAAABQBI5ME6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRWHE4DSOJUHE . You are receiving this because you commented.Message ID: @.***>

Larsboyscout commented 1 week ago

And not sure if it matters but when I have. Suggestion for a Badal adjustment the icon changes as per below

On Sun, Nov 10, 2024, 5:38 p.m. Lars Stevenson @.***> wrote:

For me a restart fixes the connection but then it loses connection after a while and I have to stop the alarm and restart to do it again

On Sun, Nov 10, 2024, 4:41 p.m. jchester47 @.***> wrote:

Disabling play protect did not resolve the problem for me. So that doesn't seem to be a viable fix.

I can generally get the connection to restore and hold by force closings AAPS, clearing the app's cache, and turning off Bluetooth. Then I reopen AAPS, and allow the app to turn Bluetooth back on.

The connection restores and usually holds until the next phone reboot or new pod pairing, although the connection is occasionally lost during the session.

— Reply to this email directly, view it on GitHub https://github.com/nightscout/AndroidAPS/issues/3471#issuecomment-2466989949, or unsubscribe https://github.com/notifications/unsubscribe-auth/A7UW2FKUNT3PQ4Y7IR7YPN3Z77VKBAVCNFSM6AAAAABQBI5ME6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRWHE4DSOJUHE . You are receiving this because you commented.Message ID: @.***>

t1dude commented 1 week ago

I chose to update my Pixel 9 Pro from Android 14 to Android 15 with the November update. I've had no issues with Dexcom G7 or Omnipod Dash so far. The pod that was already connected kept working well. I did a pod change and it worked well also.

t1dude commented 1 week ago

No connection issues during the night either.

CJiwan commented 6 days ago

Hello, Has anyone with the problem had the opportunity to test the QPR2 Beta 1 which is available?

Heike2109 commented 3 days ago

After installing Android 15 I have issues with Omnipod Dash. After reading your commets, I installed nRF connect tool. There I bonded the Omnipod Dash and choose "Use autoConnect". Works fine. After changing the pod, you have to bond the new Pod.

CJiwan commented 3 days ago

After installing Android 15 I have issues with Omnipod Dash. After reading your commets, I installed nRF connect tool. There I bonded the Omnipod Dash and choose "Use autoConnect". Works fine. After changing the pod, you have to bond the new Pod.

This is interesting, next Monday I will try your solution when changing my POD. If there are several of us for whom this solves the problem, it could perhaps help to find a correction in AAPS.

nickb24 commented 3 days ago

After installing Android 15 I have issues with Omnipod Dash. After reading your commets, I installed nRF connect tool. There I bonded the Omnipod Dash and choose "Use autoConnect". Works fine. After changing the pod, you have to bond the new Pod.

That's interesting. AAPS doesn't use autoconnect, but I don't see why this would even make a difference: https://github.com/nightscout/AndroidAPS/blob/d9988f12383b9746645f34d840db8007350e97f7/pump/omnipod-dash/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/dash/driver/comm/session/Connection.kt#L73

nickb24 commented 2 days ago

Small update for the group. I've got my hands on a Pixel 7 (non-pro) running Android 15 November update (AP3A.241105.007). I connected AAPS to a running Pod and everything is working. Monitored with Logcat and there is nothing unusual there either. I refreshed the Pod status for the last 15 minutes and it works every time. I also sent a bolus command and it worked.

For those who have issues, are you not able to refresh the Pod status every time? Or do you only notice random connection losses after a certain amount of time (like overnight)?

Working theories:

  1. The November update fixed the problem,
  2. Pixel 7 series is unaffected by the issue, and it's Pixel 8/9 the problem,
  3. I installed AAPS using ADB, bypassing any Play Protect interferences possibly.
  4. Issue is random and only occurs after a certain amount of time

I have to return the phone back to the person I borrowed it from, so I can't continue extended tests. My personal phone is a Pixel 7 Pro, but I'm not comfortable yet to upgrade it to Android 15.

tyrex1975 commented 2 days ago

https://support.google.com/pixelphone/thread/305744117/google-pixel-update-november-2024?hl=en

Mentions:

Bluetooth Fix for issue with Bluetooth range under certain conditions*[3]

*[3] Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold

jchester47 commented 2 days ago

Small update for the group. I've got my hands on a Pixel 7 (non-pro) running Android 15 November update (AP3A.241105.007). I connected AAPS to a running Pod and everything is working. Monitored with Logcat and there is nothing unusual there either. I refreshed the Pod status for the last 15 minutes and it works every time. I also sent a bolus command and it worked.

For those who have issues, are you not able to refresh the Pod status every time? Or do you only notice random connection losses after a certain amount of time (like overnight)?

Working theories:

  1. The November update fixed the problem,
  2. Pixel 7 series is unaffected by the issue, and it's Pixel 8/9 the problem,
  3. I installed AAPS using ADB, bypassing any Play Protect interferences possibly.
  4. Issue is random and only occurs after a certain amount of time

I have to return the phone back to the person I borrowed it from, so I can't continue extended tests. My personal phone is a Pixel 7 Pro, but I'm not comfortable yet to upgrade it to Android 15.

I am running on Android 15 beta on a Pixel 8 Pro (the latest version plus the 11/5 security update). I opted into Android 15 when the stock 15 update completely broke my ability to communicate with pods.

On the beta version, I can connect to pods, but it is spotty. It usually goes like this:

  1. I can prime, pair and insert a new pod.
  2. The initial pairing and command for boluses is successful.
  3. After the initial connection, no further connection attempts work.
  4. I delete my AAPS logs and force close AAPS. I clear the app cache.
  5. I turn off Bluetooth and go into my apps and clear the cache and data on the "bluetooth legacy" app.
  6. Upon reopening APS, i allow it to re-enable BT.
  7. After this, the connection to the pod is usually successful and persists until the next phone reset, at which time the problem recurs.

This isn't always consistent though. Sometimes the connection is randomly lost in the middle of a session (especially annoying in the middle of the night). Sometimes I just can't reestablish the connection no matter what I do, in which case I just have to give up on the pod and start over.

t1dude commented 2 days ago

After about a week I still have no issues whatsoever. This is my setup:

Pixel 9 Pro Android 15 with November update AAPS Dev (latest as of last week) Omnipod Dash Dexcom G7 (Stock app) xDrip in Companion Mode (reading BG from the Dexcom app notifications)

CJiwan commented 23 hours ago

I have tested the idea of Heike2109 : using nRF to "Bond" and Use autoConnect with the POD. Unfortunately it didn't work in my case. I was able to start a new POD but after that, no way to establish the connection between AAP and the POD. Maybe I made a mistake with nRF but I cannot test with too much pod (Every time I try I lose a pod.).

For reminder I have a Pixel 7a with Android 15 and the QPR2 Beta 1.

nickb24 commented 21 hours ago

At the moment I believe there a no developers looking into this issue. I believe I was the only one attempting to look into it, but at the moment I don't have anyone willing to try a test build of AAPS with extra debug logging. I also don't have access to a phone that shows the problem either.

What's more concerning to me is also the range of people who either have or have not the problem. I can't seem to find a common denominator here. Example, some people with the same phone and OS version report no problems and then at the same time another person reports problems.

If someone else is actually looking into this, please correct me, as I hope I'm wrong.