certification-tool icon indicating copy to clipboard operation
certification-tool copied to clipboard

[Bug] [TH Version: v2.14-beta2.1+fall2025_fe_fix] TC-CNET-4.12 fails during commissioning step

Open Yinxq opened this issue 4 months ago • 2 comments

Describe the bug

Hi, I am currently testing TC-CNET-4.12. Following the test procedure, I have set up two Thread networks on a Raspberry Pi by connecting two RCPs. However, the commissioning failed from the start.

Steps to reproduce the behavior

  1. Create Docker Networks
sudo docker network create --ipv6 --subnet fd11:db8:1::/64 -o com.docker.network.bridge.name=otbr0 otbr
sudo docker network create --ipv6 --subnet fd11:db9:1::/64 -o com.docker.network.bridge.name=otbr20 otbr2
  1. Configure Parameters
sudo sysctl net.ipv6.conf.otbr0.accept_ra_rt_info_max_plen=128
sudo sysctl net.ipv6.conf.otbr0.accept_ra=2
sudo sysctl net.ipv6.conf.otbr20.accept_ra_rt_info_max_plen=128
sudo sysctl net.ipv6.conf.otbr20.accept_ra=2
  1. Run Border Routers
sudo docker run -it --rm --privileged --network otbr -p 8080:80 --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv6.conf.all.forwarding=1" --name otbr -e NAT64=0 --volume /dev/ttyACM0:/dev/ttyACM0 nrfconnect/otbr:9185bda --radio-url spinel+hdlc+uart:///dev/ttyACM0
sudo docker run -it --rm --privileged --network otbr2 -p 8081:80 --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv6.conf.all.forwarding=1" --name otbr_2 -e NAT64=0 --volume /dev/ttyACM1:/dev/ttyACM1 nrfconnect/otbr:9185bda --radio-url spinel+hdlc+uart:///dev/ttyACM1
  1. Form the Networks I accessed myipaddr:8080/ and myipaddr:8081/ to form the respective Thread networks and obtained the datasets for both Thread networks using docker exec -ti otbr ot-ctl dataset active -x and docker exec -ti otbr_2 ot-ctl dataset active -x.
  2. Test TC-CNET-4.12 using Python inside Docker
docker run -v /var/credentials:/credentials -v /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket -v /home/ubuntu/certification-tool/backend/test_collections/matter/sdk_tests/sdk_checkout/python_testing:/root/python_testing -v $(pwd):/launch_dir --privileged --network host -it connectedhomeip/chip-cert-bins:a82e43e06e35c707f9016c38ee83712c2ab58966-patch

python3 TC_CNET_4_12.py --commissioning-method ble-thread -d <discriminator> -p 20202021 --thread-dataset-hex <thread-data-set_1> --string-arg PIXIT.CNET.THREAD_2ND_OPERATIONALDATASET:<thread-data-set_2> --endpoint 0

Here is my analysis:

  • Packet Capture: From the packet capture, it's clear that the device successfully received the Child ID Response from the OTBR and also successfully sent a DNS-SD message.
Image
  • OTBR Log: In the OTBR log, it shows that the OTBR successfully added this new service and sent a packet with checksum 21b8 (which corresponds to packet 43 in the capture, a Dynamic Update Response).
Image
  • Test Harness Log: According to the test harness log, it indicates that a Sigma1 message was sent. However, this packet was not found in either the packet capture or the OTBR log. It seems that the packet failed to be sent out through the OTBR.
Image

Expected behavior

No response

Log files

python_inside_docker_log.zip

key: 00112233445566778899aabbccddee11

PICS file

No response

Screenshots

No response

Environment

No response

Additional Information

No response

Yinxq avatar Sep 25 '25 04:09 Yinxq

I may investigate this one but unfortunately I don't have two RCPs to reproduce this problem. @cecille Did you had the time to take a look into this?

antonio-amjr avatar Oct 13 '25 13:10 antonio-amjr

Hi @Yinxq,

I faced no problem with the configuration above while running TC_CNET_4_12 and it seems to work, so maybe there's something with the environment or the DUT. The SDK container I'm used is the latest (connectedhomeip/chip-cert-bins:f902839abf1de0d17956de34889b6ad997e2c5e4), so please try again with that version just to make sure it's something already solved. You can also try incremental configuration, by first trying to configure just one network, run another test (or the same knowing that will fail in the second network step) and see if there's something odd with the environment.

Since the commissioning error happens before even starting the test in your case (and that I don't own a second RCP dongle), I followed all the above steps mentioned to prepare the environment (manually created the docker networks, configured both parameters, created both OTBR dockers (even without the second dongle), formed the Thread Network with the web app (image attached), noted the dataset, started SDK container and ran the TC_CNET_4_12).

Image

I'm attaching as well the log from my execution: cnet_4_12_pass_manual_otbr.txt

Let me know if I can help further. Thanks

antonio-amjr avatar Oct 20 '25 18:10 antonio-amjr