One set as, Coordinator AT, the other as Router At.
The Router can send and receive data fine.
The Coordinator is having major issues sending data, but can receive fine.
It will drop 90+% of the serial data sent out.
I have 4 other routers, and they are all seeing this, so it is the Coordinator.
Anyone ever see this?
To test it
I have one arduino that is just constantly sending numbers… 0-255, back to 0. And an other one reading them and it fades an LED.
If I have the Coordinator sending, the router end does not get 90+ % of the numbers, and it jumps every 10 sec or so. If I pull the xbees and switch them, the Coordinator end fades perfectly.
I’ve always had success when using one as a coordinator and the other as an end device. (It looks like you tried that in your first post).
There is a walk through at the link below. It starts out describing how to configure the settings of each module, and then moves on to using them with an Arduino. I realize that you may not be using them with an Arduino, but the “setup” portion of this may help.
AZRobbo:
I’ve always had success when using one as a coordinator and the other as an end device. (It looks like you tried that in your first post).
There is a walk through at the link below. It starts out describing how to configure the settings of each module, and then moves on to using them with an Arduino. I realize that you may not be using them with an Arduino, but the “setup” portion of this may help.
Since you’re having the same problem on 5 different devices, I would try contacting Digi support.
They may take a day or two to get to you, but I’ve been told they are good at helping out. (I’m also guessing that they would be much quicker than posting back and forth on this board.)
One set as, Coordinator AT, the other as Router At.
The Router can send and receive data fine.
The Coordinator is having major issues sending data, but can receive fine.
It will drop 90+% of the serial data sent out.
I have 4 other routers, and they are all seeing this, so it is the Coordinator.
Anyone ever see this?
To test it
I have one arduino that is just constantly sending numbers… 0-255, back to 0. And an other one reading them and it fades an LED.
If I have the Coordinator sending, the router end does not get 90+ % of the numbers, and it jumps every 10 sec or so. If I pull the xbees and switch them, the Coordinator end fades perfectly.
By drop, do you mean that a constant stream is missing a few bytes, or entire 100 byte blocks are missing? If you send more than about 100 bytes without some sort of hardware (CTS) or software (XOFF) handshaking, you lack flow control and can get buffer overruns.
Otherwise, RF based errors should cause an ACK timeout and you should detect that and retransmit or give up.
One set as, Coordinator AT, the other as Router At.
The Router can send and receive data fine.
The Coordinator is having major issues sending data, but can receive fine.
It will drop 90+% of the serial data sent out.
I have 4 other routers, and they are all seeing this, so it is the Coordinator.
Anyone ever see this?
To test it
I have one arduino that is just constantly sending numbers… 0-255, back to 0. And an other one reading them and it fades an LED.
If I have the Coordinator sending, the router end does not get 90+ % of the numbers, and it jumps every 10 sec or so. If I pull the xbees and switch them, the Coordinator end fades perfectly.
By drop, do you mean that a constant stream is missing a few bytes, or entire 100 byte blocks are missing? If you send more than about 100 bytes without some sort of hardware (CTS) or software (XOFF) handshaking, you lack flow control and can get buffer overruns.
Otherwise, RF based errors should cause an ACK timeout and you should detect that and retransmit or give up.
Hi guys, I’ve been experiencing similar troubles and would appreciate some help.
Basically my problem is the delay I experience between two xbee radios after having send a few bytes without any problems.
My setup consists of 2 Arduino XBee Shields each connected to a Duemilanove board.
I’ve removed the processors from Duemilanovas and connected them directly to a PC running X-CTU. I reset the modems and made the other one ZNET 2.5 ROUTER/END DEVICE AT firmware 1247 and the other one ZNET 2.5 COORDINATOR AT firmware 1047.
All the other settings are default. Then I short DOUT and DIN pins on the End Device XBee and start the terminal in X-CTU to the Coordinator. Now in the terminal I can see characters come back for the first ten or so bytes after which I start to see delays of five seconds or so before the bytes are returned.
So the actual question is what do you mean by the ACK option in the 802.15.4.? Could it have something to do with this? Any other ideas are more than welcome also.
Thanks.
PS. I attached some screenshots of the problem. In the first oneI press the k key about once a second on my PC. In the second one the three 32 byte packets go through nicely followed by a 10s timeout and then again the fast transmission of the next three packets.
Im having the exact same issue. Router is sending fine to coordinator, but not the other way round. Co-ordinator to router data stutters and delays, sometimes missing data entirely
coordinator → router/endpoint = delays/dropped data, etc.
I found that if I explicitly set the destination for each module then the problem goes away.
By default the destination of the coordinator is 0xFFFF which is the broadcast address for the PAN. The default router/endpoint destination is 0x0 which is the coordinator. So this should work but it doesn’t seem to work very well.
If you set the DH and DL of each module to the SH and SL of the other, the problem should go away (at least it did for me).
On the coordinator:
Set DH to the router/endpoint’s SH
Set DL to the router/endpoint’s SL
On the router/endpoint:
Set DH to the coordinator’s SH
Set DL to the coordinator’s SL
Note that this kind of defeats the purpose of a mesh network and you can only have 2 devices talking to each other.
Either way, I don’t know what will happen if you try to add a third XBee as I’ve never tried it.
It’s probably worth contacting Digi and asking before you purchase another. I’ve been meaning contact them about the original issue but just haven’t had a chance (and the XBee’s are currently in another location).
XBee use IEEE 802.15.4. Every '15.4 device has a MAC address, just like every ethernet and WiFi (NIC) has a unique MAC address.
So if you don’t use a full network layer protocol like ZigBee, ISA 100 or 6LoWPAN, then you set the destination address to the MAC address of the intended node. Or use the broadcast address (though broadcast precludes using the inherent error correction via ACKs).
Most '15.4 based modules can use a “short” 16 bit address whereas the MAC address, actually called an OUI, are 64 bits.
The coordinator is really irrelevant in a network which does not use routers or gateways or meshing. No need to “associate”, unless you want the coordinator to try to queue frames until a sleeping end-node wakes up and polls.