diff --git a/source/6LoWPAN/Thread/thread_common.h b/source/6LoWPAN/Thread/thread_common.h index acc93055465..382e15a6b6a 100644 --- a/source/6LoWPAN/Thread/thread_common.h +++ b/source/6LoWPAN/Thread/thread_common.h @@ -70,9 +70,9 @@ extern uint16_t thread_joiner_port; typedef enum { THREAD_STATE_NETWORK_DISCOVER, // Not commissioned to Thread network - THREAD_STATE_REATTACH, // Connected to thread network, searching for better partition - THREAD_STATE_REATTACH_RETRY, // Connected to thread network, searching for better partition with REED bit is set - THREAD_STATE_ATTACH_ANY, // Connected to thread network, searching for all partitions with leader connectivity + THREAD_STATE_REATTACH, // Connection to leader lost, searching for new parent + THREAD_STATE_REATTACH_RETRY, // Connection to leader lost, searching for new parent with REED bit is set + THREAD_STATE_ATTACH_ANY, // Searching for all partitions with leader connectivity THREAD_STATE_CONNECTED, // Attached to Thread network - can't route THREAD_STATE_CONNECTED_ROUTER, // Attached to Thread network - Routing enabled } thread_attach_state_e; diff --git a/source/6LoWPAN/Thread/thread_host_bootstrap.c b/source/6LoWPAN/Thread/thread_host_bootstrap.c index e68f1480e88..9f5e5bd5dc1 100644 --- a/source/6LoWPAN/Thread/thread_host_bootstrap.c +++ b/source/6LoWPAN/Thread/thread_host_bootstrap.c @@ -230,7 +230,9 @@ static int thread_parent_request_build(protocol_interface_info_entry_t *cur) } if (cur->thread_info->thread_attached_state == THREAD_STATE_REATTACH || - cur->thread_info->thread_attached_state == THREAD_STATE_REATTACH_RETRY) { + cur->thread_info->thread_attached_state == THREAD_STATE_REATTACH_RETRY || + cur->thread_info->thread_attached_state == THREAD_STATE_CONNECTED || + cur->thread_info->thread_attached_state == THREAD_STATE_CONNECTED_ROUTER) { // When doing re-attach End devices are immediately accepted as parents scanMask |= 0x40; }