Why is AAR blocked if the Peer Manager Library (e.g. SDK12.3 see id_manager.c) uses the -softdevice SoC API- function call sd_ecb_block_encrypt() to resolve RPAs (Resolvable Private Address)?
Does not use sd_ecb_block_encrypt peripheral ECB?
Why is AAR blocked if the Peer Manager Library (e.g. SDK12.3 see id_manager.c) uses the -softdevice SoC API- function call sd_ecb_block_encrypt() to resolve RPAs (Resolvable Private Address)?
Does not use sd_ecb_block_encrypt peripheral ECB?
Hi,
The call to sd_ecb_block_encrypt uses the generic AES ECB functionality.
The AAR and CCM is very tightly coupled with the RADIO peripheral. It does not make sense to open these up to the application via an API when the softdevice uses the RADIO peripheral.
They are however available if you open up a timeslot session.
Best regards,
Håkon
1) When resolving RPAs, should one's application use the Peer Manager Library (i.e. AES ECB)?
2) Is there an alternative? It seems to me that using AAR thru Timeslots makes the whole thing comlicated.
3) Does not the Softdevice use the AAR for resolving RPAs somehow?
Hi,
1. Yes, this is the recommended way.
The Softdevice handles RPAs on-the-fly, but for loading bonds, this must be done in the application.
The SoftDevice does not handle bonds for you, so the ID-manager library will have to verify and iterate over the bonds located in flash to properly resolve them against the host you're connecting to.
2. AAR can only be accessed if the softdevice is disabled or by using the timeslot API.
3. The Softdevice handles this in real-time, but for bonding, this will require additional iteration.
Kind regards,
Håkon
Hi,
1. Yes, this is the recommended way.
The Softdevice handles RPAs on-the-fly, but for loading bonds, this must be done in the application.
The SoftDevice does not handle bonds for you, so the ID-manager library will have to verify and iterate over the bonds located in flash to properly resolve them against the host you're connecting to.
2. AAR can only be accessed if the softdevice is disabled or by using the timeslot API.
3. The Softdevice handles this in real-time, but for bonding, this will require additional iteration.
Kind regards,
Håkon