Some questions about Child Supervision

I am using nrf52833 to make a Thread end device as SED and RCP. All firmware versions use NCS V1.8.0.

The compilation options for OTBR is:
CMAKE_OPTIONS += \
-DOT_THREAD_VERSION="1.2" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_TESTING=OFF \
-DOT_READLINE=OFF \
-DOTBR_MDNS=OFF \
-DOT_CHILD_SUPERVISION=ON \
-DOT_POSIX_SETTINGS_PATH="\"/usr/lib/thread\"" \
-DOTBR_OPENWRT=ON

The RCP firmware code path is nrf\samples\openthread\coprocessor.

SED and RCP add CONFIG_OPENTHREAD_CHILD_SUPERVISION=y in prj.config, and define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE as 1 in the openthread/src/core/config/child_supervision.h file
All other options use the default values:
#define OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT 170
#define OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL 129

I use the sniffer to capture packets during the process to observe.I noticed that if there is no transmission to the child within the supervision intervalthe ,OTBR would not send a supervision message to child.

Fortunately, the child supervision functioning is normal on SED: SED initiates the re-attach process when it not hear from its parent within the specified timeout interval.

Addresses of OTBE is:
fd11:22:0:0:2da2:4c5d:7782:e9fd
fdb4:c194:4e7d:12c7:0:ff:fe00:fc00
fdb4:c194:4e7d:12c7:0:ff:fe00:7000
fdb4:c194:4e7d:12c7:5c06:a2d9:ba14:3838
fe80:0:0:0:64a4:f937:a29:c5f2

In addition, the sniffer caught child_supervision.pcap and OTBR corresponding output logs, but the packet was not seen in the captured packet at the time when OTBR prompted the packet to be sent.

child_supervision.pcap

Mon Dec 27 14:45:58 2021 user.info otbr-agent[3703]: 00:10:44.962 [INFO]-PLAT----: > childsupervision interval
Mon Dec 27 14:45:58 2021 user.notice otbr-agent[3703]: 00:10:44.962 [NOTE]-CLI-----: Input: childsupervision interval
Mon Dec 27 14:45:59 2021 user.info otbr-agent[3703]: 00:10:46.098 [INFO]-PLAT----: > childsupervision interval
Mon Dec 27 14:45:59 2021 user.notice otbr-agent[3703]: 00:10:46.098 [NOTE]-CLI-----: Input: childsupervision interval
Mon Dec 27 14:48:04 2021 user.info otbr-agent[3703]: 00:12:51.238 [INFO]-UTIL----: Sending supervision message to child 0x7003
Mon Dec 27 14:48:18 2021 user.info otbr-agent[3703]: 00:13:05.188 [INFO]-PLAT----: > childsupervision interval
Mon Dec 27 14:48:18 2021 user.notice otbr-agent[3703]: 00:13:05.188 [NOTE]-CLI-----: Input: childsupervision interval
Mon Dec 27 14:51:14 2021 user.info otbr-agent[3703]: 00:16:01.182 [INFO]-UTIL----: Sending supervision message to child 0x7003
Mon Dec 27 14:54:24 2021 user.info otbr-agent[3703]: 00:19:11.171 [INFO]-UTIL----: Sending supervision message to child 0x7003

I met some problems.
1.What is the relationship between child supervision and the OPENTHREAD_CONFIG_MLE_CHILD_TIMEOUT_DEFAULT function? Is it a low-power alternative?
2.Why does the function of Child Supervision not take effect on OTBR and RCP? Could you please tell me which configuration items need to be enabled?
3.If the OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST option is enabled, does that mean the SED is receiving the message from the OTBR and does not need to respond with an ACK?

Thanks in advance.

Best,

tao

Parents Reply Children
No Data
Related