New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GATT ERROR #74
Comments
Try restarting the Bluetooth adapter on your phone, or the whole phone. It may be some non-released resources in the Bluetooth stack. But I would say it is something wrong with your peripheral. Looks like it doesn't handle the descriptor write request properly. Error 133 is thrown when the phone didn't get an expected reply or got something unexpected (a device behaved incorrectly). |
have the same error due to service list cache, we need to force refresh service cache (it's hidden API) |
Let me close the issue, as it's a year old now. If you still are facing the problem, feel free to create a new one. |
Android 7+ caches BT service list, but Nordic changes service set when DFU starts. |
That's why we use address +1 in bootloader mode (for bonded devices, when you use Buttonless service with bonds, it relies on Service Changed indication instead), to avoid cache problems. |
it would be nice to attach commit # when it was changed before closing this issue |
Sorry, I wasn't clear enough. There was no any change in the DFU library. It is the bootloader that is using incremented address. It has been like that since the beginning, or at least some very old SDK. Bootloader uses address +1 to avoid caching issues (although it is not required in my opinion, as there is this hidden refresh() method, which could be used if we know that services are to be changed). In Secure DFU with bonds, and Legacy DFU when bonding is used, starting from SDK 8 (afair) the same address is used and cache is refreshed based on Service Changed indication. But as you are facing this problem (and refreshing the cache does help), that means that you either are using the same address in app and bootloader mode, or are connecting to the secondary address with some other services. But, to be honest, the 133 on enabling notifications doesn't look like caching issue for me. It would rather send INVALID HANDLE error instead, I think. |
to fix this issue I had to add refreshDeviceCache() to Android-DFU-Library/dfu/src/main/java/no/nordicsemi/android/dfu/DfuBaseService.java Line 780 in 4840d89
|
I'm facing this problem in an LG phone and I'm also facing problems with some samsung galaxy s8 any ideas on what is going on?
(I don't have access to a samsung galaxy s8 at the moment but soon I will and I'll be posting stack trace for those too)
The text was updated successfully, but these errors were encountered: