bonding lost in Android after Error Code: Attribute Not Found (0x0a)

Hi,

I have an NRF52840 as the peripheral and an Android phone as the central. Most of the time the connection can be established without any problems but sometimes during the connection, the information about the bonding gets lost from the pairing list of the phone.

After many trials I succeeded to reproduce the issue with the sniffer it seems that the phone is sending many Attribute Not Found (0x0a) errors and they lead to initiating the pairing from the beginning.

Can you please tell me what this error means? and how it can cause bonding deletion.

Parents
  • Hello,

    This looks quite strange. Have you tested this with any other Android devices (a different phone)? This can be an Android issue but I am not 100% sure on this. I am checking this with our Android development team to see whether there is any known issue on Android side while trying to reconnect few times.

    Could you share share the Android and SDK version you are trying with?

    Kind Regards,

    Abhijith

  • Hello,

    Thank you for your reply.

    I don't think this can be a problem from the phone side because it happens with iOS too but with some difference. However, the Android version was 12, and the SDK version was 17.0.2.

    I also noticed something in the code that the pm_local_database_has_changed was called in the BLE_GAP_EVT_CONNECTED. I changed it now, but do you think this can be the source of this problem? Since this case happens rarely I cannot be sure by testing.

    Also, can you tell me what happens if during a connection a write to the flash fails? Can this issue be caused because somehow a peer manager write to the flash fails during initiating a connection?

Reply
  • Hello,

    Thank you for your reply.

    I don't think this can be a problem from the phone side because it happens with iOS too but with some difference. However, the Android version was 12, and the SDK version was 17.0.2.

    I also noticed something in the code that the pm_local_database_has_changed was called in the BLE_GAP_EVT_CONNECTED. I changed it now, but do you think this can be the source of this problem? Since this case happens rarely I cannot be sure by testing.

    Also, can you tell me what happens if during a connection a write to the flash fails? Can this issue be caused because somehow a peer manager write to the flash fails during initiating a connection?

Children
No Data
Related