Right. Well, the original packet now looks fine. Here’s what packet-check says about it:
[john@henry ~]$ packet-check -api2
API Packet analyzer version 1.5 for XBees (802.15.4, DigiMesh, ZNet, ZB)
Escape characters enabled (AP=2)
Note: if it prompts for more bytes and you're done, hit return
Enter packet: 7E 00 12 10 01 00 7D 33 A2 00 40 61 50 00 FF FE 00 00 CC CC 00 7D 33 A0
Original packet: 7E 00 12 10 01 00 7D 33 A2 00 40 61 50 00 FF FE 00 00 CC CC 00 7D 33 A0
Unescaped packet: 7E 00 12 10 01 00 13 A2 00 40 61 50 00 FF FE 00 00 CC CC 00 13 A0
7E // Correct packet header byte
00 12 // payload length (decimal 18)
10 // Packet type: ZigBee transmit request
// Valid for DigiMesh, ZigBee, Znet2.5
01 // frame id: non-zero so response packet expected
00 13 A2 00 40 61 50 00 // 64-bit destination address
FF FE // 16-bit destination address
00 // Broadcast radius (decimal 0)
00 // Options:
// TX data (4 bytes) [1]
CC // transmitted data
CC // transmitted data
00 // transmitted data NUL
13 // transmitted data DC3
A0 // checksum - correct
Notes:
[1] Max 100 bytes on 802.15.4, or 72 on DigiMesh or ZNet2.5
And here’s what packet-check says about your second packet:
[john@henry ~]$ packet-check -api2
API Packet analyzer version 1.5 for XBees (802.15.4, DigiMesh, ZNet, ZB)
Escape characters enabled (AP=2)
Note: if it prompts for more bytes and you're done, hit return
Enter packet: 7E 00 1A 10 01 00 7D 33 A2 00 40 68 6D C3 FF FE 00 00 CC CC 00 7D 33 00 A2 40 77 80 2C 27 21 6C
Original packet: 7E 00 1A 10 01 00 7D 33 A2 00 40 68 6D C3 FF FE 00 00 CC CC 00 7D 33 00 A2 40 77 80 2C 27 21 6C
Unescaped packet: 7E 00 1A 10 01 00 13 A2 00 40 68 6D C3 FF FE 00 00 CC CC 00 13 00 A2 40 77 80 2C 27 21 6C
7E // Correct packet header byte
00 1A // payload length (decimal 26)
10 // Packet type: ZigBee transmit request
// Valid for DigiMesh, ZigBee, Znet2.5
01 // frame id: non-zero so response packet expected
00 13 A2 00 40 68 6D C3 // 64-bit destination address
FF FE // 16-bit destination address
00 // Broadcast radius (decimal 0)
00 // Options:
// TX data (12 bytes) [1]
CC // transmitted data
CC // transmitted data
00 // transmitted data NUL
13 // transmitted data DC3
00 // transmitted data NUL
A2 // transmitted data
40 // transmitted data '@'
77 // transmitted data 'w'
80 // transmitted data
2C // transmitted data ','
27 // transmitted data '''
21 // transmitted data '!'
6C // checksum - correct
Notes:
[1] Max 100 bytes on 802.15.4, or 72 on DigiMesh or ZNet2.5
So that’s a good packet. I see it has a different destination address to t he first packet: was that intentional?
For your third packet we get:
[john@henry ~]$ packet-check -api2
API Packet analyzer version 1.5 for XBees (802.15.4, DigiMesh, ZNet, ZB)
Escape characters enabled (AP=2)
Note: if it prompts for more bytes and you're done, hit return
Enter packet: 7E 00 1A 10 01 00 7D 33 A2 00 40 68 6D C3 FF FE 00 00 A2 CC CC 00 7D 33 00 40 77 80 2C 27 21 6C
Original packet: 7E 00 1A 10 01 00 7D 33 A2 00 40 68 6D C3 FF FE 00 00 A2 CC CC 00 7D 33 00 40 77 80 2C 27 21 6C
Unescaped packet: 7E 00 1A 10 01 00 13 A2 00 40 68 6D C3 FF FE 00 00 A2 CC CC 00 13 00 40 77 80 2C 27 21 6C
7E // Correct packet header byte
00 1A // payload length (decimal 26)
10 // Packet type: ZigBee transmit request
// Valid for DigiMesh, ZigBee, Znet2.5
01 // frame id: non-zero so response packet expected
00 13 A2 00 40 68 6D C3 // 64-bit destination address
FF FE // 16-bit destination address
00 // Broadcast radius (decimal 0)
00 // Options:
// TX data (12 bytes) [1]
A2 // transmitted data
CC // transmitted data
CC // transmitted data
00 // transmitted data NUL
13 // transmitted data DC3
00 // transmitted data NUL
40 // transmitted data '@'
77 // transmitted data 'w'
80 // transmitted data
2C // transmitted data ','
27 // transmitted data '''
21 // transmitted data '!'
6C // checksum - correct
Notes:
[1] Max 100 bytes on 802.15.4, or 72 on DigiMesh or ZNet2.5
So that’s another good packet, identical to the second except for the order of bytes in the transmitted data.
There’s no reason visible here why the third packet should work while the second fails.
So now I’m at a loss to make further suggestions. Maybe someone else can help?
Incidentally, if you’d like to check packets for yourself, the packet-check program (which I wrote and maintain) is available through the pinned posts at the top of the 802.15.4 forum. 802.15.4 is my “home” forum, but packet-check is written to cover all XBee models.