I am experiencing serious stability issues with my network of xbee pros, it seems more or less random how many end devices are able to join the coordinator.
I have a setup with 1 coordinator and 8 end devices using API firmware.
the coordinator and end devices share one unique PAN id.
end devices are set to cyclic sleep mode (sleep cycle 6 seconds).
SD,SC set to default
NJ=0xFF, so its a open network
NT set to default
While testing all devices are in my studio, so there are no range issues involved.
For the actual application they will be out in a forest, so it is a disaster if I don´t resolve this…
I have gone through the documentation in 4.1.1-4.1.6 quite thoroughly, and this is the behaviour I expected:
First I activate coordinator, it finds a channel and starts up with the given pan ID.
I then turn on the end devices, they search for a valid panID (they are all set to look for the same one), and when they find the network they ask to join and supposedly get accepted.
The network info does not get lost unless there is a network reset, so if the coordinator is turned off and on again, and the end devices are turned off/on, the network should be reestablished.
What actually happens is very unpredictable.
I start the coordinator, then the end devices.
A random number of children (1-8) joins the network (My devices have a led connected to the on/sleep pin so I can see when they behave as expected).
If I do a NC (number of children connected) I usually get 8, but if I do a ND it corresponds to the actual number of devices joined.
I do a NR0 to forcereset the network.
that gives different results, but one pattern is this:
If 5 nodes were active before the reset, 3 nodes becomes active after the reset, which usually are the ones which weren´t active before.
The strange thing is that the 5 first ones behave as if they are still connected in the network (the led blinks as if in sleepmode). A NC would return 8, ND 3.
If I then turn off the end devices and then on again, quite often all 8 end devices show up, but not always.
If you are still with me, to sum up:
NC doesnt seem to reflect the number of active children, ND is more reliable.
End devices don´t seem to behave as expected (try to rejoin a network) when they lose contact with the coordinator, either through a NR0 command or if the coordinator is turned off.
It seems random the number of end devices which are allowed to join when they are switched on.
A final note, since my setup is static, I was thinking to use a closed network (NJ<0xFF), but this didn´t work any better.