Problem migrating to SMT

Problem Migrating to SMT

Configuration:

XBee 24 ZB running 21A7 Firmware as Coordinator.
XBee 24 ZB running 23A7 Firmware as Router/Parent/Destination Address.
XBee 24C running 4023 Firmware as End Device/Child.

All devices with NJ set to FF (Always allow Join).
All devices with same (SP)
Parent/Destination Address (SN) set three times End Device’s (SN)

Proper function:

On End Device Sleep Timer time out or Pin Wake, End Device wakes and sends IO Sample to Destination Address that sends API Frame Type 92 out Serial Port.

On End Device Commission Button press, End Device wakes and sends Node Identifier, (NI) to Destination Address that sends API Frame Type 95 out Serial Port.

All works fine.

Then, power cycle either Router or End Device.

On End Device Commission Button press, End Device wakes and sends Node Identifier, (NI) to Destination Address that sends API Frame Type 95 out Serial Port.

On End Device Sleep Timer time out or Pin Wake, End Device wakes and sends IO Sample to Destination Address followed by several seconds of Pole Requests. Destination Address does not process and does not send Frame Type 92 out Serial Port.

This loss of End Device, Destination Address relationship does not appear to happen with Through Hole XBee’s as End Device and Destination Address, only when the End Device is SMT.

Examination of End Device’s Parameters reveal that the End Device still has the correct Destination Address (DL & DH), and the Parent’s 16 Bit Address (MP), and has the same End Device 16 bit (MY) address. It just does not communicate an IO sample to the Destination Address.

To correct this I have found two solutions:

Solution 1

  1. Read the End Device settings with X-CTU.
  2. Press the End Device Commission Button four times, which resets its parameters.
  3. Write the just read parameters back to the End Device.
  4. Communications are restored.

Solution 2

  1. Press both the End Device’s and Destination Address’s Commission Buttons at the same time.
  2. Communications are restored.

Perhaps this will not happen if the End Device and the Destination Address are both SMT.

It will be necessary to remove power from multiples of these devices from time to time for maintenance and replacement of batteries.

Any information on the subject will be greatly appreciated.

It appears that this problem happens with SMT End Devices that wake up or are awaken by Pin Wakeup and send a Data Sample to the Destination Address that outputs a Frame Type 92 IO Data Sample Rx Indicator out its serial port.

It appears that this problem does not happen with SMT End Devices where the SMT Xbee wakes a MCU that sends data to the SMT End Device by way of a Frame Type 10 to be sent to the Destination Address that outputs a frame type 90 ZigBee Receive Packet out its serial port.

It would appear that the end device or the router is not off long enough for the end device to be cleared in the child table. Try setting the NW timer to a lower value or issue a local network reset on the end device (ATNR0).

Thanks mvut, It turned out to be a firmware issue. Digi sent me a Beta of a newer firmware that solved the problem. There have been several upgrades since then and all is working very well.
Don

Hi,

I read through your post and I have a problem. I have two XBEE smts on two different boards (my own design). My first issue is that I can’t set any of the XBEEs to be an end device. I have a coordinator enable option which is Enabled for one and disabled for the other; the disabled one is configured as a router. I also worked with the XBEE S2 where I had the option to change the firmware for each and set one coordinator and rest end devices but the SMT version doesn’t allow me to do that. So is there something missing in setting one to be an end device?

Also, when I have the same PAN ID for both and SC is 7FFF; they still fail to communicate with each other. I checked the PAN ID on the router (the one that is read only, not the one you get to set) it’s set to 0 and operating channel is different than the coordinator.

Am I missing something here? Thanks

Try setting the SM command. On the SMT module that is how you enable an End device.

Set the PAN ID on both the router and coordinator to the same value. Same with the SC command. Then enter command mode on your router and issue a local network reset (ATNR0). That will cause the router to re-associate with the coordinator.

Thanks mvut for the reply.
As far as I understand the router should still be able to send/receive data from the coordinator, right? So it shouldn’t really matter if I set it to end device for testing?

I tried to set the PAN ID and SM to the same on both coordinator and router; they still can’t find each other. PAN ID on both is 1234 and SM is 7FFF (default value); however the OP for the router is different than the coordinator. Aren’t they supposed to be the same?

Only if the node is associated with the network. If it is not, the you need to take steps to address that. That is what the steps I described do. Yes, the OP does need to be the same. That is why you need to issue the NR0 on the node that is NOT associated with the coordinator.

I tried that, but it’s still giving the same result. Here’s what the console looks like right now:
+++OK
ATNR0
OK
ATOP
0
ATID
1234

Coordinator gives the same, except when I send ATOP it returns 1234 same as ATID.

Try an ATNR1 and issue it on the router after you set the ID parameter.

Make sure that the SC value on both is also the same.

The SC for both is set to 7FFF.
I tried the ATNR1 as well, but the result is still the same.

+++OK
ATID 1234
OK
ATNR1
OK
ATOP
0

And still doesn’t connect to the coordinator. Changing the SC from default to another value (as long as it’s the same value for both router and coordinator) shouldn’t make a difference, should it?

I set the coordinaotr destination address to itself and sent a test data and it received it; then I changed my router to be a coordinator and changed the destination address to itself and tried sending something to itself but there is nothing being received. Could this mean the chip is damaged?

It could be a sign that the module is not working.

Is there a way of finding out other than replacing it with a new module? It’s on a PCB and replacing it is going to be very painful.

Also, is it possible to use the SMT as coordinator and the XBEE S2 as client? Because I have two of those and I set one up as coordinator and one as end device and got the communication up and running no problem at all. Would I be able to use the two version together?

Not that I am aware of.