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

DFU address conflict

When performing a DFU the 2nd stage increments the expected device BLE address by 1 when the device being updated reboots.  This potentially conflicts with the address of an existing BLE device.  Specifically, the DFU can connect with either device if they are both advertising.  The question is how to best handle this.  Separating device addresses in manufacturing by 2 isn't an option because the BLE address is used as the device serial number.

When a connect occurs, is it possible to get the data from the advertisement that the nRF used for connecting?  Obviously the DFU advertisement is different from the normal device advertising so that would allow at least detecting that the wrong device was connected.  I don't think there's a way to filter actually connecting based on advertising data.  Enumerating characteristics is expensive in terms of time/power.  We are using SDK 15.3.

Regards,

Mike

Parents
  • Hello,

    You shouldn't really set the addresses like this in a series. Using address incrementation for DFU is quite common. Do you need to put the serial number in the BLE address? BLE addresses should be randomly generated, so that the chance of them being two of the same is minimal.

    Best regards,

    Edvin

  • It is not realistic to use random addresses.  We use advertising data in a remote sensing application.  We would have no way to map sensors with random MAC addresses.  Instead we use the device serial number, which is the 6 byte BLE MAC address.  Since these are programmed sequentially during manufacturing there is zero chance of them being the same, except during the 2nd part of a DFU

Reply
  • It is not realistic to use random addresses.  We use advertising data in a remote sensing application.  We would have no way to map sensors with random MAC addresses.  Instead we use the device serial number, which is the 6 byte BLE MAC address.  Since these are programmed sequentially during manufacturing there is zero chance of them being the same, except during the 2nd part of a DFU

Children
No Data
Related