Other Parts Discussed in Thread: Z-STACK
Hi everyone!
I'm working with a Z-Stack 1.2.1 to program a group of devices that communicates in mesh network one with each other. In this group of devices there is a strong possibility of changing locations. Which to continue to communicate without fail and without problems need to make changes in routing in unicast communications.
As I already detected some problems and failures in the consistency in the triggering of the routing request when a communication fails, I decided to force a routing request, to the target device when at the application layer, in the event AF_DATA_CONFIRM_CMD, I receive a failure status in the delivery of the message.
Basically, what I do, is to call the function Status = NLME_RouteDiscoveryRequest (RREQdstAddr, 0x00, 0x0F), with the parameters RREQdstAddr, with the address of the device for who the communication failed, the options parameter at 0x00 (routing request in unicast) and with a radius at 15.
When this function is called, the source device broadcasts the message but does not get any router response from any device.
As an example of what I am reporting, I have created a network with 5 router devices and a coordinator. I create network and fixed devices in strategic locations. After the network stabilizes and all communication routes from the routers to the coordinator and vice versa are defined, move the device closer to the coordinator to the farthest place so that it is necessary to resort to jumps to communicate with the device. After a few minutes of waiting, in order for the new handset's neighboring devices to detect it, I forced an communication from coordinator to moved router.
The following image shows a collection performed by the packet sniffer to demonstrate the message sequence exchanged. Between packet 6 and packet 13 we can see the direct communication attempts of the coordinator (0x0000) to communicate with the moved device (0x229C), making the two retries and in the end sending a routing request, from which we did not obtain any response of any device!
I can't understand why the neighborhood coordinator device, don't broadcast and response at the routing request , trying to help it to defines a new route for the moved device.
Please someone can help me?
Best regards
Nalves