This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Custom MAC address break the DFU

My application requires to change the device name as the identification of the device.  However, we found the changing the device name might not be detected by the Android App because the Android phone seems to cache the device name for some performance reasons. So we need to change the device MAC too so the Android App can correctly re-read the new device name.

This seems work okay but we then realize this breaks the DFU function. DFU uses the original(default) MAC address plus one to recognize the device among reboot. But, since we use the custom MAC for the device, the Android DFU library failed to find the device after the device reboot to DFU mode.

So, any suggestion for above issue? or any guideline I can read for reference?

Ray

  • Hello,

    I think the simplest solution to this would be to use the "custom address+1"  in the bootloader. What SDK are you using? I guess you have the custom address stored somewhere in flash (UICR?), so you can read it out from the bootloader, just like you do in your application. Depending on what SDK version you are using, the location of the address setting in the bootloader may vary, but look for sd_ble_gap_addr_set() in your bootloader project.

    Best regards,

    Edvin

Related