Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix thread commissioning fail where there are many Thread Border Rout…
…ers (#23492) Matter Commissioner sometimes fails to commission Matter Thread Device where there are many Thread Border Routers. Specifically, in order to connect the Matter Thread Device to the Thread Border Router during the commissioning process, the Matter Commissioner sends Thread ScanNetworks command to the Matter Thread Device. However, no matter how many times Matter Commissioner requests ScanNetworks, there is no Thread Border Router it wants to connect to in the response, so the commissioning has failed. According to the message size requirements of the Matter specification document, the maximum length of a Service Data Unit is 1024 bytes. Since Thread ScanNetworks' responses have to be stored in it, network commissioing cluster only stores 15 of them. Therefore, Thread Device sends only 15 of the scan results in response to Thread ScanNetworks command, and the scan result list contains duplicate items and is used without sorting. There were about 50 items in scan result list on the problem situation, and they were sorted in ascending order by channel. And the channel of the Thread Border Router it wants to connect to is the largest number, so it is not always included in the response of Thread ScanNetworks command. Accordingly, the Matter Commissioner determined that the Matter Device did not discover the Thread Border Router it wants to connect to, and the commissioning failed. This commit changes the Thread Scan result list in two ways. First, it prevents the addition of duplicate items in the list. Next, sort the list in ascending order based on RSSI. The reason for using RSSI is that where there are many Thread Border Routers, it is reasonable to expect that users will start commissioning close to the Thread Border Routers they want Thread Devices to connect to. Signed-off-by: Youngho Yoon <[email protected]> Signed-off-by: Charles Kim <[email protected]> Signed-off-by: Hunsup <[email protected]> Signed-off-by: sanghyukko <[email protected]> Signed-off-by: Jaehoon You <[email protected]>
- Loading branch information