GrapheneOS / os-issue-tracker

Issue tracker for GrapheneOS Android Open Source Project hardening work. Standalone projects like Auditor, AttestationServer and hardened_malloc have their own dedicated trackers.
https://grapheneos.org/
358 stars 21 forks source link

Bluetooth device will not reconnect unless powered off, then back on after update to GOS 2024030900 #3315

Closed sysop84 closed 7 months ago

sysop84 commented 7 months ago

Problem

As of 2024030900, my Willful M98 bluetooth headset will not auto-reconnect in the following two scenarios, meaning the only working method for reconnecting is to power the headset off, then back on.

  1. After phone reboot
  2. After toggling the bluetooth service off/on

Previously tapping the headset from Settings > Connected devices would reconnect the headset.

The current (broken) behavior displayed on-screen is (1) tap the headset entry from Settings > Connected devices, (2) the headset is briefly moved (~100ms) to Connected devices, then is removed and placed back under Saved devices.

It wants to connect, but something in this update is preventing it. All previous GOS system OS updates worked fine.

What I've tried to fix

jsea76 commented 7 months ago

GOS version: 2024030900 Phone: Pixel 6a Bluetooth device: Samsung Galaxy Watch 5

I'm having the same issue. Since 202403900 my bluetooth device will not reconnect if bluetooth connection is lost. Galaxy Watch 5. I have to reset the watch and re-pair again and it'll work until the connection is broken. Looks like its constantly trying to reconnect. Tried resetting bluetooth with sane results.

bleuthoot-sven commented 7 months ago

GOS version: 2024030900 Phone: Pixel 8 Pro Bluetooth device: Samsung Galaxy Watch 6

Pretty much exact same issue as @jsea76 has: Devices loses connection after a long period of time and doesn't want to reconnect. Resetting and repairing the watch only works for a few hours until it loses connection and doesn't want to connect again.

EDIT: A similar thing happens when my phone tries to connect to my PC over bluetooth, which I use for Windows Phone Link.

ionspin commented 7 months ago

GOS version: 2024030900 Phone: Pixel 7a Bluetooth device: Samsung Galaxy Watch 5 and Galaxy Watch 4

Same behavior as @bleuthoot-sven reported, following error is reported in logcat:

03-12 20:27:51.789  2098  2536 E bluetooth: packages/modules/Bluetooth/system/gd/hci/hci_layer.cc:163 - on_command_status: Received UNEXPECTED command status:PIN_OR_KEY_MISSING opcode:0x413 (SET_CONNECTION_ENCRYPTION)
thestinger commented 7 months ago

@ionspin This appears to indicate that the device done not properly implement encryption and Android 14 QPR2 Bluetooth security fixes break it. Can you update the watch?

jsea76 commented 7 months ago

Sorry. I was traveling and not able to get a log until now. These lines repeat themselves constantly while it tries to reconnect. Only stopping when bluetooth is off or the device is forgotten.

2024-03-12 16:17:19.155 2403 2505 com.android.bluetooth W btm_acl: packages/modules/Bluetooth/system/stack/acl/btm_acl.cc:1149 - BTM_SetLinkSuperTout: Role is peripheral so unable to set supervision timeout:80.00ms bd_addr:xx:xx:xx:xx:b8:95 2024-03-12 16:17:19.155 2403 2505 com.android.bluetooth W btm_acl: packages/modules/Bluetooth/system/stack/acl/btm_acl.cc:2246 - acl_peer_supports_sniff_subrating: Checking remote features but remote feature read is incomplete 2024-03-12 16:17:19.155 2403 2505 com.android.bluetooth W btm_acl: packages/modules/Bluetooth/system/stack/acl/btm_acl.cc:1618 - BTM_ReadRemoteVersion: Remote version information is invalid 2024-03-12 16:17:19.170 2403 2505 com.android.bluetooth E bt_btu_hcif: packages/modules/Bluetooth/system/stack/btu/btu_hcif.cc:1176 - btu_hcif_hdl_command_complete: Command complete for opcode:0x80d should not be handled here 2024-03-12 16:17:19.173 2403 2505 com.android.bluetooth W bt_btm_sec: packages/modules/Bluetooth/system/stack/btm/btm_sec.cc:4969 - btm_sec_set_peer_sec_caps: Security procedure not started! status:BTM_SUCCESS 2024-03-12 16:17:19.175 2403 2505 com.android.bluetooth E bt_btu_hcif: packages/modules/Bluetooth/system/stack/btu/btu_hcif.cc:1176 - btu_hcif_hdl_command_complete: Command complete for opcode:0x80d should not be handled here 2024-03-12 16:17:19.464 2403 2505 com.android.bluetooth E btm_sco: packages/modules/Bluetooth/system/stack/btm/btm_sco.cc:1213 - btm_sco_on_disconnected: Unable to find sco connection 2024-03-12 16:17:20.493 28991 17916 com.google.android.gms E WakeLock: WearableBluetooth IS FORCE-RELEASED ON TIMEOUT 2024-03-12 16:17:20.599 2403 2505 com.android.bluetooth W btm_acl: packages/modules/Bluetooth/system/stack/acl/btm_acl.cc:1149 - BTM_SetLinkSuperTout: Role is peripheral so unable to set supervision timeout:80.00ms bd_addr:xx:xx:xx:xx:b8:95 2024-03-12 16:17:20.599 2403 2505 com.android.bluetooth W btm_acl: packages/modules/Bluetooth/system/stack/acl/btm_acl.cc:2246 - acl_peer_supports_sniff_subrating: Checking remote features but remote feature read is incomplete 2024-03-12 16:17:20.599 2403 2505 com.android.bluetooth W btm_acl: packages/modules/Bluetooth/system/stack/acl/btm_acl.cc:1618 - BTM_ReadRemoteVersion: Remote version information is invalid 2024-03-12 16:17:20.604 2403 2505 com.android.bluetooth E bt_btu_hcif: packages/modules/Bluetooth/system/stack/btu/btu_hcif.cc:1176 - btu_hcif_hdl_command_complete: Command complete for opcode:0x80d should not be handled here 2024-03-12 16:17:20.615 2403 2505 com.android.bluetooth E bt_btu_hcif: packages/modules/Bluetooth/system/stack/btu/btu_hcif.cc:1176 - btu_hcif_hdl_command_complete: Command complete for opcode:0x80d should not be handled here 2024-03-12 16:17:20.629 2403 2505 com.android.bluetooth W rfcomm: packages/modules/Bluetooth/system/stack/rfcomm/port_rfc.cc:207 - PORT_StartCnf: PORT_StartCnf: failed result:61442 2024-03-12 16:17:20.629 2403 2547 com.android.bluetooth E bt_btif_sock_rfcomm: packages/modules/Bluetooth/system/btif/src/btif_sock_rfc.cc:915 - btsock_rfc_signaled: RFCOMM slot with id 154 not found. 2024-03-12 16:17:20.710 2403 2505 com.android.bluetooth E btm_sco: packages/modules/Bluetooth/system/stack/btm/btm_sco.cc:1213 - btm_sco_on_disconnected: Unable to find sco connection 2024-03-12 16:17:21.736 28991 17916 com.google.android.gms E WakeLock: WearableBluetooth IS FORCE-RELEASED ON TIMEOUT 2024-03-12 16:17:22.078 2403 2505 com.android.bluetooth W btm_acl: packages/modules/Bluetooth/system/stack/acl/btm_acl.cc:1149 - BTM_SetLinkSuperTout: Role is peripheral so unable to set supervision timeout:80.00ms bd_addr:xx:xx:xx:xx:b8:95

ionspin commented 7 months ago

@ionspin This appears to indicate that the device done not properly implement encryption and Android 14 QPR2 Bluetooth security fixes break it. Can you update the watch?

@thestinger I've checked, the watch (at least Watch 4) is already at the latest version. Also the fact that it can pair and work for some time before failing is suspicious.

I saw that GrapheneOS tag 2024030800 contained a Bluetooth related fix, but it was for Bluetooth LE, and the issue here seems to be Bluetooth Classic.

I'll try to follow the source from the logs and get a cleaner picture

Is there a list of Bluetooth security fixes that are in QPR2? That might give some additional pointers.

Rumo1985 commented 7 months ago

I have the same issue with my ticwatch pro 5. A re-connection cannot be made after the connection has been disconnected once

thestinger commented 7 months ago

These are likely buggy devices broken with Android 14 QPR2. Need to test them with stock OS.

ionspin commented 7 months ago

Just a quick update after testing with 2024031400 and disable hardened_malloc on Bluetooth app, in summary seems to be no change.

Steps I took to reproduce:

Logcat with filter bluetooth

2024-03-15 10:20:06.286 20066-20091 bt_btif_sock            com.android.bluetooth                I  packages/modules/Bluetooth/system/btif/src/btif_sock.cc:331 - btsock_connect: btsock_connect
2024-03-15 10:20:06.287 20066-20091 bt_btif_sock            com.android.bluetooth                I  packages/modules/Bluetooth/system/btif/src/btif_sock.cc:164 - btif_sock_connection_logger: address=xx:xx:xx:xx:f6:3e, state=2, role=2, server_name=5e8945b0-9525-11e3-a5e2-0800200c9a66, channel=-1
2024-03-15 10:20:06.289 20066-20109 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/gd/hci/acl_manager/acl_scheduler.cc:169 - try_dequeue_next_operation: Pending connections is not empty; so sending next connection
2024-03-15 10:20:07.260  4205-29468 WakeLock                com.google.android.gms.persistent    E  WearableBluetooth ** IS FORCE-RELEASED ON TIMEOUT **
2024-03-15 10:20:07.613 20066-20109 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/gd/hci/acl_manager/classic_impl.h:737 - on_role_change: Role change for xx:xx:xx:xx:f6:3e with no matching connection (new role: PERIPHERAL)
2024-03-15 10:20:07.622 20066-20109 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/gd/hci/hci_layer.cc:120 - drop: Dropping event PAGE_SCAN_REPETITION_MODE_CHANGE
2024-03-15 10:20:07.623 20066-20109 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/gd/hci/acl_manager/classic_impl.h:386 - operator(): Sending delayed role change for xx:xx:xx:xx:f6:3e
2024-03-15 10:20:07.625 20066-20104 btm_acl                 com.android.bluetooth                I  packages/modules/Bluetooth/system/stack/acl/btm_acl.cc:1500 - change_connection_packet_types: Unable to include remote supported packet types as read feature incomplete
2024-03-15 10:20:07.625 20066-20104 btm_acl                 com.android.bluetooth                I  packages/modules/Bluetooth/system/stack/acl/btm_acl.cc:1501 - change_connection_packet_types: TIP: Maybe wait until read feature complete beforehand
2024-03-15 10:20:07.626 20066-20104 btm_acl                 com.android.bluetooth                W  packages/modules/Bluetooth/system/stack/acl/btm_acl.cc:1149 - BTM_SetLinkSuperTout: Role is peripheral so unable to set supervision timeout:80.00ms bd_addr:xx:xx:xx:xx:f6:3e
2024-03-15 10:20:07.627 20066-20104 bt_bta_dm               com.android.bluetooth                I  packages/modules/Bluetooth/system/bta/dm/bta_dm_act.cc:702 - bta_dm_acl_up: Acl connected peer:xx:xx:xx:xx:f6:3e transport:BT_TRANSPORT_BR_EDR handle:3
2024-03-15 10:20:07.627 20066-20109 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/gd/hci/hci_layer.cc:120 - drop: Dropping event MAX_SLOTS_CHANGE
2024-03-15 10:20:07.627 20066-20104 btm_acl                 com.android.bluetooth                W  packages/modules/Bluetooth/system/stack/acl/btm_acl.cc:2246 - acl_peer_supports_sniff_subrating: Checking remote features but remote feature read is incomplete
2024-03-15 10:20:07.627 20066-20104 btm_acl                 com.android.bluetooth                W  packages/modules/Bluetooth/system/stack/acl/btm_acl.cc:1618 - BTM_ReadRemoteVersion: Remote version information is invalid
2024-03-15 10:20:07.627 20066-20104 bt_btif_dm              com.android.bluetooth                I  packages/modules/Bluetooth/system/btif/src/btif_dm.cc:645 - btif_update_remote_version_property: Remote version info valid:false [xx:xx:xx:xx:f6:3e]:0x0,0x0,0x0
2024-03-15 10:20:07.628 20066-20104 bt_bta_dm               com.android.bluetooth                I  packages/modules/Bluetooth/system/bta/dm/bta_dm_act.cc:610 - handle_role_change: Role change callback peer:xx:xx:xx:xx:f6:3e info:0x00:none new_role:peripheral dev count:1 hci_status:HCI_SUCCESS
2024-03-15 10:20:07.630 20066-20066 BluetoothPhonePolicy    com.android.bluetooth                I  processDeviceConnected, device=XX:XX:XX:XX:F6:3E
2024-03-15 10:20:07.630 20066-20066 BluetoothDatabase       com.android.bluetooth                D  Updating last connected time for device: XX:XX:XX:XX:F6:3E to 13
2024-03-15 10:20:07.630 20066-20066 BluetoothDatabase       com.android.bluetooth                D  updateDatabase XX:XX:XX:XX:F6:3E
2024-03-15 10:20:07.630 20066-20122 BluetoothServiceJni     com.android.bluetooth                V  getMetricIdNative
2024-03-15 10:20:07.635 20066-20122 BluetoothServiceJni     com.android.bluetooth                V  obfuscateAddressNative
2024-03-15 10:20:07.644 20066-20122 BluetoothServiceJni     com.android.bluetooth                V  obfuscateAddressNative
2024-03-15 10:20:07.646 20066-20104 bt_btu_hcif             com.android.bluetooth                E  packages/modules/Bluetooth/system/stack/btu/btu_hcif.cc:1176 - btu_hcif_hdl_command_complete: Command complete for opcode:0x80d should not be handled here
2024-03-15 10:20:07.651 20066-20109 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/main/shim/acl.cc:546 - OnReadClockOffsetComplete: UNIMPLEMENTED
2024-03-15 10:20:07.662 20066-20109 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/gd/hci/acl_manager/classic_impl.h:745 - on_link_supervision_timeout_changed: UNIMPLEMENTED called
2024-03-15 10:20:07.664 20066-20104 smp                     com.android.bluetooth                I  packages/modules/Bluetooth/system/stack/smp/smp_l2c.cc:233 - smp_br_connect_callback: BDA:xx:xx:xx:xx:f6:3e pairing_bda:00:00:00:00:00:00, connected:1
2024-03-15 10:20:07.668 20066-20104 bt_btm_sec              com.android.bluetooth                W  packages/modules/Bluetooth/system/stack/btm/btm_sec.cc:4969 - btm_sec_set_peer_sec_caps: Security procedure not started! status:BTM_SUCCESS
2024-03-15 10:20:07.671 20066-20104 bt_btu_hcif             com.android.bluetooth                E  packages/modules/Bluetooth/system/stack/btu/btu_hcif.cc:1176 - btu_hcif_hdl_command_complete: Command complete for opcode:0x80d should not be handled here
2024-03-15 10:20:07.683  1414-1414  CDM_Compan...nceMonitor system_server                        I  onBluetoothCompanionDeviceConnected: associationId( 6 )
2024-03-15 10:20:07.684  1414-1414  BluetoothAdapter        system_server                        D  isLeEnabled(): ON
2024-03-15 10:20:07.685  1414-1414  BluetoothAdapter        system_server                        D  isLeEnabled(): ON
2024-03-15 10:20:07.696 20066-20104 bt_stack                com.android.bluetooth                W  [WARNING:sdp_utils.cc(180)] sdpu_find_most_specific_service_uuid: Bad Service Class ID list attribute
2024-03-15 10:20:07.696 20066-20104 bt_stack                com.android.bluetooth                I  [INFO:sdp_utils.cc(201)] sdpu_log_attribute_metrics: skipping record without service uuid xx:xx:xx:xx:f6:3e
2024-03-15 10:20:07.700 20066-20131 bt_stack                com.android.bluetooth                I  [INFO:le_scanning_manager.cc(166)] Scan in shim layer stopped
2024-03-15 10:20:07.700 20066-20109 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/gd/hci/le_address_manager.cc:194 - unregister_client: Client unregistered
2024-03-15 10:20:07.700 20066-20131 bt_stack                com.android.bluetooth                I  [INFO:le_scanning_manager.cc(202)] ScanFilterParamSetup in shim layer
2024-03-15 10:20:07.703  8968-8968  GH.WifiBluetoothRcvr    com...e.android.projection.gearhead  I  Connection action: android.bluetooth.device.action.ACL_CONNECTED, device XX:XX:XX:XX:F6:3E
2024-03-15 10:20:07.703 20066-20091 bt_stack                com.android.bluetooth                I  [INFO:le_scanning_manager.cc(160)] Unregister in shim layer, scanner_id:1
2024-03-15 10:20:07.704  8968-8968  GH.WifiBluetoothRcvr    com...e.android.projection.gearhead  I  Wireless projection is available on this phone.
2024-03-15 10:20:07.707 20066-20104 bt_stack                com.android.bluetooth                I  [INFO:port_api.cc(221)] RFCOMM_CreateConnectionWithSecurity: bd_addr=xx:xx:xx:xx:f6:3e, scn=6, is_server=0, mtu=990, uuid=0x1101, dlci=12, signal_state=0x0b, p_port=0xd9207e94ddb8
2024-03-15 10:20:07.707 20066-20104 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/stack/rfcomm/rfc_mx_fsm.cc:79 - rfc_mx_sm_execute: RFCOMM peer:xx:xx:xx:xx:f6:3e event:6 state:RFC_MX_STATE_IDLE
2024-03-15 10:20:07.710 20066-20109 bluetooth               com.android.bluetooth                E  packages/modules/Bluetooth/system/gd/hci/hci_layer.cc:163 - on_command_status: Received UNEXPECTED command status:PIN_OR_KEY_MISSING opcode:0x413 (SET_CONNECTION_ENCRYPTION)
2024-03-15 10:20:07.744  4205-4205  WearableBluetooth       com.google.android.gms.persistent    D  Using fixed values for retry strategy: CONNECTION_RETRY_STRATEGY_LOW_LATENCY [6, 30000, 32000]
2024-03-15 10:20:07.782  4205-13797 BluetoothAdapter        com.google.android.gms.persistent    D  isLeEnabled(): ON
2024-03-15 10:20:08.171 20804-29624 Connection4Water        com.samsung.android.waterplugin      I  BluetoothEventHandler.onBluetoothEvent-action: android.bluetooth.device.action.ACL_CONNECTED
2024-03-15 10:20:08.758  4205-29468 WakeLock                com.google.android.gms.persistent    E  WearableBluetooth ** IS FORCE-RELEASED ON TIMEOUT **
2024-03-15 10:20:09.395 20066-20104 btm_sco                 com.android.bluetooth                E  packages/modules/Bluetooth/system/stack/btm/btm_sco.cc:1213 - btm_sco_on_disconnected: Unable to find sco connection
2024-03-15 10:20:09.395 20066-20104 btm_acl                 com.android.bluetooth                I  packages/modules/Bluetooth/system/stack/acl/btm_acl.cc:2517 - btm_acl_iso_disconnected: ISO disconnection from GD, handle: 0x03, reason: 0x13
2024-03-15 10:20:09.396 20066-20104 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/stack/rfcomm/rfc_mx_fsm.cc:79 - rfc_mx_sm_execute: RFCOMM peer:xx:xx:xx:xx:f6:3e event:14 state:RFC_MX_STATE_WAIT_CONN_CNF
2024-03-15 10:20:09.397 20066-20104 bt_btif_sock            com.android.bluetooth                I  packages/modules/Bluetooth/system/btif/src/btif_sock.cc:164 - btif_sock_connection_logger: address=xx:xx:xx:xx:f6:3e, state=5, role=2, server_name=5e8945b0-9525-11e3-a5e2-0800200c9a66, channel=6
2024-03-15 10:20:09.398 20066-20104 bt_stack                com.android.bluetooth                I  [INFO:port_rfc.cc(1036)] port_rfc_closed: RFCOMM connection closed, index=20, state=1, reason=Peer connection failed[16], UUID=0x1101, bd_addr=xx:xx:xx:xx:f6:3e, is_server=0
2024-03-15 10:20:09.398 20066-20133 bt_btif_sock_rfcomm     com.android.bluetooth                E  packages/modules/Bluetooth/system/btif/src/btif_sock_rfc.cc:915 - btsock_rfc_signaled: RFCOMM slot with id 51 not found.
2024-03-15 10:20:09.399 20066-20104 smp                     com.android.bluetooth                I  packages/modules/Bluetooth/system/stack/smp/smp_l2c.cc:233 - smp_br_connect_callback: BDA:xx:xx:xx:xx:f6:3e pairing_bda:00:00:00:00:00:00, connected:0
2024-03-15 10:20:09.399 20066-20104 l2c_link                com.android.bluetooth                W  packages/modules/Bluetooth/system/stack/l2cap/l2c_link.cc:208 - l2c_link_sec_comp: L2CAP got sec_comp for unknown BD_ADDR
2024-03-15 10:20:09.399 20066-20104 btif_av                 com.android.bluetooth                I  packages/modules/Bluetooth/system/btif/src/btif_av.cc:4101 - btif_av_acl_disconnected: btif_av_acl_disconnected: Peer xx:xx:xx:xx:f6:3e : ACL Disconnected
2024-03-15 10:20:09.400 20066-20104 btif_av                 com.android.bluetooth                I  packages/modules/Bluetooth/system/btif/src/btif_av.cc:1246 - FindOrCreatePeer: BtifAvPeer *BtifAvSource::FindOrCreatePeer(const RawAddress &, tBTA_AV_HNDL): Create peer: peer_address=xx:xx:xx:xx:f6:3e bta_handle=0x41 peer_id=0
2024-03-15 10:20:09.400 20066-20104 btif_av                 com.android.bluetooth                I  packages/modules/Bluetooth/system/btif/src/btif_av.cc:4027 - btif_av_get_peer_sep: No active sink or source peer found
2024-03-15 10:20:09.400 20066-20104 btif_av                 com.android.bluetooth                I  packages/modules/Bluetooth/system/btif/src/btif_av.cc:4027 - btif_av_get_peer_sep: No active sink or source peer found
2024-03-15 10:20:09.400 20066-20104 btif_av                 com.android.bluetooth                I  packages/modules/Bluetooth/system/btif/src/btif_av.cc:4027 - btif_av_get_peer_sep: No active sink or source peer found
2024-03-15 10:20:09.400 20066-20104 btif_av                 com.android.bluetooth                I  packages/modules/Bluetooth/system/btif/src/btif_av.cc:4027 - btif_av_get_peer_sep: No active sink or source peer found
2024-03-15 10:20:09.400 20066-20104 btif_av                 com.android.bluetooth                I  packages/modules/Bluetooth/system/btif/src/btif_av.cc:1313 - DeleteIdlePeers: DeleteIdlePeers: Deleting idle peer: xx:xx:xx:xx:f6:3e bta_handle=0x41
2024-03-15 10:20:09.402 20066-20122 BluetoothServiceJni     com.android.bluetooth                V  getConnectionStateNative
2024-03-15 10:20:09.402 20066-20122 bt_btif_dm              com.android.bluetooth                I  packages/modules/Bluetooth/system/btif/src/btif_dm.cc:890 - btif_dm_get_connection_state: Acl is not connected to peer:xx:xx:xx:xx:f6:3e
2024-03-15 10:20:09.403 20066-20122 BluetoothDatabase       com.android.bluetooth                V  getProfileConnectionPolicy: device XX:XX:XX:XX:F6:3E profile=A2DP, connectionPolicy=-1
2024-03-15 10:20:09.404 20066-20122 BluetoothDatabase       com.android.bluetooth                V  getProfileConnectionPolicy: device XX:XX:XX:XX:F6:3E profile=HEADSET, connectionPolicy=100
2024-03-15 10:20:09.404 20066-20122 BluetoothServiceJni     com.android.bluetooth                V  getMetricIdNative
2024-03-15 10:20:09.404 20066-20122 BluetoothServiceJni     com.android.bluetooth                V  obfuscateAddressNative
2024-03-15 10:20:09.409  4205-24093 BluetoothSocket         com.google.android.gms.persistent    D  close() this: XX:XX:XX:XX:F6:3E, channel: 6, mSocketIS: android.net.LocalSocketImpl$SocketInputStream@873948, mSocketOS: android.net.LocalSocketImpl$SocketOutputStream@2b783e1, mSocket: android.net.LocalSocket@357e506 impl:android.net.LocalSocketImpl@cd887c7 fd:java.io.FileDescriptor@c7aa1f4, mSocketState: INIT
2024-03-15 10:20:09.415 20066-20122 BluetoothServiceJni     com.android.bluetooth                V  obfuscateAddressNative
2024-03-15 10:20:09.434  1414-1414  CDM_Compan...nceMonitor system_server                        I  onBluetoothCompanionDeviceDisconnected associationId( 6 )
2024-03-15 10:20:09.436  1414-1414  BluetoothAdapter        system_server                        D  isLeEnabled(): ON
2024-03-15 10:20:09.436  1414-1414  BluetoothAdapter        system_server                        D  isLeEnabled(): ON
2024-03-15 10:20:09.452 20066-20168 bt_btif_sock            com.android.bluetooth                I  packages/modules/Bluetooth/system/btif/src/btif_sock.cc:331 - btsock_connect: btsock_connect
2024-03-15 10:20:09.452 20066-20168 bt_btif_sock            com.android.bluetooth                I  packages/modules/Bluetooth/system/btif/src/btif_sock.cc:164 - btif_sock_connection_logger: address=xx:xx:xx:xx:f6:3e, state=2, role=2, server_name=5e8945b0-9525-11e3-a5e2-0800200c9a66, channel=-1
2024-03-15 10:20:09.453 20066-20109 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/gd/hci/acl_manager/acl_scheduler.cc:169 - try_dequeue_next_operation: Pending connections is not empty; so sending next connection
2024-03-15 10:20:09.455 20066-20091 bt_stack                com.android.bluetooth                I  [INFO:le_scanning_manager.cc(153)] RegisterScanner in shim layer
2024-03-15 10:20:09.459  1414-12512 BluetoothLeScanner      system_server                        D  onScannerRegistered() - status=0 scannerId=1 mScannerId=0
2024-03-15 10:20:09.477 20066-20131 bt_stack                com.android.bluetooth                I  [INFO:le_scanning_manager.cc(266)] ScanFilterEnable in shim layer
2024-03-15 10:20:09.479 20066-20131 bt_stack                com.android.bluetooth                I  [INFO:le_scanning_manager.cc(241)] ScanFilterAdd in shim layer
2024-03-15 10:20:09.493 20066-20131 bt_stack                com.android.bluetooth                I  [INFO:le_scanning_manager.cc(202)] ScanFilterParamSetup in shim layer
2024-03-15 10:20:09.493 20066-20109 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/gd/hci/le_scanning_manager.cc:1344 - track_advertiser: track_advertiser scanner_id 1, filter_index 58
2024-03-15 10:20:09.494 20066-20131 bt_stack                com.android.bluetooth                I  [INFO:le_scanning_manager.cc(166)] Scan in shim layer started
2024-03-15 10:20:09.494 20066-20131 bt_stack                com.android.bluetooth                I  [INFO:le_scanning_manager.cc(166)] Scan in shim layer stopped
2024-03-15 10:20:09.495 20066-20131 bt_stack                com.android.bluetooth                I  [INFO:le_scanning_manager.cc(344)] SetScanParameters in shim layer
2024-03-15 10:20:09.495 20066-20131 bt_stack                com.android.bluetooth                I  [INFO:le_scanning_manager.cc(166)] Scan in shim layer started
2024-03-15 10:20:09.495 20066-20109 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/gd/hci/le_scanning_manager.cc:608 - stop_scan: Scanning already stopped, return!
2024-03-15 10:20:09.495 20066-20109 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/gd/hci/le_address_manager.cc:179 - register_client: Client registered
2024-03-15 10:20:09.495 20066-20109 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/gd/hci/le_address_manager.cc:194 - unregister_client: Client unregistered
2024-03-15 10:20:09.495 20066-20109 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/gd/hci/le_scanning_manager.cc:608 - stop_scan: Scanning already stopped, return!
2024-03-15 10:20:09.495 20066-20109 bluetooth               com.android.bluetooth                I  packages/modules/Bluetooth/system/gd/hci/le_address_manager.cc:179 - register_client: Client registered
2024-03-15 10:20:09.507  4205-4205  WearableBluetooth       com.google.android.gms.persistent    D  Using fixed values for retry strategy: CONNECTION_RETRY_STRATEGY_LOW_POWER [10, 600000, 1024000]
2024-03-15 10:20:09.933 20804-29624 Connection4Water        com.samsung.android.waterplugin      I  BluetoothEventHandler.onBluetoothEvent-action: android.bluetooth.device.action.ACL_DISCONNECTED
2024-03-15 10:20:10.517  4205-29468 WakeLock                com.google.android.gms.persistent    E  WearableBluetooth ** IS FORCE-RELEASED ON TIMEOUT **
mappers653 commented 7 months ago

I have same experience with a galaxy watch 5 and also on beta 2024031400

MordorMinion commented 7 months ago

I have the same issue. Also with Galaxy Watch 5 on 2024031400.

ionspin commented 7 months ago

I can confirm that 2024032100 solves the issue for Pixel 7A and Galaxy 4 watch, I'll test with Galaxy 5 a bit later and confirm if that works as well. Thanks for getting the Galaxy Watch for your developers and fixing this, I'll make sure to donate to GrapheneOS.

matchboxbananasynergy commented 7 months ago

Latest release (https://grapheneos.org/releases#2024032100) should fix this. If people are still experiencing issues, it might make sense to make a new issue.

sysop84 commented 7 months ago

Confirmed my headset now reconnects properly in all scenarios I could think of.