Issue with nRF Connect and DFU service support for BT4 and BLE 5

Hello Nordic Semiconductor Support Team,

We are trying to update application using DFU. We use bootloader, BLE 5 long range coded phy. DFU is not successful, please find the details of the log message in the attachment. we are using nRF Connect version 4.27.1, Nordic SDK version 16, and soft device 140.

Could you please provide guidance on how to resolve this issue or if there are any updates or workarounds available for nRF Connect that support DFU service for BLE 5?

Thank you for your assistance.

Best regards,

Shreya

Parents
  • Hi Shreya, 

    What I can see in the log is that after nRF Connect app send the command to switch the device to bootloader mode, it's failed to reconnect or having trouble when sending write command after connected to the bootloader. 

    Do you have the issue if you do 1Mbps PHY in your application? 
    Did you modify the bootloader to use CODED PHY or the bootloader still do 1Mbps PHY ?
    Could you try to switch the application to bootloader manually (write 0x01 to the Buttonless characteristic after enable Indication). The bootloader will start advertising as DFUTarg and then you can connect to the bootloader from the phone and do DFU update. 

    Please try capture a sniffer trace when the bootloader is connected to the phone. 

  • Hi Hung Bui,

    Do you have the issue if you do 1Mbps PHY in your application? :
    Our application works ok for 1Mbps. Sorry didn't get your question, can you give more details about the question.

    Did you modify the bootloader to use CODED PHY or the bootloader still do 1Mbps PHY ?
    We have modified the bootloader to advertise in BLE 5 coded PHY

    try capture a sniffer trace when the bootloader is connected to the phone:
    I have used the USB where the debugger is connected, getting erorr -> nRF Sniffer extcap pipe gives error FIFO does not exist. I checked if the com port exists and it generates some data, and it does do something. I checked by using USB port near to reset button. but then nrfSniffer interface was not visible. 

    Could you please suggest how to proceed?!.

    Thank you

  • Hi Hung Bui,


    We have followed all the above mentioned steps. but wireshark is able to see all the BLE 4 advertising devices but not the BLE 5 coded PHY device. Any suggestions?

    yes tried to put device in bootloader mode manually, then DFU was successful. 

    We tried doing the DFU from SD & Bootloader. DFU was successful.

    Thank you.

  • Please double check your sniffer configuration: 
    BLE sniffer support for coded phy

    Shreya J B said:

    yes tried to put device in bootloader mode manually, then DFU was successful. 

    We tried doing the DFU from SD & Bootloader. DFU was successful.

    From what you reported it seems that the problem is at when you switch from application to the bootloader, the phone couldn't reconnect to the bootloader. 

    Please double check that you have service changed characteristic enable on both your application and the bootloader. Please check sdk_config.h for

    NRF_SDH_BLE_SERVICE_CHANGED 1 

    PM_SERVICE_CHANGED_ENABLED 1

  • Hi,

    Please check sdk_config.h for

    NRF_SDH_BLE_SERVICE_CHANGED 1 

    PM_SERVICE_CHANGED_ENABLED 1

    checked, both are enabled in sdk_config.h. can you suggest what need be done?


    I have attached the sniffed trace. which contain data during advertising, connect, trying to DFU then disconnect.

    sniffed data during dfu initiation.pcapng

  • Hi Shreya, 

    I don't see any issue with the trace. 
    Most likely it's the app that doesn't support scanning in extended advertising CODED PHY when doing automatically reconnect. I will have to check with the team to see if this supported. 

    I would assume you can instruct the end customer to do 2 steps DFU , first is to switch to bootloader and second is to manually connect to the bootloader. 

    Do you plan to make your own app for DFU and for your application ? If it's the case, you can implement a 2 steps DFU so that it's transparent to the end customer. 

  • Hi Hung Bui,

    Actually it is taking time to do DFU from our app. it would be helpful if it is supported in nrf connect.

    Thank you,

    Shreya

Reply Children
  • Hi Shreya, 
    Have you tried the nRF DFU app, maybe it doesn't have the same problem ? 

    Could you show how you modified the bootloader to do CODED PHY advertising ? 
    Have you made sure you don't change the address of the bootloader ? There is a mechanism in the bootloader so that it will be either the same address as the application or increase the application address by 1. 
    Also another question is that wouldn't it be better with non-CODED PHY when doing DFU ? CODED PHY has much lower throughput compare to 1 or 2MBps and the end user quite often is close to the device when doing DFU. 

  • Hi Hung Bui,

    I have tried doing DFU with nRF DFU app, even it has same problem. I have attached screenshot for your reference. currently we are updating the firmware by entering into bootloader manually. but only some mobile phones support this feature. 

    Thanks for the support.
    Shreya

  • Shreya J B said:
    but only some mobile phones support this feature. 

    There are still many phones that don't support CODED PHY. Is the plan to always perform DFU with CODED PHY, and in that case, is it ok that DFU won't be supported for all phones? Also, is the main app using coded PHY as well?

  • Hi Vidar,

    There are still many phones that don't support CODED PHY

    Yes, even we are searching for latest low-cost mobile phone which support this feature. In nrfconnect Device information it is provided that it supports but, in some phones it shows the list of devices advertising in BLE5 but not able to connect.

    Is the plan to always perform DFU with CODED PHY, and in that case, is it ok that DFU won't be supported for all phones?

    Most of the times we will perform DFU with CODED PHY. it's okay if doesn't support all the phones. can we get to know exactly which phones support DFU with CODED PHY. 
    I have checked the previous posted queries regarding phones supporting CODED PHY. Those all are of more than 3 years. we are looking for latest phones.

    Thank you,
    Shreya

  • Hi Shreya,

    CODED PHY is an optional feature in Bluetooth 5. Therefore, you must specifically check for CODED PHY support in the feature list. iPhones do not support it. 

    Shreya J B said:
    Most of the times we will perform DFU with CODED PHY.

    How are you going to perform the update without coded PHY if the bootloader is only advertising with this PHY?

Related