I have exactly the same problem as this but with different network processor - BlueNRG.
We have two custom boards with BlueNRG: one acting as peripheral and one as central.
I have managed to configure peripheral device to pair with passkey method and I can pair with it using Android phone.
But I can't pair with peripheral using central device with BlueNRG processor.
Using document "PM0237 Programming manual" I do following:
- For central and peripheral configure keys(aci_hal_write_config_data(...))
- Setup io capability for peripheral as display only and for central keyboard only
- Setup authentication requirements for both devices without fixed passkey
After connection setup peripheral device calls aci_gap_slave_security_request(...), receives event "pass key request"
and sends pass key response with some passkey.
Central device receives event "pass key request" and sends pass key response with the same key, but peripheral device doesn't receive pairing complete event.
When using Android phone peripheral device receives pairing complete event and all works fine.
What I'm doing wrong?
Is there any reference project with BlueNRG acting as central device using passkey pairing?
Sorry for my bad English. It's not my native language.