question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

SetupNotification after updateBlePriority seems to fail.

See original GitHub issue

Describe the bug I establish connection to a BLE device if I found appropriate GATT characteristic & I try to update connection priority with updateBlePriority.

And if I try to setup Notif on some characteristic, i got an error (see log). connection .setupNotification(readCharacteristicUUID)

D/Main: [main]BLE scan network : starting
D/BLECoapService: [main]QR code to validate : https://go2se.com/ref=EPG400L/sn=PPL20083000110
D/BLECoapService: [main]Identify : ref=EPG400L/sn=PPL20083000110
D/BLECoapService: [main]CRC16 : 0xe783
    [main]Checksum : 0x2c96
D/BLECoapService: [DefaultDispatcher-worker-1]Sending new BLE step : INIT
D/BLECoapService: [DefaultDispatcher-worker-1]QR code to validate : https://go2se.com/ref=EPG400L/sn=PPL20083000110
    [DefaultDispatcher-worker-1]Identify : ref=EPG400L/sn=PPL20083000110
    [DefaultDispatcher-worker-1]CRC16 : 0xe783
    [DefaultDispatcher-worker-1]Checksum : 0x2c96
D/Main: [main]BLE step received : INIT
D/BLECoapService: [DefaultDispatcher-worker-1]Setting BTP Fragment payload size to 179
D/RxBle#Log: Received new options (LogOptions{logLevel=null, macAddressLogSetting=null, uuidLogSetting=null, shouldLogAttributeValues=null, shouldLogScannedPeripherals=null, logger=com.polidea.rxandroidble2.internal.RxBleLog$2@ff8fd09}) and merged with old setup: LoggerSetup{logLevel=3, macAddressLogSetting=2147483647, uuidLogSetting=2147483647, shouldLogAttributeValues=false, shouldLogScannedPeripherals=true, logger=com.polidea.rxandroidble2.internal.RxBleLog$1@812ab0e}. New setup: LoggerSetup{logLevel=3, macAddressLogSetting=2147483647, uuidLogSetting=2147483647, shouldLogAttributeValues=false, shouldLogScannedPeripherals=true, logger=com.polidea.rxandroidble2.internal.RxBleLog$2@ff8fd09}
D/RxBle#Client: Received new options (LogOptions{logLevel=3, macAddressLogSetting=null, uuidLogSetting=null, shouldLogAttributeValues=null, shouldLogScannedPeripherals=null, logger=null}) and merged with old setup: LoggerSetup{logLevel=3, macAddressLogSetting=2147483647, uuidLogSetting=2147483647, shouldLogAttributeValues=false, shouldLogScannedPeripherals=true, logger=com.polidea.rxandroidble2.internal.RxBleLog$2@ff8fd09}. New setup: LoggerSetup{logLevel=3, macAddressLogSetting=2147483647, uuidLogSetting=2147483647, shouldLogAttributeValues=false, shouldLogScannedPeripherals=true, logger=com.polidea.rxandroidble2.internal.RxBleLog$2@ff8fd09}
D/BLECoapService: [DefaultDispatcher-worker-1]Sending new BLE step : SCANNING
D/Main: [main]BLE step received : SCANNING
D/RxBle#ClientOperationQueue: QUEUED   ScanOperationApi21(164279837)
D/RxBle#ClientOperationQueue: STARTED  ScanOperationApi21(164279837)
I/RxBle#ClientOperationQueue: RUNNING  ScanOperationApi21{}
I/RxBle#QueueOperation: Scan operation is requested to start.
D/RxBle#ScanOperationApi21: No library side filtering —> debug logs of scanned devices disabled
D/BluetoothAdapter: isLeEnabled(): ON
D/BluetoothLeScanner: onScannerRegistered() - status=0 scannerId=7 mScannerId=0
D/RxBle#ClientOperationQueue: FINISHED ScanOperationApi21(164279837) in 30 ms
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-44, timestampNanos=3824946457981, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-40, timestampNanos=3825882320834, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-39, timestampNanos=3826183576177, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-42, timestampNanos=3826403010678, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-41, timestampNanos=3826540074129, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-94, timestampNanos=3826548933921, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-36, timestampNanos=3826620406845, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-46, timestampNanos=3827142998876, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-40, timestampNanos=3827197521642, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-37, timestampNanos=3827456226095, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-44, timestampNanos=3827692606067, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-43, timestampNanos=3827930343069, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-42, timestampNanos=3828411712076, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-40, timestampNanos=3828546156673, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-39, timestampNanos=3829030671773, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-41, timestampNanos=3829090233758, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/zygote: Do full code cache collection, code=125KB, data=113KB
I/zygote: After code cache collection, code=119KB, data=73KB
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-41, timestampNanos=3829763728513, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-40, timestampNanos=3830112193235, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-40, timestampNanos=3830181794856, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-37, timestampNanos=3830988614989, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-47, timestampNanos=3831402831905, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-42, timestampNanos=3831900687163, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-39, timestampNanos=3831910114612, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-91, timestampNanos=3831911077581, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-92, timestampNanos=3831920368936, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-92, timestampNanos=3831942714823, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-92, timestampNanos=3831951248418, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-46, timestampNanos=3832516035297, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-54, timestampNanos=3832898562887, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-43, timestampNanos=3833256826308, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/zygote: Do partial code cache collection, code=120KB, data=77KB
I/zygote: After code cache collection, code=120KB, data=77KB
    Increasing code cache capacity to 512KB
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-39, timestampNanos=3833425506221, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-41, timestampNanos=3833958560545, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-39, timestampNanos=3834307444903, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-45, timestampNanos=3834327476363, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-40, timestampNanos=3834507386641, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-41, timestampNanos=3835088946699, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-93, timestampNanos=3835105539045, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-94, timestampNanos=3835137445610, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-39, timestampNanos=3835146772018, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-93, timestampNanos=3835148816393, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-41, timestampNanos=3835568474820, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-46, timestampNanos=3835764142860, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-46, timestampNanos=3836140265502, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-41, timestampNanos=3836401703393, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-92, timestampNanos=3836456522044, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-48, timestampNanos=3836977820637, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-43, timestampNanos=3837050056322, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-42, timestampNanos=3837641312526, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-37, timestampNanos=3838066600954, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-39, timestampNanos=3838411371770, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-40, timestampNanos=3838782170296, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-46, timestampNanos=3839310917537, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-39, timestampNanos=3839830253682, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-40, timestampNanos=3839876582645, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-45, timestampNanos=3840562504328, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-40, timestampNanos=3840606834124, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-38, timestampNanos=3841057727502, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-45, timestampNanos=3841504135151, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-40, timestampNanos=3841815962057, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-37, timestampNanos=3841873387688, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-38, timestampNanos=3842454771027, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-45, timestampNanos=3842913000031, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-38, timestampNanos=3843290910173, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=null}, rssi=-38, timestampNanos=3843603566089, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
I/RxBle#Client: ScanResult{bleDevice=RxBleDeviceImpl{MAC='XX:XX:XX:XX:XX:XX', name=EPG400L}, rssi=-53, timestampNanos=3843612783746, callbackType=CALLBACK_TYPE_ALL_MATCHES, scanRecord=[...]}
D/BLECoapService: [main]The BLE expected device has been found, scan stopped. Mac Address = B0:7E:11:ED:A5:C2
I/RxBle#CancellableDisposable: Scan operation is requested to stop.
D/BLECoapService: [main]BLE Scan device completed successfully !
    [main]Sending new BLE step : CONNECTING
D/BLECoapService: [main]Setting COAP Frame size to 2048
D/BluetoothAdapter: isLeEnabled(): ON
I/zygote: Thread[1,tid=14262,Native,Thread*=0xace5a000,peer=0x73aae9f0,"main"] recursive attempt to load library "/data/app/com.se.edm.edm_test_app-9O9sASDqal6hQGnuRJgGlA==/lib/arm/libsrfcoapclient.so"
D/btp: BTP device connection is RxBleConnectionState{DISCONNECTED}
D/-$$Lambda$CoAPBtpDeviceImpl$kg75qexbGXuKaXvXq4NHYvkPhpc: Device is in state RxBleConnectionState{DISCONNECTED}
D/btp: Try to establish BTP connection
D/btp: See if bonding is needed
    Bonding is not needed
D/Main: [main]BLE step received : CONNECTING
D/RxBle#ClientOperationQueue: QUEUED   ConnectOperation(98779055)
D/RxBle#ClientOperationQueue: STARTED  ConnectOperation(98779055)
I/RxBle#ClientOperationQueue: RUNNING  ConnectOperation{MAC='XX:XX:XX:XX:XX:XX', autoConnect=false}
D/BluetoothGatt: connect() - device: B0:7E:11:ED:A5:C2, auto: false
    registerApp()
D/BluetoothGatt: registerApp() - UUID=3ea513de-47d1-4de3-b7cf-39ca9b83c457
D/BluetoothGatt: onClientRegistered() - status=0 clientIf=7
D/BluetoothGatt: onClientConnectionState() - status=0 clientIf=7 device=B0:7E:11:ED:A5:C2
I/RxBle#GattCallback: MAC='XX:XX:XX:XX:XX:XX'  onConnectionStateChange(), status=0, value=2
D/RxBle#ClientOperationQueue: FINISHED ConnectOperation(98779055) in 2450 ms
D/RxBle#ConnectionOperationQueue: QUEUED   ServiceDiscoveryOperation(82452506)
D/RxBle#ConnectionOperationQueue: STARTED  ServiceDiscoveryOperation(82452506)
I/RxBle#ConnectionOperationQueue: RUNNING  ServiceDiscoveryOperation{MAC='XX:XX:XX:XX:XX:XX'}
D/BluetoothGatt: discoverServices() - device: B0:7E:11:ED:A5:C2
D/BluetoothGatt: onSearchComplete() = Device=B0:7E:11:ED:A5:C2 Status=0
I/RxBle#GattCallback: MAC='XX:XX:XX:XX:XX:XX'     onServicesDiscovered(), status=0
D/btp: Btp Ble primary GATT service find
D/btp: Btp Read characteristic find
    Btp Write characteristic find
D/RxBle#ConnectionOperationQueue: QUEUED   ConnectionPriorityChangeOperation(232361286)
D/RxBle#ConnectionOperationQueue: FINISHED ServiceDiscoveryOperation(82452506) in 25 ms
D/RxBle#ConnectionOperationQueue: STARTED  ConnectionPriorityChangeOperation(232361286)
I/RxBle#ConnectionOperationQueue: RUNNING  ConnectionPriorityChangeOperation{MAC='XX:XX:XX:XX:XX:XX', connectionPriority=CONNECTION_PRIORITY_HIGH, successTimeout={value=1, timeUnit=SECONDS}}
D/BluetoothGatt: requestConnectionPriority() - params: 1
D/BluetoothGatt: onConnectionUpdated() - Device=B0:7E:11:ED:A5:C2 interval=12 latency=0 timeout=500 status=0
I/RxBle#GattCallback: MAC='XX:XX:XX:XX:XX:XX'      onConnectionUpdated(), status=0, interval=12 (15,00 ms), latency=0, timeout=500 (5000 ms)
D/BluetoothGatt: onConnectionUpdated() - Device=B0:7E:11:ED:A5:C2 interval=12 latency=0 timeout=2000 status=0
I/RxBle#GattCallback: MAC='XX:XX:XX:XX:XX:XX'      onConnectionUpdated(), status=0, interval=12 (15,00 ms), latency=0, timeout=2000 (20000 ms)
D/coap.btp: CoAP endpoint succeed with BTP Connection
D/RxBle#ConnectionOperationQueue: FINISHED ConnectionPriorityChangeOperation(232361286) in 1009 ms
D/RxBle#ConnectionOperationQueue: QUEUED   DescriptorWriteOperation(43105525)
D/RxBle#ConnectionOperationQueue: STARTED  DescriptorWriteOperation(43105525)
I/RxBle#ConnectionOperationQueue: RUNNING  DescriptorWriteOperation{MAC='XX:XX:XX:XX:XX:XX', descriptor=[uuid='...', hexValue=[...]]}
I/RxBle#GattCallback: MAC='XX:XX:XX:XX:XX:XX'        onDescriptorWrite(), status=1, value=[uuid='...']
D/RxBle#ConnectionOperationQueue: FINISHED DescriptorWriteOperation(43105525) in 42 ms
D/BluetoothGatt: setCharacteristicNotification() - uuid: a0000601-0451-4000-b000-000000000001 enable: false
D/RxBle#ConnectionOperationQueue: QUEUED   DescriptorWriteOperation(29531232)
D/RxBle#ConnectionOperationQueue: STARTED  DescriptorWriteOperation(29531232)
I/RxBle#ConnectionOperationQueue: RUNNING  DescriptorWriteOperation{MAC='XX:XX:XX:XX:XX:XX', descriptor=[uuid='...', hexValue=[...]]}
E/coap.btp: Failure in read BTP stream due to unexpected exception
    com.polidea.rxandroidble2.exceptions.BleCannotSetCharacteristicNotificationException: Cannot write client characteristic config descriptor (code 3) with characteristic UUID a0000601-0451-4000-b000-000000000001
        at com.polidea.rxandroidble2.internal.connection.NotificationAndIndicationManager$7.apply(NotificationAndIndicationManager.java:241)
        at com.polidea.rxandroidble2.internal.connection.NotificationAndIndicationManager$7.apply(NotificationAndIndicationManager.java:238)
        at io.reactivex.internal.operators.completable.CompletableResumeNext$ResumeNextObserver.onError(CompletableResumeNext.java:82)
        at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable$IgnoreObservable.onError(ObservableIgnoreElementsCompletable.java:61)
        at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.tryOnError(ObservableCreate.java:84)
        at com.polidea.rxandroidble2.internal.serialization.FIFORunnableEntry$1$1.onError(FIFORunnableEntry.java:73)
        at io.reactivex.internal.operators.observable.ObservableUnsubscribeOn$UnsubscribeObserver.onError(ObservableUnsubscribeOn.java:70)
        at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.tryOnError(ObservableCreate.java:84)
        at com.polidea.rxandroidble2.internal.util.QueueReleasingEmitterWrapper.onError(QueueReleasingEmitterWrapper.java:45)
        at io.reactivex.internal.observers.DeferredScalarDisposable.error(DeferredScalarDisposable.java:100)
        at io.reactivex.internal.operators.single.SingleToObservable$SingleToObservableObserver.onError(SingleToObservable.java:77)
        at io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.onError(SingleTimeout.java:150)
        at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onError(SingleMap.java:69)
        at io.reactivex.internal.operators.observable.ObservableElementAtSingle$ElementAtObserver.onError(ObservableElementAtSingle.java:102)
        at io.reactivex.internal.observers.BasicFuseableObserver.onError(BasicFuseableObserver.java:100)
        at io.reactivex.observers.SerializedObserver.onError(SerializedObserver.java:153)
        at io.reactivex.internal.operators.observable.ObservableDelay$DelayObserver$OnError.run(ObservableDelay.java:128)
        at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
        at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)
     Caused by: com.polidea.rxandroidble2.exceptions.BleGattDescriptorException: GATT exception from MAC='XX:XX:XX:XX:XX:XX', status 1 (GATT_INVALID_HANDLE), type BleGattOperation{description='DESCRIPTOR_WRITE'}. (Look up status 0x01 here https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/android-5.1.0_r1/stack/include/gatt_api.h)
        at com.polidea.rxandroidble2.internal.connection.RxBleGattCallback.propagateErrorIfOccurred(RxBleGattCallback.java:259)
        at com.polidea.rxandroidble2.internal.connection.RxBleGattCallback$2.onDescriptorWrite(RxBleGattCallback.java:174)
        at android.bluetooth.BluetoothGatt$1$10.run(BluetoothGatt.java:538)
        at android.bluetooth.BluetoothGatt.runOrQueueCallback(BluetoothGatt.java:725)
        at android.bluetooth.BluetoothGatt.-wrap0(Unknown Source:0)
        at android.bluetooth.BluetoothGatt$1.onDescriptorWrite(BluetoothGatt.java:533)
        at android.bluetooth.IBluetoothGattCallback$Stub.onTransact(IBluetoothGattCallback.java:172)
        at android.os.Binder.execTransact(Binder.java:697)
I/RxBle#GattCallback: MAC='XX:XX:XX:XX:XX:XX'        onDescriptorWrite(), status=1, value=[uuid='...']

Additional context Add any other context about the problem here.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:8 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
aygalinccommented, Mar 22, 2020

After changing my fragmentation layer that sends an extra empty I cannot reproduce it. So maybe it was located on edge device side. Thx for the quick answer.

0reactions
aygalinccommented, Mar 19, 2020

A moto G5 & android 8.1

Read more comments on GitHub >

github_iconTop Results From Across the Web

SetupNotification after updateBlePriority seems to fail. #673
I establish connection to a BLE device if I found appropriate GATT characteristic & I try to update connection priority with updateBlePriority.
Read more >
setupNotification returns "Error already connected" whereas ...
I establish a BLE connection with a specified device, later while connected I read and write characteristic with no problem, but when i...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found