Hi!
I have ~80 mesh nodes that are flashed with my customized version of the light switch server (I have added some I2C sensor stuff too). I've now been wrestling with trying to do a DFU mesh update to bring them all to mesh v2.
My first problem was that the bootloader binaries in v1.0.0 don't match the source code... The prebuilt binary can't handle an update of itself, if I build the bootloader from the source code it can update itself. But my 80 nodes have the the bootloaders which don't work... I built a bridge application which performs an "unsafe" replacement of the bootloader once it has received the new bootloader via normal mesh DFU.
My next problem is that softdevice 6.0.0 is larger than 5.0.0. The application on the existing nodes is located at 0x23000, the 6.0.0 SD will overflow its section and the mesh SDK v2 bootloader complains that it won't accept such a transfer.
I guess my only option is to concatenate the softdevice and the application, transfer it as one large softdevice and handle the big file by modifying the bootloader. The bootloader would then rewrite the info regarding the application section to for example 0x26000 instead.
Any other ideas? I'm choosing between more bootloader experimentation or start using a screwdriver and manually reflashing each node :-)
Thanks for any suggestions,
Pär-Olof