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

Parents
  • 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

  • I am facing exactly same issue with Button-less DFU application

  • Hi Rahuld, 
     I had a look at the buttonless example in SDK v12.1 and there was a bug in ble_dfu.c that we don't enable write property. And only has notify property, I assume you have fixed this ? Otherwise it's not possible to switch to bootloader. 

    After adding this line 

     char_md.char_props.write = 1;

    in line 91 right under  char_md.char_props.notify = 1;

    the buttonless application worked for me. (this is fixed in SDK v12.3) 
    If it still doesn't work for you please send us your hex file (bootloader + application) so we can test here. 
    Please try testing using another phone or using nRF Connect on OP as well. 
    If possible please move to SDK v12.3 to have more bug fixes. 

  • I changed phone and it worked.

    Thanks a lot for your patience and support.

Reply Children
No Data
Related