Skip to content Skip to sidebar Skip to footer

Connectgatt On Samsung Galaxy S7 Creates Connection Over Bluetooth Classic Instead Of Ble

I have a dual-mode (BR/EDR + BLE) device running a GATT server. The address is public and same for BLE and BD/EDR. When I call connectGatt on Galaxy S7 with Android 6.0.1 (API leve

Solution 1:

Bluetooth 4.0 specification states that if both devices support Classic and LEW then connection must be done over Classic. And Android stacks tend to follow this. Make you other device non-connectable and not in visible in inquiry and it should work fine

Solution 2:

GATT is not transport specific and it is a framework implemented on top of attribute protocol(ATT). Its possible to access GATT over BR/EDR if the peripheral device is a dual mode device and supports GATT over BR/EDR. Bluetooth 4.X core specifications doesn't mandate access of connection bearer over GATT. Some android phones try using GATT over BR/EDR and applications can not control it. I also observed GATT over BR/EDR in Lenovo TAB 2 A8-50F.

Solution 3:

An old question, but not answered...

You might have wrong FLAGS on the Advertising packet on the GATT device. Additionally the EIR (Extended Inquiry Response) packet transmitted by the Classic part of your implementation.

There is a flag "BR/EDR NOT SUPPORTED" that might help you in both of these cases.

This problem is common on the CSR chipsets, due to the default setup in the ADK code provided by CSR. Is there any chance you are using a CSR chip? your problem might not be on the android device?

Post a Comment for "Connectgatt On Samsung Galaxy S7 Creates Connection Over Bluetooth Classic Instead Of Ble"