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

[iOS DFU Library] Not using the device name as "DfuTarg" ?

  • SoftDevice : S110 7.1

  • SDK 7.2

  • Example : experimental_ble_app_uart + DFU service

  • Using IAR 7.1

  • Board : PCA10001 V 2.0.0 (Rev. 2 MCU)

  • Test device : Nexus 5 (Android 5.1.1) and iPhone 6+ (iOS 8.4)

  • Toolbox App Version : 1.14.1 (at Nexus 5) & 2.1 (at iPhone 6+)

/************************************************/

Hi, since I don't know Swift, I don't know how the Toolbox app works.

So, if there are some points which I'm missing, please understand my situation.

(iOS Toolbox (GitHub))

// at dfu_transport_ble.c
#define DEVICE_NAME                          "DfuTarg" /* I want to change this name for my own purpose */
#define MANUFACTURER_NAME                    "NordicSemiconductor"

As you know, after updating the firmware by using the DFU,

my iOS devices remembers my device as DfuTarg due to memory caching.

After the update, when I connect the board with the UART app,

the connection message says that, it is connected with DfuTarg and I do not want this to happen.

So, when using the bootloader, I changed the name DfuTarg to Nordic_UART.

I just wanted to maintain the name to see the same message after the firmware update.

However, when I change the device name (in the bootloader code), the Toolbox app

keeps connecting and disconnecting with the board.

/************************************/

So, my question is

the library of the DFU only reconnects when the device name is DfuTarg?

In other words, when the bootloader is running, the device name has to be DfuTarg

in order to run the DFU?

If so, after the firmware update is done, I want to cache my device name as the

new name (which is described in the new firmware image, like Nordic_UART),

instead of leaving the name as DfuTarg.

What implementations are needed?

-Regards

Parents
  • Hi Mango,

    The DFU master won't base on the name of the advertising name to find the bootloader but on the Address and the 128 bit service UUID in the advertising packet.

    So it shouldn't be a problem to change the name of the bootloader.

    However, since the 128 bit service UUID is included in the advertising packet, the length of the bootloader should be short. It should not be more than 8 digit otherwise you will have an error when start advertising.

  • @Hung Bui what do you mean by The DFU master won't base on the name of the advertising name to find the bootloader !!! I put the peripheral on Dfu mode by writing on the Bootloader service (second charact), then disconnect then the peripheral advertise DfuTarg, then I connect to it and upload the new app. if the advertising name is different from DfuTarg it wont connect (I connect only to DfuTarg)

Reply
  • @Hung Bui what do you mean by The DFU master won't base on the name of the advertising name to find the bootloader !!! I put the peripheral on Dfu mode by writing on the Bootloader service (second charact), then disconnect then the peripheral advertise DfuTarg, then I connect to it and upload the new app. if the advertising name is different from DfuTarg it wont connect (I connect only to DfuTarg)

Children
No Data
Related