Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Common disconnects using ble_app_interactive

Hello,

I am attempting to test slew of Rigado BMD-350 module BLE radios (uses nRF52832) using a Rigado BMD-301 series Eval Kit to act as the central.  The BMD-350 device is running the stock firmware from Rigado, BMDware v3.2.1.

Currently, I'm simply running the "ble_app_interactive" example application (pca10040) from the current nRF5 SDK 15.1.0 (a8c0c4d) and loading it on the Evaluation Kit to connect and query the peripheral GATT server.  I did modify this a bit to disable terminal colors, shorten the prompt, and output RSSI on advertisement packet events.

The SDK application works most of the time when I "connect <mac>", but I somewhat frequently get a "CENTRAL: Disconnect ... reason: 0x8" shortly after the connection.  The sequence looks like this:


> connect 94:54:93:2F:CA:9B
<info> app: CENTRAL: Connecting...
<info> app: CENTRAL: RSSI from Peripheral: -29 dBm
Connected to address: 94 54 93 2F CA 9B
<info> app: CENTRAL: Connected, handle: 0.
Current MTU: 247
MTU changed successfully
<info> app: Data length updated to 54 bytes.
> connected_devices
Connected devices:
0. 94:54:93:2F:CA:9B Security level: 1
Connection parameters update success
<info> app: Data length updated to 54 bytes.
>
<info> app: CENTRAL: Disconnected, handle: 0, reason: 0x8


Does anyone know how I might debug what's going on here?  I'm new to these soft devices and BLE in general, so I thought using a S132 SDK example application would be an easy way to design my test module, but it's not being reliable enough and I'm getting way more failures than I expect due to random disconnects.  It is possible it's the stock BMDware as well.

If anyone knows of any way I could work around this issue, or avoid it by adjusting some parameters, it would be greatly appreciated.  I'm still looking at all of the things the soft device in this particular application is doing...

Parents Reply
  • Hi,

    Disconnect reason 8 is the same as BLE_HCI_CONNECTION_TIMEOUT, and this can happen when the clock source is not configured correctly. If you do not have a LF crystal, you will need to use the LF RC oscillator and set the ppm and calibration interval accordingly.   

    Lincoln said:
    do both soft devices have to be configured to the least accurate module for the NRF_SDH_CLOCK_LF_ACCURACY?

    No. When you configure the SoftDevice, you always set it according to the clock source and clock accuracy you have on your own device, you do not care about the accuracy of the device you are connecting to. The SoftDevice / BLE protocol handles this. (When the devices connect to each other, they exchange their clock accuracy, and this is taken into account when they calculate when to turn on the radio to send/receive data.)

Children
Related