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

Unable to establish BLE connection after porting SDK version from 11.0.0 to 12.1.0

I carried out following steps:

  1. Application was using SDK 11.0.0 for nRF51 SoC
  2. Ported SDK version 12.1.0
  3. Using secure DFU boot-loader from SDK 12.1.0 (followed all steps mentioned under blog https://devzone.nordicsemi.com/nordic/short-range-guides/b/software-development-kit/posts/getting-started-with-nordics-secure-dfu-bootloader)
  4. Erased flash and updated with secure boot-loader + soft device s130_nrf51_2.0.1
  5. Generated signed DFU .zip package with --sd-req set to 0x87 and with the private key
  6. Able to flash signed DFU package successfully through nrfConnect App
  7. Device BLE scan/broadcast data has correct name of device as defined.
  8. Power reset the device to confirm that the application is running as expected.
  9. On sending BLE command/attempting to DFU, unable to establish BLE connection.
  10. Below error is reported on nrfConnect while attempting to perform DFU operation.

                 

Need support in addressing this issue.

Thanks,

Rahul

  • Below image contains the characteristics of the device.

            

  • For the first attempt Boot-loader and Softdevice were only flashed into device through nrfConnect Programmer and DFU zip package was downloaded successfully through nrfConnect App

    Below images holds failure logs on attempting to DFU same image second time through nrfConnect App

  • Below are the values for DFU characteristics defined in the application code.

    #define BLE_DFU_SERVICE_UUID           0x1530   /**< The UUID of the DFU Service. */
    #define BLE_DFU_PKT_CHAR_UUID       0x1532   /**< The UUID of the DFU Packet Characteristic. */
    #define BLE_DFU_CTRL_PT_UUID          0x1531   /**< The UUID of the DFU Control Point. */
    #define BLE_DFU_STATUS_REP_UUID   0x1533   /**< The UUID of the DFU Status Report Characteristic. */
    #define BLE_DFU_REV_CHAR_UUID       0x1534   /**< The UUID of the DFU Revision Characteristic. */

  • Hi Rahul, 

    Could you clarify: 
    - At step 6 "Able to flash signed DFU package successfully through nrfConnect App " was it DFU update or you just flashed the application via the SWD inteface ? 

    - At step 9 "On sending BLE command/attempting to DFU, unable to establish BLE connection." At this moment did you connect to the application or it was the bootloader advertising ? 

    Please try to add screen shot for each step of 6 7 8 9. 

    Please try to test the softdevice + bootloader and to update an SDK's example first and try to switch to DFU mode and update another one. Just to make sure the bootloader work properly. After that you can start testing with the buttonless example we have. 

    I assume the process here doesn't involve the application in SDK v11. You don't plan to do DFU from SDK v11 to SDK v12, correct ? 

  • Hi,

    Please see my responses to your queries inline below:

    Could you clarify: 
    - At step 6 "Able to flash signed DFU package successfully through nrfConnect App " was it DFU update or you just flashed the application via the SWD inteface ? 

    => I flashed secure boot-loader and soft device through SWD interface using nrfConnect Programmer

    Device was broadcasting as "DfuTarg"

    I downloaded DFU .zip package through bluetooth using nrfConnect App. I could see updated broadcast message according to application code as expected.

    - At step 9 "On sending BLE command/attempting to DFU, unable to establish BLE connection." At this moment did you connect to the application or it was the boot-loader advertising ? 

    => At this step, application was running and broadcasting, not the boot-loader

    If you still want screen shots for each step I will add.

    Thanks,

    Rahul

Related