This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

ot-ctl command not found

Hi all, 

I'm using Raspberry Pi with Nordic dongle and flashed the Nordic Alpha 4.1.0.1 image to make it as BorderRouter in NCP design.

I have EFR32device and have flashed the ot-cli-ftd to device and can see EUI64 from the end device.

Inorder to commission the device to the network, I need to commission from Raspberry using ot-ctl commissioner commands, but when I'm trying that command showing as ot-ctl : Command not found  tried with Commissioning App and it didn't work.  can see the path for more information EFR32-commissioning

Need help on commissioning the device into network.

Parents
  • Hi,

    ot-ctl is a command-line utility provided with OTBR, this is not the same as the Raspberry Pi Thread border router image we provide. 

    For commissioning with our border router solution you can follow the instructions in Configuring with the wpantund.

    Best regards,
    Jørgen

  • Wpantund talks directly with the NCP through Spinel protocol, there is no need for additional dongles or CLI examples.

    If you have already extracted the EUI64 from the EFR32 device, you can follow steps 2-3 in Performing on-mesh commissioning to start commissioner and add the joining device EUI64 in the border router. Then you need to start the joiner in EFR32 with the same pre-shared key to obtain network credentials to join the network.

  • Thanks for the support and be able to execute 2 & 3 step successfully.

    On executing step 4 getting output as join failed

    At step 3 I have used EUI64 from EFR32 and time out 100 and Pskd : J01NME

    What might be the issue?

  • Did you start the joiner on the EFR32 with Pskd="J01NME"?

    The commands on the EFR32 should be similar to step 4.2 in your linked guide, if you are running the ot-cli-ftd from OpenThread.

  • Yes, I have started Joiner from EFR32 with J01NME pskd
    Guess you're mentioning about the steps from the image mentioned above.
    and have changed channel to 15 and master key as 00112233445566778899aabbccddeeff and PAN ID to 0xabcd. 
      
    tried with the leader steps also, but showing the same result as joiner failed [ not found]
  • Can you post the exact inputs and output from your CLI device and from the border router/wpantund, from device reset until the commissioning fails?

  • From RaspberryPi

    pi@raspberrypi:~$ sudo wpanctl commissioner start
    Commissioner started
    pi@raspberrypi:~$ sudo wpanctl commissioner joiner-add 000d6ffffe20b1de 100 J01NME
    Added Joiner 00:0D:6F:FF:FE:20:B1:DE, timeout:100, PSKd:"J01NME"
    pi@raspberrypi:~$ sudo wpanctl status
    wpan0 => [
    "NCP:State" => "associated"
    "Daemon:Enabled" => true
    "NCP:Version" => "OPENTHREAD/20191113-00534-gc6a258e3; NRF52840; Apr 5 2020 21:51:18"
    "Daemon:Version" => "0.08.00d (; Apr 21 2020 19:11:43)"
    "Config:NCP:DriverName" => "spinel"
    "NCP:HardwareAddress" => [F4CE36044564DFBC]
    "NCP:Channel" => 15
    "Network:NodeType" => "leader"
    "Network:Name" => "OpenThreadDemo"
    "Network:XPANID" => 0x1111111122222222
    "Network:PANID" => 0x1234
    "IPv6:LinkLocalAddress" => "fe80::a435:a4d2:fc6a:73e3"
    "IPv6:MeshLocalAddress" => "fd11:1111:1122:0:cf91:cca6:78ef:b935"
    "IPv6:MeshLocalPrefix" => "fd11:1111:1122::/64"
    "com.nestlabs.internal:Network:AllowingJoin" => false
    ]
    pi@raspberrypi:~$

    for EFR32 in Simplicity studio Console

    ifconfig up
    ifconfig up
    Done
    >
    >
    >
    > thread start
    thread start
    Done
    >
    >
    >
    > state
    state
    detached
    Done
    >
    >
    >
    > state
    state
    leader
    Done
    >
    >
    >
    > dataset
    dataset
    Done
    >
    >
    >
    > joiner start J01NME
    joiner start J01NME
    Done
    >
    >
    >
    > Join failed [NotFound]


    >
    >
    >
    > state
    state
    leader
    Done
    >
    >
    >
    > dataset channel 15
    dataset channel 15
    Done
    >
    >
    >
    > dataset masterkey 00112233445566778899aabbccddeeff
    dataset masterkey 00112233445566778899aabbccddeeff
    Done
    >
    >
    >
    > dataset commit active
    dataset commit active
    Done
    >
    >
    >
    > ifconfig up
    ifconfig up
    Done
    >
    >
    >
    > joiner start J01NME
    joiner start J01NME
    Done
    >
    >
    >
    > Join failed [NotFound]


    >
    >
    >
    > dataset init new
    dataset init new
    Done
    >
    >
    >
    > dataset commit active
    dataset commit active
    Done
    >
    >
    >
    > ifconfig up
    ifconfig up
    Done
    >
    >
    >
    > thread start
    thread start
    Done
    >
    >
    >
    > joiner start J01NME
    joiner start J01NME
    Done
    >
    >
    >
    > Join failed [NotFound]


    >
    >
    >
    > dataset
    dataset
    Active Timestamp: 1
    Channel: 12
    Channel Mask: 07fff800
    Ext PAN ID: c4d649d770da2440
    Mesh Local Prefix: fd80:5e5e:bcd0:474b/64
    Master Key: 2dfe05ec3e296fb39ed6cc22c1c9f721
    Network Name: OpenThread-6d95
    PAN ID: 0x6d95
    PSKc: 035a79604e0ef7ea1304c511f98039b9
    Security Policy: 0, onrcb
    Done
    >
    >
    >
    > dataset channel 15
    dataset channel 15
    Done
    >
    >
    >
    > dataset masterkey 00112233445566778899aabbccddeeff
    dataset masterkey 00112233445566778899aabbccddeeff
    Done
    >
    >
    >
    > dataset panid 0x1234
    dataset panid 0x1234
    Done
    >
    >
    >
    > dataset networkname O
    penThreadDemodataset networkname penThreadDemoO
    Done
    >
    >
    >
    > dataset
    dataset
    Active Timestamp: 1
    Channel: 15
    Channel Mask: 07fff800
    Ext PAN ID: c4d649d770da2440
    Mesh Local Prefix: fd80:5e5e:bcd0:474b/64
    Master Key: 00112233445566778899aabbccddeeff
    Network Name: penThreadDemoO
    PAN ID: 0x1234
    PSKc: 035a79604e0ef7ea1304c511f98039b9
    Security Policy: 0, onrcb
    Done
    >
    >
    >
    > dataset extpanid 0x1111111122222222
    dataset extpanid 0x1111111122222222
    Error 7: InvalidArgs
    >
    >
    >
    > dataset
    dataset
    Active Timestamp: 1
    Channel: 15
    Channel Mask: 07fff800
    Ext PAN ID: c4d649d770da2440
    Mesh Local Prefix: fd80:5e5e:bcd0:474b/64
    Master Key: 00112233445566778899aabbccddeeff
    Network Name: penThreadDemoO
    PAN ID: 0x1234
    PSKc: 035a79604e0ef7ea1304c511f98039b9
    Security Policy: 0, onrcb
    Done
    >
    >
    >
    > dataset commit active
    dataset commit active
    Done
    >
    >
    >
    > ifconfig up
    ifconfig up
    Done
    >
    >
    >
    > Joiner start J01NME
    Joiner start J01NME
    Error 35: InvalidCommand
    >
    >
    >
    > joiner start J01NME
    joiner start J01NME
    Done
    >
    >
    >
    > Join failed [NotFound]

Reply
  • From RaspberryPi

    pi@raspberrypi:~$ sudo wpanctl commissioner start
    Commissioner started
    pi@raspberrypi:~$ sudo wpanctl commissioner joiner-add 000d6ffffe20b1de 100 J01NME
    Added Joiner 00:0D:6F:FF:FE:20:B1:DE, timeout:100, PSKd:"J01NME"
    pi@raspberrypi:~$ sudo wpanctl status
    wpan0 => [
    "NCP:State" => "associated"
    "Daemon:Enabled" => true
    "NCP:Version" => "OPENTHREAD/20191113-00534-gc6a258e3; NRF52840; Apr 5 2020 21:51:18"
    "Daemon:Version" => "0.08.00d (; Apr 21 2020 19:11:43)"
    "Config:NCP:DriverName" => "spinel"
    "NCP:HardwareAddress" => [F4CE36044564DFBC]
    "NCP:Channel" => 15
    "Network:NodeType" => "leader"
    "Network:Name" => "OpenThreadDemo"
    "Network:XPANID" => 0x1111111122222222
    "Network:PANID" => 0x1234
    "IPv6:LinkLocalAddress" => "fe80::a435:a4d2:fc6a:73e3"
    "IPv6:MeshLocalAddress" => "fd11:1111:1122:0:cf91:cca6:78ef:b935"
    "IPv6:MeshLocalPrefix" => "fd11:1111:1122::/64"
    "com.nestlabs.internal:Network:AllowingJoin" => false
    ]
    pi@raspberrypi:~$

    for EFR32 in Simplicity studio Console

    ifconfig up
    ifconfig up
    Done
    >
    >
    >
    > thread start
    thread start
    Done
    >
    >
    >
    > state
    state
    detached
    Done
    >
    >
    >
    > state
    state
    leader
    Done
    >
    >
    >
    > dataset
    dataset
    Done
    >
    >
    >
    > joiner start J01NME
    joiner start J01NME
    Done
    >
    >
    >
    > Join failed [NotFound]


    >
    >
    >
    > state
    state
    leader
    Done
    >
    >
    >
    > dataset channel 15
    dataset channel 15
    Done
    >
    >
    >
    > dataset masterkey 00112233445566778899aabbccddeeff
    dataset masterkey 00112233445566778899aabbccddeeff
    Done
    >
    >
    >
    > dataset commit active
    dataset commit active
    Done
    >
    >
    >
    > ifconfig up
    ifconfig up
    Done
    >
    >
    >
    > joiner start J01NME
    joiner start J01NME
    Done
    >
    >
    >
    > Join failed [NotFound]


    >
    >
    >
    > dataset init new
    dataset init new
    Done
    >
    >
    >
    > dataset commit active
    dataset commit active
    Done
    >
    >
    >
    > ifconfig up
    ifconfig up
    Done
    >
    >
    >
    > thread start
    thread start
    Done
    >
    >
    >
    > joiner start J01NME
    joiner start J01NME
    Done
    >
    >
    >
    > Join failed [NotFound]


    >
    >
    >
    > dataset
    dataset
    Active Timestamp: 1
    Channel: 12
    Channel Mask: 07fff800
    Ext PAN ID: c4d649d770da2440
    Mesh Local Prefix: fd80:5e5e:bcd0:474b/64
    Master Key: 2dfe05ec3e296fb39ed6cc22c1c9f721
    Network Name: OpenThread-6d95
    PAN ID: 0x6d95
    PSKc: 035a79604e0ef7ea1304c511f98039b9
    Security Policy: 0, onrcb
    Done
    >
    >
    >
    > dataset channel 15
    dataset channel 15
    Done
    >
    >
    >
    > dataset masterkey 00112233445566778899aabbccddeeff
    dataset masterkey 00112233445566778899aabbccddeeff
    Done
    >
    >
    >
    > dataset panid 0x1234
    dataset panid 0x1234
    Done
    >
    >
    >
    > dataset networkname O
    penThreadDemodataset networkname penThreadDemoO
    Done
    >
    >
    >
    > dataset
    dataset
    Active Timestamp: 1
    Channel: 15
    Channel Mask: 07fff800
    Ext PAN ID: c4d649d770da2440
    Mesh Local Prefix: fd80:5e5e:bcd0:474b/64
    Master Key: 00112233445566778899aabbccddeeff
    Network Name: penThreadDemoO
    PAN ID: 0x1234
    PSKc: 035a79604e0ef7ea1304c511f98039b9
    Security Policy: 0, onrcb
    Done
    >
    >
    >
    > dataset extpanid 0x1111111122222222
    dataset extpanid 0x1111111122222222
    Error 7: InvalidArgs
    >
    >
    >
    > dataset
    dataset
    Active Timestamp: 1
    Channel: 15
    Channel Mask: 07fff800
    Ext PAN ID: c4d649d770da2440
    Mesh Local Prefix: fd80:5e5e:bcd0:474b/64
    Master Key: 00112233445566778899aabbccddeeff
    Network Name: penThreadDemoO
    PAN ID: 0x1234
    PSKc: 035a79604e0ef7ea1304c511f98039b9
    Security Policy: 0, onrcb
    Done
    >
    >
    >
    > dataset commit active
    dataset commit active
    Done
    >
    >
    >
    > ifconfig up
    ifconfig up
    Done
    >
    >
    >
    > Joiner start J01NME
    Joiner start J01NME
    Error 35: InvalidCommand
    >
    >
    >
    > joiner start J01NME
    joiner start J01NME
    Done
    >
    >
    >
    > Join failed [NotFound]

Children
  • You should not need to do any dataset commands on the CLI device that will join the network. The purpose of the commissioning process is to provide the node with the required network information to allow it to attach to the established network. 

    If is possible that the EUI64 from the EFR32 device is using a different endianness than the NCP/wpantund. Can you try adding a "wildcard device" to the commissioner, to allow any devices to join?

    sudo wpanctl commissioner joiner-add "*" 100 J01NME

    If you can also do a factory reset on the CLI device, and try only these commands:

    eui64
    
    ifconfig up
    
    joiner start N0RD1C
    

    If this does not work, you may need to ask Silicon Labs why their device is not able to join the network/get commissioned.

Related