Part Number: CC2531
Other Parts Discussed in Thread: Z-STACK, Z-STACK-ARCHIVE
Hi!
I try to debug a connection problem we have sometimes.
A router looses the connection and do not come back for en hour/a day or more. I can see it keeps trying to join but it does not get the Transport key.
Router_P1 and Router_P2 have the coordinator as parent.
Router_C joined the net with Router_P1 as parent.
Everything is fine and working.
If Router_C has a short power fail it joins the network most of the time with Router_P1 as parent and everything works again. This is expected because Router_P1 is much closer to Router_C.
But sometimes Router_C gets no beacon from Router_P1 during joining but from Router_P2. Therefore it joins via Router_P2 instead.
I can see in TIs packet sniffer that:
- Router_C gets an Association Response packet from Router_P2 and sends an ACK. Router_C is therefore en unauth child of Router_P2.
- The Coordinator gets an Update Device packet from Router_P2 and sends an ACK.
- The coordinator sends the Transport key to Router_P2 including a tunnel command with Router_C as end destination.
- Router_P2 ACKs the Transport key packet.
So long is everything fine and works as expected.
Router_C is an unauth child of Router_P2 so I expect that Router_P2 sends the received Transport key directly to Router_C.
But this does not happen. Router_P2 sends the Transport key to Router_P1 instead. Router_P1 does not know what to do with the packet and discards it.
Router_C gets a timeout after 10 sec and restart the join procedure.
My questions:
- The packet has right address information on the Zigbee-NWK layer (dest: 0xe9dd) but has wrong address information on the IEEE-MAC layer (dest: 0x7463). Why is this so?
- Is this a known problem?
- Why is Router_P2 sending the packet to Router_P1 instead?
- Is the neighbor or routing table defect on Router_P2?
- It seems the routing? decision is done in the OSAL. Is it possible to get debug from this layer?
- How can I debug this further?
Coordinator 0x0000
Router_P1 0x7463
Router_P2 0x0ec2
Router_C 0xe9dd
Thanks in advance
Thomas
