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