GrapheneOS Thank you very much for your hard work :)
Request for testing and feedback with Bluetooth on Android 14 QPR2 GrapheneOS
GrapheneOS
Thank you
Good!
Installed GrapheneOS today on Pixel 6. BlueTooth works perfectly with my car, Google ear buds and google assistant.
davidjackson
Yeah, for me it's only my watch(Galaxy Watch 6 Classic) that struggles to connect
Etm571 Yup, similar with me. Nearly all tested devices work (Skoda car from 2012, cheap China car stereo, Plantronics headset, cheap Aukey headset, Innateck BT receiver, Musegear Finder tag, etc.).
Only Pebble Time watch with Gadgetbridge app has problems. The watch connects to the phone, but Gadgetbridge app must establish the connection itself - and this isn't working anymore.
Bluetooth working OK with my Mercedes vehicle and LG wireless ear phones in the OWNER profile only. Problems with incoming calls in the GApps profile as described in Github issue #3174
We've received the Galaxy Watch 6 Classic and can replicate the issue. No progress on resolving it yet.
GrapheneOS I’m not sure if my issue applies to this discussion, specially since I am on Build 2024031400. I don't know what QPR2 means.
I pretty much use Bluetooth only for transferring files. I do not use it for connected devices like watches or earbuds.
Recently I am experience file transfer failures when sending files from my Pixel 6pro (P6p) to my Surface Pro 5 (SP5) laptop. My P6p is running build number 2024031400 and my SP5 laptop is running Windows 10 Pro and is current with MS security updates.
I have noticed when I can’t send from my P6p to my SP5, my P6p can receive from my SP5. Most files being transferred are jpg and pdf ranging from 100kb to 4mb.
I’m happy to provide the GOS Support team with additional info if this is of interest and relevant to this discussion/thread. If it doesn’t apply, then sorry for the clutter.
Thanks :)
Thank you to the GrapheneOS team for putting extra work into figuring the watch issue out even though it's not GOS's fault ❤️
Along with my Watch 6 Classic, I also have an AsteroidOS Watch, I believe it also uses BLE, it pairs and operates properly, but can require several attemps to reconnect after disconnecting, in one case I had to reboot the watch, when it reconnects I have to accept some security pairing notice on the watch everytime, the watch never used to do that, but it does reconnect and operate, I will test it again once the Galaxy watch issue has been resolved, as I belive whatever is going on with that, is also causing this odd connection behaviour with AsteroidOS.
Something I would also like to add, this Oppo watch Im using with AsteroidOS connected to the Pixel 8 Pro has only lost 16% battery in 7hrs, the phone is also doing well, the drain only happens when the Samsumg watch is trying to connect, 7hrs and its almost flat.
We've found a revision of the Bluetooth module where we're able to get it to build with minor changes and the Galaxy Watch 6 Classic is working with it. We're currently working on narrowing down which changes are required to get it working so we can ship only the minimal set of changes needed to have it working with minimal chance of breaking anything else.
The problem is that we have a significantly newer revision of the code than the stock OS is using via an APEX module along with the stock OS module clearly going through a proper testing / stabilization process which did not happen for the open source tagged release of the Bluetooth module.
We should have it working again soon.
Just installed GrapheneOS for the first time on a PIxel 6 a few days ago. Cannot get Bluetooth to enable at all. I installed the default stable which appears to be 2024031400.
See the attached logs for the crashes. The crashes happen when I try to enable bluetooth. After trying to enable bluetooth it hangs and then eventually I get the popup "Bluetooth keeps crashing" which then allows me to show the debug log.
Log 1:
type:
crash
osVersion: google/oriole/oriole:14/AP1A.240305.019.A1/2024031400: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 0000000000064ec4 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: fc346b3f8a42643dd45cc2b6b2c8252c)
#01 pc 0000000000938568 /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const)+632) (BuildId: 15c54dd1aa3c87c4985a88c6cf966388)
#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 0000000000a721b4 /apex/com.android.btservices/lib64/libbluetooth_jni.so (bluetooth::hal::HciHalHidl::start_aidl()::'lambda'(void)::invoke(void)+100) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#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: ee54997167916b15561912b07ea90b61)
#07 pc 000000000005bba0 /system/lib64/libbinder.so (android::BpBinder::sendObituary()+144) (BuildId: ee54997167916b15561912b07ea90b61)
#08 pc 0000000000053c7c /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+5340) (BuildId: ee54997167916b15561912b07ea90b61)
#09 pc 0000000000051c10 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+704) (BuildId: ee54997167916b15561912b07ea90b61)
#10 pc 0000000000051938 /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24) (BuildId: ee54997167916b15561912b07ea90b61)
#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: 9621419971dcd77532aef23f990552ee)
#13 pc 00000000000cf97c /apex/com.android.runtime/lib64/bionic/libc.so (pthread_start(void)+204) (BuildId: fc346b3f8a42643dd45cc2b6b2c8252c)
#14 pc 0000000000066770 /apex/com.android.runtime/lib64/bionic/libc.so (start_thread+64) (BuildId: fc346b3f8a42643dd45cc2b6b2c8252c)
Log 2:
type: crash
osVersion: google/oriole/oriole:14/AP1A.240305.019.A1/2024031400: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: 'assertion 'init_status == std::future_status::ready' failed - Can't start stack, last instance: starting HciHalHidl'
backtrace:
#00 pc 0000000000064ec4 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: fc346b3f8a42643dd45cc2b6b2c8252c)
#01 pc 000000000093835c /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const)+108) (BuildId: 15c54dd1aa3c87c4985a88c6cf966388)
#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 0000000000a6c778 /apex/com.android.btservices/lib64/libbluetooth_jni.so (bluetooth::StackManager::StartUp(bluetooth::ModuleList, bluetooth::os::Thread)+712) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#05 pc 00000000003c74e0 /apex/com.android.btservices/lib64/libbluetooth_jni.so (bluetooth::shim::Stack::Start(bluetooth::ModuleList)+192) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#06 pc 00000000003c72b4 /apex/com.android.btservices/lib64/libbluetooth_jni.so (bluetooth::shim::Stack::StartEverything()+980) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#07 pc 00000000003dea8c /apex/com.android.btservices/lib64/libbluetooth_jni.so (ShimModuleStartUp()+124) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#08 pc 000000000071fad8 /apex/com.android.btservices/lib64/libbluetooth_jni.so (module_start_up(module_t const)+200) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#09 pc 000000000071e708 /apex/com.android.btservices/lib64/libbluetooth_jni.so (init_stack_internal(bluetooth::core::CoreInterface)+72) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#10 pc 000000000071e5c8 /apex/com.android.btservices/lib64/libbluetooth_jni.so (event_init_stack(std::1::promise<void>, bluetooth::core::CoreInterface)+136) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#11 pc 000000000071e644 /apex/com.android.btservices/lib64/libbluetooth_jni.so (base::internal::Invoker<base::internal::BindState<void ()(std::1::promise<void>, bluetooth::core::CoreInterface), std::1::promise<void>, base::internal::UnretainedWrapper<bluetooth::core::CoreInterface> >, void ()>::RunOnce(base::internal::BindStateBase)+52) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#12 pc 0000000000a921f4 /apex/com.android.btservices/lib64/libbluetooth_jni.so (base::debug::TaskAnnotator::RunTask(char const, base::PendingTask)+196) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#13 pc 0000000000a91738 /apex/com.android.btservices/lib64/libbluetooth_jni.so (base::MessageLoop::RunTask(base::PendingTask)+360) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#14 pc 0000000000a91a5c /apex/com.android.btservices/lib64/libbluetooth_jni.so (base::MessageLoop::DoWork()+460) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#15 pc 0000000000a94004 /apex/com.android.btservices/lib64/libbluetooth_jni.so (base::MessagePumpDefault::Run(base::MessagePump::Delegate)+100) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#16 pc 0000000000aa0600 /apex/com.android.btservices/lib64/libbluetooth_jni.so (base::RunLoop::Run()+64) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#17 pc 000000000079b870 /apex/com.android.btservices/lib64/libbluetooth_jni.so (bluetooth::common::MessageLoopThread::Run(std::1::promise<void>)+336) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#18 pc 000000000079b330 /apex/com.android.btservices/lib64/libbluetooth_jni.so (bluetooth::common::MessageLoopThread::RunThread(bluetooth::common::MessageLoopThread, std::1::promise<void>)+48) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#19 pc 000000000079be84 /apex/com.android.btservices/lib64/libbluetooth_jni.so (void std::1::thread_proxy<std::1::tuple<std::1::unique_ptr<std::1::thread_struct, std::1::default_delete<std::1::thread_struct> >, void ()(bluetooth::common::MessageLoopThread, std::1::promise<void>), bluetooth::common::MessageLoopThread, std::1::promise<void> > >(void)+84) (BuildId: 68e2b99eab8e0494db3aef44541100d3)
#20 pc 00000000000cf97c /apex/com.android.runtime/lib64/bionic/libc.so (pthread_start(void*)+204) (BuildId: fc346b3f8a42643dd45cc2b6b2c8252c)
#21 pc 0000000000066770 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: fc346b3f8a42643dd45cc2b6b2c8252c)
Hi all:
I own a Pixel 8, GrapheneOS build 2024031400, Android version (AP1A.240305.019.A1). I'm unable to get my BlueDriver Bluetooth OBD II scanner manufactured by Lemur Vehicle Monitors to connect to my device as of the recent changes. I'm glad I decided to read this whole thread, since we've already established there are lingering issues with the OBDLink MX+, even after the fixes pushed to the alpha branch. Were it not for my car getting a check engine light this week I would never have known there were problems with Bluetooth, which I use every day, because all my other stuff works fine.
BlueDriver model is LSB2. I'm not sure what firmware version the scanner itself is since it's only printed in the BlueDriver app once the scanner is connected, which I can't do at the moment. App version is 7.13.2.
I've tried, without success:
Deleting app cache
Resetting Bluetooth settings in GOS and deleting all other paired devices
Placing app in Exploit Compatibility Mode with all regular permissions granted (location, sensors, etc.)
The scanner has difficulty pairing - sometimes it (seemingly) works, other times it will fail and GOS will notify me of the failure to pair. If it does pair correctly (seemingly), connecting never works. The app seems to cycle between a status of "connecting" and "connected" every few seconds when trying to connect. I have "Notify about system process crashes" on, developer mode off - the Bluetooth module doesn't seem to actually fail, at least that displays anything to me.
I've already ruled out that this particular sensor might be bad because I've tried on current iOS, and it works without incident.
I've submitted a ticket with Lemur for this issue too and CCed them this thread. Since, to my knowledge, BlueDriver hasn't gotten a firmware update in a while, I'm not entirely sure if this is an Android 14 issue or the scanner being too old.
@muhomorr Emailed you two logs - one is trying to connect to scanner through app, other is having freshly paired scanner to phone and then trying to connect to scanner through app.
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.
GrapheneOS
You guys are Wizards. 5 Pro working. Thank you :)