This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Windows bonding/pairing issue

I am having an odd problem.

nRF52

softdevice S132 V2.0.0

I have a bootloader and application. when I program them directly to the device they both work fine and can bond to Windows 10 machine just fine. But when I OTA the application to the device bonding/pairing does not work.

Note that the application works just fine and I can OTA it multiple times without a hitch, but my device can not bond to a windows machine.

Again: my device loaded with the softdevice plus the bootloader = bonding/pairing my device loaded with softdevice plus application = bonding/pairing my device loaded with softdevice plus bootloader and application OTA'd = failure to bond or pair

Anyone else run into this?

Parents
  • EDIT:

    Issue caused by chip revision mismatch. The S132 v2.0.0 is not compatible with the Engineering revision B chip, please refer the nRF52 Compatibility Matrix.


    @sensorion : It sounds like that the bonding data is deleted during the DFU. You can configure the bootloader to preserve the bonding information during the DFU process, i.e. not erase the flash pages that contain the bonding data. This is done by setting the DFU_APP_DATA_RESERVED define to a value corresponding to the number of flash pages you want to preserve, e.g. one flash page(0x1000). See this Infocenter page for more information. Note: One flash page on the nRF52 is 4kB(0x1000) and not 1kB (0x400) like for the nRF51.

  • Thanks for the tip. That is now turned on but no change.

    My testing has shown that the culprit lies in the DFU app support being added to my application. If I compile with this code removed, undefine BLE_DFU_APP_SUPPORT as in the HRS example, the bonding works fine.

    I based the code off of the HRS example and have confirmed that that code does work with my bootloader even when it has the DFU support enabled, so I must be missing something but what that is I just don't know.

Reply
  • Thanks for the tip. That is now turned on but no change.

    My testing has shown that the culprit lies in the DFU app support being added to my application. If I compile with this code removed, undefine BLE_DFU_APP_SUPPORT as in the HRS example, the bonding works fine.

    I based the code off of the HRS example and have confirmed that that code does work with my bootloader even when it has the DFU support enabled, so I must be missing something but what that is I just don't know.

Children
No Data
Related