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

nRF5_SDK_17.0.2_d674dde\examples\dfu\secure_bootloader\pca10056_s140_ble_debug\ses won't advertise DfuTarg name

So I now have nRF 52840 dk and I'm working through the secure bootloader example. I am using SES. (Windows).

So I built and flashed the the app and it looks fine, it has Leds 1 and 2 lit and the software layout looks fine (in nRF Connect)

In trying to use the Connect J-Link, I see the output (in part)

<debug> nrf_dfu_ble: Enabling the BLE stack.
<debug> nrf_dfu_ble: No advertising name found
<debug> nrf_dfu_ble: Using default advertising name
<debug> nrf_dfu_ble: Advertising...

As far as I know the advertising name is defined in the sdk_config.h?

// <s> NRF_DFU_BLE_ADV_NAME - Default advertising name.
#ifndef NRF_DFU_BLE_ADV_NAME
#define NRF_DFU_BLE_ADV_NAME "DfuTarg"
#endif

I've tried following the code and stepping into, but it's a rabbit warren and I got lost.

Can you help please.

Gordon

Parents
  • Hi,

    There is a lot of information in this thread but I feel a overview is lacking. Just to be clear, the example bootloader in the SDK will advertise with the DfuTarg name by default when it is in DFU mode. If it does not, then the question is which modifications you have done and what you wanted to achieve by those?

    In your last post you refer to nrf_dfu_ble.c, which is the implementation for the buttonless DFU service that is used to put the device in DFU mode. This also sets a different name if not bonded to work around a limitation in iOS. So if you start buttonless DFU unbonded, the name is changed to a unique name so that the phone/DFU master can filter on that name in order to connect to the correct device again. This is needed as iOS does not have APIs operating on the BLE address. As I am not sure of the real issue or what you really want to do I cannot say if this is relevant, but if you want to se an example of this in use you can refer to the Buttonless DFU Template Application.

  • btw why did you mention ios, I'm not using an iPhone?

Reply Children
  • Hi,

    gfmoore said:
    How rude.

    That was not my intention.

    gfmoore said:
    Did you read the first post?

    Yes. But it does not describe a problem with the example (which does indeed advertise with DfuTarg as the name). So I lack information about any changes you have done or how you see this issue.

    gfmoore said:
    The rest of the thread is to show what I have attempted to solve the problem whilst awaiting some reponse from Nordic!

    You should normally get an answer by the next business day, but there is no 24/7 support here.

    gfmoore said:
    It says: No advertising name found

    Yes, and that is not an error. It just explains that no advertising name has been set by the application via the method I described in my initial reply (which is a workaround for iPhone).

    Did you actually check if there is any error anywhere? The log does not show anything out of the ordinary. Have you checked if the devices advertises with DfuTarg? (which the unmodified bootloader example does). How did you check this?

    gfmoore said:
    btw why did you mention ios, I'm not using an iPhone?

    Because that is the reason for the code you were asking about in nrf_dfu_ble.c. In any case that is not used by the bootloader, but by the buttonless DFU service in the application (to configure the name of the bootloader). The fact that this has not been used to set the name is the reason you get the "No advertising name found" in the log. This is perfectly find and expected. No indication of any issue.

Related