A ZED "disappeared" from the network after several weeks for a currently unknown reason.
Power cycling the device did not help (tried several times).
A procedure is in place so that the ZED calls
bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_FORMATION | BDB_COMMISSIONING_MODE_NWK_STEERING | BDB_COMMISSIONING_MODE_FINDING_BINDING | BDB_COMMISSIONING_MODE_INITIATOR_TL);
after pressing a button for 5 seconds.
This was attempted several times as well without success. I can not ascertain that the expected code was called because the expected side effect (a blinking led) did not occur.
While debugging with IAR, keeping the NVRAM memory intact, the device initially did not join the network.
Upon entering '..._ProcessCommissioningStatus(bdbCommissioningModeMsg_t* bdbCommissioningModeMsg)',
status corresponds to BDB_COMMISSIONING_FAILURE .
The _ProcessCommissioningStatus method is entered only one - I conclude that no commissioning is attempted again.
I set a breakpoint in the bdb_event_loop and it looks like this was the first event occuring.
Unfortunately after moving the breakpoint several times (and resetting between debug runs), this device appeared on the network again and is currently doing so consistently.
So that shows that the network information was not lost.
As far as I can see, my sniffer logs only show the rejoin request at the time where it succeeds - there are no rejoins requests before that.
My questions are the following:
- BDB_COMMISSIONING_FAILURE is a state that is not handled in the sample codes. I would like to act on that - what is the recommendation?
- Any idea what might be a root cause - what to look at when it happens again ?
- Any other suggestion to make the ZED rejoin the network in such a case?