Sleeping router loses connection, requiring power cycle

We have deployed a small network of five sleeping router XBee sensors communicating with a controller with an XBee Pro. After some period of time, maybe a couple of days, maybe a couple of weeks, the most remote (from the controller) sensor stops sending its data. On the sensor, XBee pin 13 (ON/SLEEP) triggers an interrupt to the ARM processor and that lights an LED, so we can see that the XBee always wakes up on time and that the sensor firmware is running. When the failure happens, if we just power cycle the sensor, it fully recovers, routing data to the controller. Questions: (1) Is this a known situation/issue, that is, does the XBee give up sending data under some circumstances? (2) Is there a programmatic way to detect and restore the radio without a power cycle? Is there perhaps a transmit status that tells us this has happened? We do have XBee pin 5 (RESET) wired to the processor but it is not being used.

Also, if the controller is shut down for a long period of time (not sure just how long), all sensors will stop sending and will not recover without individually power cycling each one after the controller comes back online. The order of cycling seems to matter - closer to the controller first.

On the first issue, are you power cycling the XBee module or the processor connected to the radio that gets it back working?

On the 2nd issue, try setting up a backup coordinator. What you are seeing is exactly what is expected if you do not setup a back up coordinator.

Thank you for your response. On the first issue, the entire sensor is disconnected from power and reconnected.

Please bear in mind my basic question is how to detect when an XBee loses connection with its mesh for any reason and how to restore the connection without a power cycle.

Have you tried Entering command mode and issuing a local network reset (Zigbee/ZB) or an FR command?

I really appreciate your taking the time to help me with this. Our sensors have no connection to the outside world other than via the XBee, so I have no way to interactively enter command mode. If our firmware could detect that the disconnect had occurred it could send an FR command. Similarly, it could pull the RESET line low to do a hardware reset (like the power cycle does). So I guess my root problem is detecting that the disconnect has occurred. Is there any way to do that? Just doing a periodic FR or hardware reset doesn’t seem like a good strategy (although I’m pretty sure it would solve the problem).

One way is to have your devices send back an ACK. Another way is to Enter command mode, and issue an AI command or a ND command.

That’s a great idea. I’d never really noticed the ND command in particular. I’ll give it a try. Thank you very much. Have a Happy New Year!