This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compiler/LAUNCHXL-CC1352P: OTBR-GUI web commissioning fails

Part Number: LAUNCHXL-CC1352P

Tool/software: TI C/C++ Compiler

STEPS:

1. I connected my mobile to the border router GUI (192.168.1.2) and successfully formed a thread network with the connected CC1352_P2 board (leader NCP device).

2. When I go to the Commission page, and key in network passphrase and Joiner PSKd, the commission operation fails.

Below are the logs from Leader (NCP device):

> dataset
Active Timestamp: 1
Channel: 14
Channel Mask: 0x07fff800
Ext PAN ID: 1111111122222222
Mesh Local Prefix: fd2f:abe9:ed6d:9c06::/64
Master Key: 00112233445566778899aabbccddeeff
Network Name: OpenThreadDemogg
PAN ID: 0x1234
PSKc: 1050a85d8f4b088ff44473b55dabdf8e
Security Policy: 0, onrcb
Done


> ifconfig
up
Done


> state
leader
Done


> router table
| ID | RLOC16 | Next Hop | Path Cost | LQ In | LQ Out | Age | Extended MAC |
+----+--------+----------+-----------+-------+--------+-----+------------------+
| 45 | 0xb400 | 63 | 0 | 0 | 0 | 0 | 82885ee5d18e9b3e |

Done


> extaddr
82885ee5d18e9b3e
Done


> child table
| ID | RLOC16 | Timeout | Age | LQ In | C_VN |R|D|N| Extended MAC |
+-----+--------+------------+------------+-------+------+-+-+-+------------------+

Done

Also, I would like to know which one and what is the purpose of network passphrase, master key, PSKc, and PSKd. 

  • Hi,

    This command on the web ui is equivalent to setting the commissioning credential, setting the PSKd of joining devices (using * as EUI), and starting the commissioner on the border router.

    The message shown here is a bit misleading, since you can actually join a device which has PSKd of "Joiner PSKd".
    Consider modifying the wpan_service.cpp file (in the ot-br-posix directory) to correct this (i.e. compare how WpanService::HandleFormNetworkRequest sets the response vs how WpanService::HandleCommission sets it).
    Also, for the value of "Joiner PSKd", I recommend using values allowed in the spec (uppercase alphanumeric characters 0-9, A-Y (excluding I, O, Q, and Z for readability)), length of 6-32.

    Ganesh Ram Pamadi said:
    Also, I would like to know which one and what is the purpose of network passphrase, master key, PSKc, and PSKd. 

    Network passphrase is equivalent to "commissioning credential", and can be thought of as the network admin password. A commissioner must know this value.

    Master Key is used for purpose of securing/encrypting packets sent through the network.

    PSKc (preshared key for commissioner) is a key (derived based on commissioning credential), and used to establish commissioner session (i.e. used for secure session necessary to become active commissioner).

    PSKd (preshared key for device) is used by joining device to join the network (once PSKd has been entered into network through commissioner).

    These values are detailed further in the Thread spec, which you can request access to here: https://www.threadgroup.org/ThreadSpec .

    Regards,

    Toby

  • You can refer to and try to use CLI command to do commissioning.

  • Thank you for the detailed explanation.

     

    From the OTBR web Commission GUI, I keyed in Network Passphrase: 12345678 and Joiner PSKd as JO1NME2

    I am still getting the same error as in image 2, Commission operation is failed.

    However, interestingly, the commissioner becomes activated in the NCP leader (also verified HTTP 200 response with proper data being sent to the backend). But the other nodes are NOT able to join the network when I give the joiner start J01NME2 CLI command.

     

    So in order to make the other nodes join the NCP leader, I have to first explicitly give this command in NCP leader: commissioner joiner add * J01NME2, then followed by joiner start J01NME2 CLI command in the router nodes.

     

    Can you please confirm if there are any steps missing?

  • Thanks Chen.

    I went through your blog and it was very useful!

    However, it only shows CLI method of commissioning and not GUI-based. Please let me know if you had a chance to do commissioning via GUI page (2nd screenshot). 

  • I also see GUI commission doesn’t work when I test it last time and that’s why I suggest using CLI commission. I haven’t have time to check why it doesn’t work but you can try to raise an issue on OTBR GitHub repository.

  • Thanks for confirming, Chen.