On Mon, May 16, 2016 at 09:29:37PM -0700, James Howarth wrote:
> Hi Chris,
> 
> Thanks.  I'm getting closer.
> 
> Using the 'LightBlue Explorer' app:
> 
>    - I can see the nimble-bleprh device
>    - nim-bleprh appears to be advertising no services.
>    - When I try and connect to the nRF52, the app times out.

Are you using LightBlue for the iPhone or for OS X?  We have observed
an apparent bug in the CoreBluetooth implemention in OS X which results
in a disconnect shortly after the connection is established.  I am not
sure if this bug has been fixed in the latest OS X release.

The bug is related to the data-length-extension link layer procedure.
When the nimble device initiates this procedure, the mac replies with a
malformed packet.  You can disable the data length extension feature by
modifying the
repos/apache-mynewt-core/net/nimble/controller/include/controller/ble_ll.h
file as follows:

FROM:
    #define  BLE_LL_CFG_FEAT_DATA_LEN_EXT

TO:
    //#define  BLE_LL_CFG_FEAT_DATA_LEN_EXT

I.e., comment out the line which defines the
BLE_LL_CFG_FEAT_DATA_LEN_EXT symbol.

(disabling features such as this one has been made easier in more recent
code, but for now you need to modify the code directly).

>    - After I connect once, it takes a couple of minutes, before the nimble
>    device will show up in my app, I thought it was supposed to be instant.

The bleprph app should resume advertising as soon as the connection is
broken.  However, it does not advertise while it is still connected to
something.  Are you saying LightBlue does not show the device when you
tell it to scan?

Chris

Reply via email to