I’ve not found any requirement to store the DevNonce in NVM - it just requires that the DevNonce increment and makes the suggestion that IF the power were to be restarted, that it may be useful to store it in NVM for retrieval at startup.
For deployment of a device, it joins, it runs, it’s batteries die, it gets left to form part of the sedimentary level causing a strange shape in the rock when the aliens arrive to find out what happened to us after the seas rise and we go though another ice age. IF the device happens to be restarted due to a battery change or other reason, its first, possibly second join will fail but as the NS won’t exactly be holding a value in the low teens, after a few futile tries it will join. Personally I’m likely to have something I can save settings in on the board, so having a stub for the developer to add saving settings, if the use case deems appropriate, is OK.
We already have had this issue come up with SAMR34 devices here where developers were testing using OTAA, hadn’t read the MLS release notes and get road blocked. Clearing the DevNonce at the command line is easy enough and switching to ABP for radio testing (and not using the radio when not testing the blindly obvious bit about sending) should solve most issues.
@mluis1, can you point me at your work in progress and I can see if it’s feasible for me to pick it up.