This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Android BLE services not discovered

Hi,
I have Lenovo tab E8 tablet with Android 7.0 and I connect to a BLE device (nrf52832 SDK 15.2.0 S132) from my Qt 5.11.2 app. After succesfull connection I discover services. However, everytime only Generic access service is discovered (my BLE device contains 5 services).

D BluetoothGatt: connect() - device: CC:C6:2F:F7:55:3D, auto: false
D BluetoothGatt: registerApp()
D BluetoothGatt: registerApp() - UUID=d483db22-5289-457f-8c9b-6e6d82f13428
D BluetoothGatt: onClientRegistered() - status=0 clientIf=6
W QtBluetoothGatt: Using Android v23 BluetoothDevice.connectGatt()
D BluetoothGatt: onClientConnectionState() - status=0 clientIf=6 device=CC:C6:2F:F7:55:3D
D BluetoothDevice: getBondState: state = 12
D BluetoothGatt: discoverServices() - device: CC:C6:2F:F7:55:3D
D BluetoothGatt: onSearchComplete() = Device=CC:C6:2F:F7:55:3D Status=0 // here only Generic Access service is discovered
D BluetoothGatt: configureMTU() - device: CC:C6:2F:F7:55:3D mtu: 512
W QtBluetoothGatt: MTU change initiated
D BluetoothGatt: onConfigureMTU() - Device=CC:C6:2F:F7:55:3D mtu=247 status=0
W QtBluetoothGatt: MTU changed to 247

I also tried - Nordic's nRF Connect for Android - it also discovers only Generic Access service. I'm not sure, but I think the problem is related to the MTU change...

I tried also on some other Android devices and also on different platforms and communication with my BLE device works there.

Related