• Announcements
  • Request for testing and feedback with Bluetooth on Android 14 QPR2 GrapheneOS

emilycestmoi This appears to be a hardware issue, not an OS issue. Did you try Bluetooth on the stock OS? It doesn't seem related to this.

Our latest release should resolves the upstream Android 14 QPR2 issues with the Galaxy Watch 6 Classic and likely many other Bluetooth devices. We still expect that some ancient insecure devices will no longer work by design but there shouldn't be more incompatibilities in GrapheneOS than the stock OS. If there are still any issues in GrapheneOS not present in the stock OS, please let us know.

https://discuss.grapheneos.org/d/11638-grapheneos-version-2024032100-released

It would be good to get some initial feedback about the new release and then we should probably move to a new thread for any further issues, which are likely also present in the stock OS but it will need to be confirmed.

    It would be good to get feedback about the other devices people had issues with after the QPR2 update beyond the 5th/6th generation Galaxy Watch which is confirmed to be working properly again.

    Did this also resolve the OBDLink issues? It was hopefully the same issue.

      I'm glad I can report that since updating to 2024032100 from beta channel, connection to OBDLink MX+ is working again. Didn't have to do anything special like resetting or unpairing, or anything. Just working!

      Thank you so much for your great job in getting this (AOSP?) issue tracked down!

      GrapheneOS Since the first QPR2 release I have issues on mx Pixel 7 listening to music. When I listen to music on Spotify, which is running in the workprofile, and turning the screen of, after approximately 5 minutes the audioserver crashes once and then the music is extremely stuttering.
      Basically I can only listen to music now, when the screen is turned on

      type: crash
      osVersion: google/panther/panther:14/AP1A.240305.019.A1/2024031400:user/release-keys
      uid: 1041 (u:r:audioserver:s0)
      cmdline: /system/bin/audioserver
      processUptime: 0s
      
      signal: 11 (SIGSEGV), code 1 (SEGV_MAPERR), faultAddr 0
      cause: null pointer dereference
      threadName: AudioOut_15
      
      backtrace:
          /system/bin/audioserver (android::EffectModule::setVolume(unsigned int*, unsigned int*, bool)+436, pc fd604)
          /system/bin/audioserver (android::EffectChain::setVolume_l(unsigned int*, unsigned int*, bool)+516, pc 1120e4)
          /system/bin/audioserver (android::MixerThread::prepareTracks_l(android::Vector<android::sp<android::IAfTrack> >*)+14888, pc 164818)
          /system/bin/audioserver (android::PlaybackThread::threadLoop()+3268, pc 1556c4)
          /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+368, pc 14280)
          /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204, pc cf97c)
          /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64, pc 66770)

      If recommended I can also open a Issue on Github

        Hi, similar to letgamer and emilycestmoi, Bluetooth disconnects while playing music when screen is locked. If on call, there is disconnect and the call is dropped. No such problem is there while the screen remains on. I am using a P7 pro running 2024032100 from Beta channel.

        • Here are the logs for Bluetooth crash when it is simply switched on/a device is connected. This occurs 2-3 mins post screen lock
        type: crash
        osVersion: google/cheetah/cheetah:14/AP1A.240305.019.A1/2024032100:user/release-keys
        uid: 1002 (u:r:bluetooth:s0)
        cmdline: com.android.bluetooth
        processUptime: 0s
        
        abortMessage: The Bluetooth HAL died.
        
        signal: 6 (SIGABRT), code -1 (SI_QUEUE)
        threadName: binder:31870_5
        
        backtrace:
            /apex/com.android.runtime/lib64/bionic/libc.so (abort+164, pc 64e84)
            /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+632, pc 938568)
            /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_0::__invoke(char const*)+80, pc 19ad0)
            /system/lib64/liblog.so (__android_log_assert+292, pc 70e4)
            /apex/com.android.btservices/lib64/libbluetooth_jni.so (bluetooth::hal::HciHalHidl::start_aidl()::'lambda'(void*)::__invoke(void*)+100, pc a71b24)
            /system/lib64/libbinder_ndk.so (AIBinder_DeathRecipient::TransferDeathRecipient::binderDied(android::wp<android::IBinder> const&)+68, pc 110d4)
            /system/lib64/libbinder.so (android::BpBinder::reportOneDeath(android::BpBinder::Obituary const&)+144, pc 5bc90)
            /system/lib64/libbinder.so (android::BpBinder::sendObituary()+144, pc 5bba0)
            /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+5340, pc 53c7c)
            /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+704, pc 51c10)
            /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24, pc 51938)
            /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+368, pc 14280)
            /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+140, pc e3ddc)
            /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204, pc cf93c)
            /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64, pc 66730)
        type: crash
        osVersion: google/cheetah/cheetah:14/AP1A.240305.019.A1/2024032100:user/release-keys
        package: com.android.bluetooth:34
        process: com.android.bluetooth
        processUptime: 0 + 0 ms
        
        signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
        Abort message: 'The Bluetooth HAL died.'
        
        backtrace:
              #00 pc 0000000000064e84  /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: a8cd74908de1830f20f574f8d622db82)
              #01 pc 0000000000938568  /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+632) (BuildId: e2d4c7ae9fa225f36a825be113720b47)
              #02 pc 0000000000019ad0  /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_0::__invoke(char const*)+80) (BuildId: 8e8e779c9a82b7943fb5ad7dbe775048)
              #03 pc 00000000000070e4  /system/lib64/liblog.so (__android_log_assert+292) (BuildId: 87375b1b8db4710fc46cd6f649211f8d)
              #04 pc 0000000000a71b24  /apex/com.android.btservices/lib64/libbluetooth_jni.so (bluetooth::hal::HciHalHidl::start_aidl()::'lambda'(void*)::__invoke(void*)+100) (BuildId: ab62af0796a4b2b91b692d415cd9e6d1)
              #05 pc 00000000000110d4  /system/lib64/libbinder_ndk.so (AIBinder_DeathRecipient::TransferDeathRecipient::binderDied(android::wp<android::IBinder> const&)+68) (BuildId: 43adb007c2150d99d37b2e68e3c3dbc0)
              #06 pc 000000000005bc90  /system/lib64/libbinder.so (android::BpBinder::reportOneDeath(android::BpBinder::Obituary const&)+144) (BuildId: 2e6aefaf1692593d70d788d9d68f7aae)
              #07 pc 000000000005bba0  /system/lib64/libbinder.so (android::BpBinder::sendObituary()+144) (BuildId: 2e6aefaf1692593d70d788d9d68f7aae)
              #08 pc 0000000000053c7c  /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+5340) (BuildId: 2e6aefaf1692593d70d788d9d68f7aae)
              #09 pc 0000000000051c10  /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+704) (BuildId: 2e6aefaf1692593d70d788d9d68f7aae)
              #10 pc 0000000000051938  /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24) (BuildId: 2e6aefaf1692593d70d788d9d68f7aae)
              #11 pc 0000000000014280  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+368) (BuildId: 75de91514ce8b3d8100d1f28757ff5ac)
              #12 pc 00000000000e3ddc  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+140) (BuildId: f0b54f975e05f839d33bf9b07a3b87c8)
              #13 pc 00000000000cf93c  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204) (BuildId: a8cd74908de1830f20f574f8d622db82)
              #14 pc 0000000000066730  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: a8cd74908de1830f20f574f8d622db82)
        • In case of bluetooth connected during a call, after 2-3 mins of screen lock, these following crashes occur.
          type: crash
          osVersion: google/cheetah/cheetah:14/AP1A.240305.019.A1/2024032100:user/release-keys
          uid: 1041 (u:r:audioserver:s0)
          cmdline: /system/bin/audioserver
          processUptime: 0s
          
          abortMessage: TimeCheck timeout for IAudioPolicyService::setStreamVolumeIndex scheduled 14:40:49.683 on thread 1129
          Timeout ms 5000.000000 elapsed steady ms 5001.132324 elapsed system ms 5001.154785
          HAL pids [ 996 ]
          now 14:40:55.721
          secondChanceCount 2
          analysis [  ]
          timeout [ { IAudioPolicyService::setStreamVolumeIndex scheduled 14:40:49.684 deadline :52.684 tid 1129 } ]
          pending [ { IAudioPolicyService::isStreamActive scheduled 14:40:49.834 deadline :52.834 tid 1085 } ]
          retired [ { IAudioFlinger::setParameters scheduled 14:40:16.708 deadline :19.708 tid 1129 } { StreamOutHalHidl::standby scheduled 14:40:19.303 deadline  tid 1717 } { IAudioPolicyService::isStreamActive scheduled 14:40:49.663 deadline :52.663 tid 1129 } { IAudioPolicyService::isStreamActive scheduled 14:40:49.671 deadline :52.671 tid 1129 } ]
          timeout(1129) callstack [
            #00 pc 00000000000bbd08  /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+8) (BuildId: a8cd74908de1830f20f574f8d622db82)
            #01 pc 000000000006f2fc  /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156) (BuildId: a8cd74908de1830f20f574f8d622db82)
            #02 pc 0000000000051a78  /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+296) (BuildId: 2e6aefaf1692593d70d788d9d68f7aae)
            #03 pc 0000000000051938  /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24) (BuildId: 2e6aefaf1692593d70d788d9d68f7aae)
            #04 pc 0000000000014280  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+368) (BuildId: 75de91514ce8b3d8100d1f28757ff5ac)
            #05 pc 00000000000cf93c  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204) (BuildId: a8cd74908de1830f20f574f8d622db82)
            #06 pc 0000000000066730  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: a8cd74908de1830f20f574f8d622db82)
          ]
          
          signal: 6 (SIGABRT), code -1 (SI_QUEUE)
          threadName: binder:1085_2
          
          backtrace:
              /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+8, pc bbd08)
              /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156, pc 6f2fc)
              /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+296, pc 51a78)
              /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24, pc 51938)
              /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+368, pc 14280)
              /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204, pc cf93c)
              /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64, pc 66730)
          type: crash
          osVersion: google/cheetah/cheetah:14/AP1A.240305.019.A1/2024032100:user/release-keys
          uid: 1041 (u:r:hal_audio_default:s0)
          cmdline: /vendor/bin/hw/android.hardware.audio.service
          processUptime: 0s
          
          signal: 35 (<debuggerd signal>), code -1 (SI_QUEUE), senderUid 1041
          threadName: binder:996_2
          
          backtrace:
              /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+8, pc bbd08)
              /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156, pc 6f2fc)
              /apex/com.android.vndk.v35/lib64/libhidlbase.so (android::hardware::IPCThreadState::joinThreadPool(bool)+320, pc 5e530)
              /vendor/bin/hw/android.hardware.audio.service (main+3980, pc 306c)
              /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+104, pc 5c068)
          type: crash
          SystemUptimeMs: 6125102
          Process: system_server
          Build: google/cheetah/cheetah:14/AP1A.240305.019.A1/2024032100:user/release-keys
          Crash-Handler: com.android.internal.os.RuntimeInit$KillApplicationHandler
          Loading-Progress: 1.0
          Dropped-Count: 0
          
          java.lang.RuntimeException: android.os.DeadObjectException
          	at android.bluetooth.BluetoothHeadset.getAudioState(BluetoothHeadset.java:865)
          	at com.android.server.audio.BtHelper.isBluetoothScoOn(BtHelper.java:437)
          	at com.android.server.audio.AudioDeviceBroker.preferredCommunicationDevice(AudioDeviceBroker.java:2421)
          	at com.android.server.audio.AudioDeviceBroker.updateActiveCommunicationDevice(AudioDeviceBroker.java:675)
          	at com.android.server.audio.AudioDeviceBroker.getCommunicationDeviceInt(AudioDeviceBroker.java:644)
          	at com.android.server.audio.AudioDeviceBroker.getCommunicationDevice(AudioDeviceBroker.java:638)
          	at com.android.server.audio.AudioService.getCommunicationDevice(AudioService.java:6524)
          	at android.media.AudioManager.getCommunicationDevice(AudioManager.java:8872)
          	at com.android.server.telecom.CallAudioRouteStateMachine.processLegacySpeakerCommunicationDevice(CallAudioRouteStateMachine.java:2112)
          	at com.android.server.telecom.CallAudioRouteStateMachine.setSpeakerphoneOn(CallAudioRouteStateMachine.java:1847)
          	at com.android.server.telecom.CallAudioRouteStateMachine.-$$Nest$msetSpeakerphoneOn(CallAudioRouteStateMachine.java:0)
          	at com.android.server.telecom.CallAudioRouteStateMachine$ActiveEarpieceRoute.enter(CallAudioRouteStateMachine.java:379)
          	at com.android.internal.util.StateMachine$SmHandler.invokeEnterMethods(StateMachine.java:1042)
          	at com.android.internal.util.StateMachine$SmHandler.performTransitions(StateMachine.java:888)
          	at com.android.internal.util.StateMachine$SmHandler.handleMessage(StateMachine.java:828)
          	at android.os.Handler.dispatchMessage(Handler.java:107)
          	at android.os.Looper.loopOnce(Looper.java:232)
          	at android.os.Looper.loop(Looper.java:317)
          	at android.os.HandlerThread.run(HandlerThread.java:68)
          Caused by: android.os.DeadObjectException
          	at android.os.BinderProxy.transactNative(Native Method)
          	at android.os.BinderProxy.transact(BinderProxy.java:586)
          	at android.bluetooth.IBluetoothHeadset$Stub$Proxy.getAudioState(IBluetoothHeadset.java:787)
          	at android.bluetooth.BluetoothHeadset.getAudioState(BluetoothHeadset.java:861)
          	... 18 more

        Hope this helps in identifying the problem. BTW, big fan of Graphene OS. Thanks a lot for all the effort.

          Like user topro, I too am able to connect to my bluetooth OBDLink (LX model for me) using beta channel build 2024032100. Thanks for doing this!! Hopefully this tagging issue is just a one-off mistake on their part and not part of a new pattern.

          Hi all,
          hm, so this is strange. I still can't get the Pebble Time paired using the Gadgetbridge app though I can still pair it using the system preferences. With latest alpha release, of course.

          BUT using the old, original Pebble app, it now works! 🥳

          I used the Pebble app for initial configuration; but as it didn't work well with GrapheneOS 13 when I set everything up in autumn 2022 I deactivated it (but kept it). Now with current GrapheneOS the app seems to work well again and I'll keep it to the disadvantage of Gadgetbridge. Have to do a longer term test (fingers crossed).

          Now it seems to me the problem is not the watch - but rather the Gadgetbridge app, maybe in conjunction with GrapheneOS?

          I added my comment to their specific issue here: https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/3596

          Cheers

          @GrapheneOS Thank you, yes it was indeed a hardware error. I bought the phone to use GrapheneOS without trying stock Android. Bluetooth is broken on stock Android as well. Phone was returned. Thank you for all your work!

          • [deleted]

          • Edited

          Bluetooth tests with Pixel 5 on 2024032100 alpha release:

          Garmin watch (2021) syncs fine through bluetooth with garmin connect app = WORKING
          Polar watch (2020) syncs fine through bluetooth with Polar Flow app = WORKING
          Polar bicycle computer (2015) syncs fine through bluetooth with Polar Flow app = WORKING

          All worked fine before & after QPR2 .

          matchboxbananasynergy Yes, broken on stock as well. However, there is another observation.

          This issue occurs only when WLAN adaptor is switched on simultaneously (not with mobile data on or when WLAN is switched off) with Bluetooth. So, probably not purely a hardware issue and probably stems from the HAL.

          However, for anyone else facing the same issue, check if the WIFI is switched off. It works then.

          Hi guys, yesterday the update of 2024032100 landed on my phone. Did not have yet the opportunity to test it with my medical device just yet as I am on a journey.

          However, I am able to report that this version somehow broke the internet sharing between 2 android phones via bluetooth (ie. not WiFi hotspot). Tested between Pixel 7 with GOS and Pixel 5 with LineageOS

            GrapheneOS unstickied the discussion .