What happens if joining fails?

Hello everybody, I’m trying to better understand what happens when the joining process fails, and would like to share your experience on the subject.

According to the Digi manual, when a router or end node is unable to find a network to join, it tries to join another network that matches the values of ID and SC.

Now suppose ID is set to a nonzero value and thus the module is obliged to join only networks with that ID. From the above sentence, I reckon that the module will scan all the available channels (according to SC) in search of a network with matching ID.

What happens if no network is found? Will the module give up, or will the scan restart from 1st channel and continue forever?

This is very important for me to know, as I need to prepare a large network of routers that are normally off and are turned on, in random order, only in certain situations. I cannot use end nodes as the limit of 10 children per router is too low for this application.

Tks for your help.

I can’t answer your question about the join process, so hopefully one of my colleagues will.

I did want to mention however that you might want to check out the ZB firmware for your application, since you can program the length of association for routers, and have them “forget” their association if it exceeds that timelength (also known as mobile association).

Here is a link to our kbase article where you can get the ZNet 2.5 to ZB migration kit, if interested:

In XBee ZB firmware, a device scans all SC channels until it finds a valid network, or until all channels have been scanned. If all SC channels are scanned and no valid networks are discovered, the device waits for a time and then repeats the scan. (End devices will sleep during this time between join attempts.)

After the delay expires, the XBee will again attempt to scan all SC channels. Over time, the delay time between join attempts increases, and consequentially, end devices gradually sleep longer between join attempts.