SetupNotification after updateBlePriority seems to fail.
See original GitHub issueDescribe 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:
- Created 4 years ago
- Comments:8 (3 by maintainers)
Top 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 >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
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.
A moto G5 & android 8.1