NonBeacon no communication


I’m trying to set up a non-beacon system for the first time and I can’t get it working. I want the channel to be set to the best available option, and the PANID to remain the same.

To be sure that no old settings are in the way I did a reset to factory values on my modules.

Then I set the coordinator:
CE = 1
A2 = 6
BD = 4

and the end-point:
A1 = 6
BD = 4

I can see from the associate indicator led that the end-point is associated with my coordinator. On power up it goes from solid to 2 blinks per second.

However I can’t seem to communicate with the unit. Am I forgetting something?

I’m using one xbee on an sparkfun explorer and the other and the other on an arduino 2009 with an xbee shield. The one on the explorer is my coordinator.

… bump

Any idea what might be the problem?

When you have the automatic association enabled, the end device will set its DH and DL to that of your “coordinator” module. Your coordinator however, isn’t set up to communicate to anyone in particular. It will be set with the destination addressing set to defaults of zeros.

The second thing that is happening is that when you have the coordinator enabled, the coordinator is ready for indirect messaging, meaning that the coordinator will hold on to the message waiting for it to be requested by a certain end device. So if you set the DH and DL of the coordinator to the new end device that has associated, then the end device will need to request the pending data from the coordinator.

Here is more information about the indirect messaging from the Digi website:

To avoid this, you can set the address of the coordinator to the broadcast address which is probably the fastest method. To set the coordinator to the broadcast address, DH should be set to 0, and DL should be set to xFFFF.

Setting the coordinator to the broadcast address did the trick, and it works well! With active scanning the modules perform much better then when I picked the (less optimal) channel myself. I don’t know what channel they ended up using, but the resulting connection is much more stable.

Thanks for your help, I’m glad it’s all sorted now.