This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
We are in the process of updating our products from SDK version v2.20 to v3.30 (both ble5 stack variants).
After update to new stack handles values are different, due to changes in the attribute table. This seems to be related to removal of the "Peripheral Privacy Flag" in the Generic access service.
As I undertand privacy flag has been obsolete since BLE 4.1 so this seems to be a reasonable change.
The problem now is that when I update my devices, then already paired phones that has cached the attribute table, now refer to wrong handles when reconnecting.
This requires users to switched on/off Bluettooth on their phones to clear the attribute cache (at least this is the case for IOS devices)
The correct way to handle this seem to be with Generic Attribute Service/Service Changed indication characteristic. This is not default included, and as mentioned in other post this requires approx 5 KB additional code space when enabled( requires enabling L2CAP_COC_CFG)
This is not an option since we already are on the limit with codespace in our application.
The question now is whether it is possbible to add some kind of dummy attribute to the Generic access service, or any other way move the handles back to their original values?
Best regards
Anders
Hi Marie
Thank you for the quick reply.
Attribute handles are not hardcoded locally in our app, but due to caching in the central devices, this issue arises when porting new stack. Is it in anyway possible to readd the legacy privacy flag in the new stack?
In other posts it is indicated that a fix is expected that allows enabling service change characteristic with less increase in code space than what currently is the case,
When do you expect this to be included in the SDK.
Best regards
Anders
Hi Anders,
I'm sorry I can't help you. The generic access service is part of the BLE-Stack library that we provide precompiled in the SDK, so there is no way for you to change it back.
Can you link me an E2E which references this, I couldn't find it.
Hi Marie
The space issue is mentioned is this thread:
"Please notice!
As this is a temporary fix, it enables the use of L2CAP COC (Connection Oriented Channels) functions which will probably occupy some extra flash space. This should be corrected by the time the fix is out with the newer SDK."
Do you have any time frame for this to be optimized
Best regards
Anders
Hi Anders,
I see.
No as far as I can see this has not been implemented in a released SDK and I can not tell you when it will be included.