Frame starting with 0x80


I’ve got the following problem regarding API mode 2 data transfer.

I got coordinator connected to a linux and router on Arduino Leonardo.

From coordinator using python script I’m sendning the following data to router

xbee.send(‘tx’,dest_addr_long=DEST_ADDR_LONG, dest_addr=DEST_ADDR, data=cmdRow)

In the result the follwing frame is created and send from coordinator:

I’m receiving the following tx response:

{‘retries’: ‘\x00’, ‘frame_id’: ‘\x01’, ‘deliver_status’: ‘\x00’, ‘dest_addr’: ‘@.’, ‘discover_status’: ‘\x00’, ‘id’: ‘tx_status’}

Which suggest that the frame was delivered successfully.

Unfortunatelly on router nothing seems to bee received (Neither xbee.getResponse().isAvailable() or xbee.getResponse().isError() is true)

I started to debug Xbee library and if find out that router indeed receives frame but the frame is incorrect as it does not starts with 7e !!! I receive the following frame:

And now is the best part of my problem…

If only I connect to Coordinator using moltosenso (X-CTU like software on Linux) and issue Network Discovery and then I disconnect and try to send the same data from python script again it all works and I receive proper frame on router !!(7E:22:90:7D:A2:40:B1:89:B7:01:2:1:5:1:3:1:2:3:2:8:3:5:9:4:6:1:18:1:37)

And from now till next powering off the arduino device (with router) commincation is working between coordinator and router is working as expeted

Please note that executing ND command from python script on coordinator does not results the same. In the response of ND command I receive router data (so coordinator is discovering the router) but when after that I’m sending data in api mode the frame received on router is still starting with 0x80 so it’s wrong.

Is anybody able to help me?

Do you have this same issue if you just leave the radio connected to a PC and some sort of terminal emulator that can view Hex data?

I would like to request you to close the issue. It looks like firmware update solved the issue.