Thread Joiner cannot find commissioner network

Hi all,

I have one program that starts and sets up a commissioner and another that starts a joiner and tries to join the commissioner's network. However, after starting the commissioner and calling otJoinerStart through Openthread's API, the joiner gives error 23 (not found) indicating that it can't find the network. 

I have set the network key, PAN ID, extPAN ID, and channel so I'm not sure where I went wrong.

Here are some basic logs of this error occurring.

On commissioner: 

<info> app: Device joined the Thread network.
<info> app: Commissioner state: Petitioning
<info> app: Commissioner started successfully.
<info> app: Commissioner state: Active
<info> app: Joiner added successfully, awaiting joiner devices.
<info> app: State changed! Flags: 0x00800201 Current role: 4


On Joiner:

<info> app: State changed! 0
<info> app: Joiner failed to join: 23
<info> app: State changed! Flags: 0x0800000B Current role: 0

Please not that the joiner device is not yet attached to a network and will do so after discovering the existing network started by the commissioner.

Thanks,
Glen

  • Hi,

    I've verified the network parameters, and they seem to be consistent with each other.

    Joiner:

    <info> app: Thread Network Information:
    <info> app: Network Key:
    <info> app: 44
    <info> app: 42
    <info> app: 46
    <info> app: 41
    <info> app: 45
    <info> app: 35
    <info> app: 33
    <info> app: 39
    <info> app: 44
    <info> app: 35
    <info> app: 45
    <info> app: 37
    <info> app: 39
    <info> app: 32
    <info> app: 31
    <info> app: 35
    <info> app: PAN ID: 0xABCD
    <info> app: Extended PAN ID: 0x000000002000E048
    <info> app: Channel: 11


    Comissioner:
    <info> app: Thread Network Information:
    <info> app: Network Key:
    <info> app: 44
    <info> app: 42
    <info> app: 46
    <info> app: 41
    <info> app: 45
    <info> app: 35
    <info> app: 33
    <info> app: 39
    <info> app: 44
    <info> app: 35
    <info> app: 45
    <info> app: 37
    <info> app: 39
    <info> app: 32
    <info> app: 31
    <info> app: 35
    <info> app: PAN ID: 0xABCD
    <info> app: Extended PAN ID: 0x000000002000E048
    <info> app: Channel: 11



    Is there any other parameter that I need to be setting that may be causing this issue?

  • Hi Glen,

    Have you added the Joiner entry with the device-specific pre-shared key (PSKd) on the commissioner? You can do so using otCommissionerAddJoiner() or otCommissionerAddJoinerWithDiscerner().
    OpenThread CLI - Commissioning shows how to commission using joiner with CLI commands. You can find implementations of the CLI commands and, therefore, which functions are used and how they are used in modules/lib/openthread/src/cli/cli_commissioner.cpp and modules/lib/openthread/src/cli/cli_joiner.cpp. You can also find more information about the commissioning process in our documentation OpenThread commissioning.

    Best regards,
    Marte

  • Hi Marte,

    Yes I have assigned the same PSKd for both devices when starting the commissioner and starting the Joiner device. I must add that I am not using the eui64 of the joiner devices when starting the commissioner and that I allow any joiner device to join by using the wildcard.

    Thanks,
    Glen

  • Hi Glen,

    I was able to use wildcard when using the CLI commands, so that should work. Can you collect a sniffer log of when the device tries to join? If you have an additional nRF52840 DK or dongle, you can use our nRF Sniffer for 802.15.4.

    Can you also share how you call the commissioner and joiner functions?

    Best regards,
    Marte

Related