nRF Connect for Desktop fails to show passkey dialog with DK

With the Bluetooth Low Energy v3.0.1 app within nRF Connect for Desktop, if I use either the nRF52833 or nRF52840 Dev Kit boards as the scanning device it is able to connect, but the pairing process fails because it does not show the passkey entry dialog so I can enter the 6 digit key from our product.  This is the case for nRF Connect on both Windows 10 and MacOS.  The pairing settings have the MITM and Bond options set.

When I try the same thing using the old nRF51 dongle or the nRF52840 dongle for scanning and connecting, then the passkey entry dialog shows and works fine, as seen below:

This would appear to be a bug in the scanning firmware for the DK boards.

Parents
  • Hi Glen

    Thank you for your report.

    What device are you trying to connect and pair to exactly? What BLE version, features and security does it use. I'd like to know so we could try reproducing this issue on our end to try narrow down what's going wrong.

    Does the pop-up window with the passkey dialog not show up at all when using the DKs? The application should be almost identical for the nRF52840 Dongle and the DKs, so it seems strange to me that this should be an issue.

    Best regards,

    Simon

  • Hi Simon,

    I am connecting and trying to pair to an nRF52833.  This is in a product we have started manufacturing, and we have no problems pairing and bonding through our own host software.

    I agree that this is strange.  But the passkey dialog definitely does not show up all all when using the DK boards.  And I've tried this on nRF Connect for Desktop on both MacOS and Windows10.

    I've captured the raw BLE packets for the Pairing Request and response, and they are exactly the same whether I use a DK board or a dongle.  But the passkey dialog only shows when using the dongles.  With the DK boards it just shows that the pairing failed.

    Here are the BLE packets from WireShark:

    From the host/master:
    01: Opcode: Pairing Request
    04: IO Capability = Keyboard, Display
    00: OOB Data Flags = OOB Auth Data Not Present
    05: AuthReq flags = MITM, Bonding. No Keypress.
    10: Max Encryption Key Size = 16
    01: Initiator Key Distribution = Encryption Key (LTK) only, no IRK
    01: Responder Key Distribution = Encryption Key (LTK) only, no IRK
    Response from our product (nRF52833, S113):
    02: Opcode: Pairing Response
    00: IO Capability: Display Only
    00: OOB Data Flags = OOB Auth Data Not Present
    05: AuthReq flags = MITM, Bonding. No Keypress. No Secure Connection
    10: Max Encryption Key Size = 16
    01: Initiator Key Distribution = Encryption Key (LTK) only, no IRK
    01: Responder Key Distribution = Encryption Key (LTK) only, no IRK
    The only difference after this is that if the passkey dialog shows and the key is entered, then further packets are sent to complete the pairing.  With the DK boards there is no dialog, and it shows that the pairing failed within a few seconds which is too fast.  When the passkey dialog shows it gives you 30 seconds to enter the key.
    This may also be helpful.  The nRF Connect log shows the following errors.  But again, this only happens if a DK ('833 or '840) board is used.  With the dongles we get the passkey dialog and no error messages.
    12:21:27.668	Error when calling replySecParams: Error: Error occured when replying sec params. Errorcode: Unknown value (0x8005)
    12:21:27.671	Received status with code 4 Unknown value, message: 'Error sending packet to target. Code: 0x802a'
    12:21:56.128	Failed to decode event, error code is 9/0x9.
    12:21:56.128	Received status with code 3 PKT_DECODE_ERROR, message: 'Failed to decode event, error code is 9/0x9.'
Reply
  • Hi Simon,

    I am connecting and trying to pair to an nRF52833.  This is in a product we have started manufacturing, and we have no problems pairing and bonding through our own host software.

    I agree that this is strange.  But the passkey dialog definitely does not show up all all when using the DK boards.  And I've tried this on nRF Connect for Desktop on both MacOS and Windows10.

    I've captured the raw BLE packets for the Pairing Request and response, and they are exactly the same whether I use a DK board or a dongle.  But the passkey dialog only shows when using the dongles.  With the DK boards it just shows that the pairing failed.

    Here are the BLE packets from WireShark:

    From the host/master:
    01: Opcode: Pairing Request
    04: IO Capability = Keyboard, Display
    00: OOB Data Flags = OOB Auth Data Not Present
    05: AuthReq flags = MITM, Bonding. No Keypress.
    10: Max Encryption Key Size = 16
    01: Initiator Key Distribution = Encryption Key (LTK) only, no IRK
    01: Responder Key Distribution = Encryption Key (LTK) only, no IRK
    Response from our product (nRF52833, S113):
    02: Opcode: Pairing Response
    00: IO Capability: Display Only
    00: OOB Data Flags = OOB Auth Data Not Present
    05: AuthReq flags = MITM, Bonding. No Keypress. No Secure Connection
    10: Max Encryption Key Size = 16
    01: Initiator Key Distribution = Encryption Key (LTK) only, no IRK
    01: Responder Key Distribution = Encryption Key (LTK) only, no IRK
    The only difference after this is that if the passkey dialog shows and the key is entered, then further packets are sent to complete the pairing.  With the DK boards there is no dialog, and it shows that the pairing failed within a few seconds which is too fast.  When the passkey dialog shows it gives you 30 seconds to enter the key.
    This may also be helpful.  The nRF Connect log shows the following errors.  But again, this only happens if a DK ('833 or '840) board is used.  With the dongles we get the passkey dialog and no error messages.
    12:21:27.668	Error when calling replySecParams: Error: Error occured when replying sec params. Errorcode: Unknown value (0x8005)
    12:21:27.671	Received status with code 4 Unknown value, message: 'Error sending packet to target. Code: 0x802a'
    12:21:56.128	Failed to decode event, error code is 9/0x9.
    12:21:56.128	Received status with code 3 PKT_DECODE_ERROR, message: 'Failed to decode event, error code is 9/0x9.'
Children
No Data
Related