2.5 Pro Router Unresponsive

I have two xbee pro s2b configured for API usage.

Zigbee Router api firmware version v23A7

Zigbee Coordinator api firmware version v21A7

Settings:

  • ZS = 2

    NJ = 0xFF (always allow)

    ID = 0 (coordinator decides)

    AP = 2 (escaped API mode)

    BD = 9600

    NB = 0

    SB = 1


  • Both are mounted to a usb explorer on a powered hub. I have written .net code to send data over the serial port to the zigbees; all nodes use the same code so a transmission from the coordinator is the same code as a transmission from the router.

    Once the router joins the network, it works ok for a short time (it does sometimes show a watchdog timer reset before joining). If I let it sit idle for 10 or so seconds, it becomes unresponsive to commands. Sending a SH or SL will not get a response. the TX light on the USB board will flash but there will be no response. If I repeat the command every 500 milliseconds or so, it will eventually come back with the answer (somewhere between 3 and 5 seconds of time). 99% of the time there is no modem status response to say something was wrong with the modem; sometimes a watchdog response will come back here.

    The coordinator on the other hand is always responsive. Sending an ND will find the Router even if the router is in the non-responsive state.

    Here is what I have done for troubleshooting:

    Move the xbees

  • Really close (6 inches)

    Short range (20 feet)

    Mid range (60 feet)


  • Purchase more xbees to see if I had a bad xbee (I have total of 4 now with usb boards)

  • all xbees exhibit the behavior
  • Using a different computer

  • both xbees on my laptop and desktop

    coordinator xbee on my laptop, router on desktop

    coordinator xbee on my desktop, router on my laptop


  • Made different xbees coordinator and router.

  • The coordinator always works the router always exhibits the problem regardless of which xbee is coordinator or router.
  • Tried using end device api

  • Problem is the same (I actually started this way but was wondering if the end device was going into sleep mode)
  • Added a powered hub in case the problem was a power issue.

  • no change
  • I set up a simple ping, send a TX Request from one xbee to the other with a payload of 0x0A, if its received, the receiver responds with TX Request with a payload of 0x0B.

  • Sending from the router when it is in the unresponsive state, the TX Request is not answered with a TX Status nor does the coordinator receive the payload.

    Mind you sending an SL or SH at this point will also be non-responsive so its probably not trying to send the message.


  • If I keep sending from the router, it will eventually work; I get the TX Status and the response from the coordinator. Once it starts working, it will keep working until I stop for some period of time (generally 5-10 seconds).
  • If I have a router in the unresponsive state (send and SH or SL with no response) and send a ping from the coordinator the router will get the packet without fail and respond just fine. After the router gets the ping packet will work just fine until I don’t do anything for some period of time (5-10 seconds).
  • I realize this is really long but I wanted to give as much information as possible. There are couple of real questions here:

  • - Why does the router seemingly go to "sleep". Its a router so sleep mode is disabled.
  • - Why does it not respond to an SH or SL (these should be local commands)
  • - Why when its unresponsive to the serial port does it answer a wireless request?
    • This requires that my ping software gets a notification from xbee and sends a response back over the serial port)
  • - Is there some way to find out what the xbee is doing when its in this mode?
  • - Is anyone actually using these modules in consumer grade products?
    • if this is interference from wifi or cell thats a real issue

    • It seems to me that the lack of troubleshooting or status data is very problematic


  • Ok, so this is one of those moments when you feel completely stupid. In a nutshell the the sleep mode on the router was set to cyclic sleep (SM=1). Setting sleep mode to disabled (SM=0) resolves the problem. That was some expensive tuition to remind me to check all settings and make no assumptions.

    According to the documentation - 90000976_K 03/2012:

    Pg 34:

    A router has the following characteristics: it

  • •Must join a ZigBee PAN before it can transmit, receive, or route data

    •After joining, can allow routers and end devices to join the network

    •After joining, can assist in routing data

    •Cannot sleep–should be mains powered.

    •Can buffer RF data packets for sleeping end device children.


  • I assumed “cannot sleep” meant that routers had sleep disabled much like end devices will not let you set SM=0 I assumed that a router like a coordinator would not allow you to set sleep mode to anything but SM=0. This was an incorrect assumption. You must set SM=0 for routers, they default to SM=1.

    Lesson learned.

    To answer my own questions:

  • - Why does the router seemingly go to "sleep". Its a router so sleep mode is disabled.
  • A: SM=1 try SM=0
  • - Why does it not respond to an SH or SL (these should be local commands)
  • A: Because its sleeping
  • - Why when its unresponsive to the serial port does it answer a wireless request?
  • A: Because every 100ms its checking the coordinator for messages
  • - Is there some way to find out what the xbee is doing when its in this mode?
  • A: A led hooked to pin 13 would have made the sleep mode obvious.

    Question that still need answered:

  • - Is anyone actually using these modules in consumer grade products?
  • XBee Series 1 (non-Zigbee) has been used in large volumes. Things like industrial sensors. The radio per se is from Freescale.

    XBee Series 2 (Zigbee only) as well. It’s inside of many products made by Digi, and inside many OEM. The XBee S2 uses an Ember chipset; Ember was acquired by Silicon Labs. The surface mount version is likely used in cable TV set top boxes where Zigbee is appearing, for home automation/security (see the ads from Cox, Time Warner in the US). T.I. and others are in this space too.

    The through hole versions of these have been popular for low volume (thousands, not hundreds of thousands) of units, and by hobbyists/students for many years.

    These began with a company named Maxstream - acquired by Digi International. What’s unique about the Xbee S1 more so, is the firmware on board, that once you understand it, can do most common remote data acquisition (A/D, bit sensing) and control (PWM output, digital output), without need of a microprocessor at the remote site, and with the root site being connected to a LAN with products such as the Digi ConnectPort X2 and up that family of products.