Jan:

I am not 100% sure but we have seen issues with certain phones due to how the 
nimble stack controller starts some LL control procedures. This has been 
addressed in a development branch but I do not think it has been merged into 
the master branch yet (it will in the upcoming release).

I could go into more details if you like but all you probably want is a fix. 
There are two things you could try:

1) This might be a temporary work-around: disable data length extension. You 
can do this by setting the following syscfg variable to 0: 
BLE_LL_CFG_FEAT_DATA_LEN_EXT. A simple way to do this is to go in and hack the 
syscfg.yml in net/nimble/controller/ and set the value to 0. If that works you 
can set that in your target.

- or -

2) Get the bluetooth5 branch. I think this has the fixes in it.

Let us know how it goes.

> On Jun 9, 2017, at 12:03 AM, Jan Becker <jb@clickbar.rocks> wrote:
> 
> Hey,
> 
> I've just been getting started with mynewt and build a small program
> that is very similar to the bleprph example provided by you.
> The board is a readbear blend v2 (based on the nRF52832 chipset) and I
> have the latest development of mynewt-core installed.
> However, it seems like the connection to my xperia z5 running Android
> 7.0 always times out after 40 seconds with reason 34
> (BLE_ERR_LMP_LL_RSP_TMO).
> Here is the log:
> 
> ...
> 011403 [ts=89085932ssb, mod=4 level=0] Disconnection Complete: status=0
> handle=1 reason=34
> 011405 [ts=89101556ssb, mod=64 level=1] connection updated; status=546
> handle=1 our_ota_addr_type=0 our_ota_addr=c0:fa:ac:cf:fa:0a
> our_id_addr_type=0 our_id_addr=c0:fa:ac:cf:fa:0a peer_ota_addr_type=1
> peer_ota_addr=72:0f:3c:e1:f5:75 peer_id_addr_type=1
> peer_id_addr=72:0f:3c:e1:f5:75 conn_itvl=39 conn_latency=0
> supervision_timeout=2000 encrypted=0 authenticated=0 bonded=0
> 011414 [ts=89171864ssb, mod=64 level=1]
> 011415 [ts=89179676ssb, mod=64 level=1] subscribe event; conn_handle=1
> attr_handle=14 reason=2 prevn=0 curn=0 previ=1 curi=0
> 011418 [ts=89203112ssb, mod=64 level=1] subscribe event; conn_handle=1
> attr_handle=18 reason=2 prevn=1 curn=0 previ=0 curi=0
> 011422 [ts=89234360ssb, mod=64 level=1] disconnect; reason=546 handle=1
> our_ota_addr_type=0 our_ota_addr=c0:fa:ac:cf:fa:0a our_id_addr_type=0
> our_id_addr=c0:fa:ac:cf:fa:0a peer_ota_addr_type=1
> peer_ota_addr=72:0f:3c:e1:f5:75 peer_id_addr_type=1
> peer_id_addr=72:0f:3c:e1:f5:75 conn_itvl=39 conn_latency=0
> supervision_timeout=2000 encrypted=0 authenticated=0 bonded=0
> 011431 [ts=89304668ssb, mod=64 level=1]
> 011432 [ts=89312480ssb, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08
> ocf=0x0007 len=0
> 011434 [ts=89328104ssb, mod=4 level=0] 0x07 0x20 0x00
> 011435 [ts=89335916ssb, mod=4 level=0] Command complete: cmd_pkts=1
> ogf=0x8 ocf=0x7 status=0
> 011438 [ts=89359352ssb, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08
> ocf=0x0008 len=32
> 011440 [ts=89374976ssb, mod=4 level=0] 0x08 0x20 0x20 0x12 0x02 0x01
> 0x06 0x0b 0x09 0x53 0x70 0x65 0x65 0x64 0x54 0x72 0x61 0x63 0x6b 0x02
> 0x0a 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
> 011445 [ts=89414036ssb, mod=4 level=0] Command complete: cmd_pkts=1
> ogf=0x8 ocf=0x8 status=0
> 011448 [ts=89437472ssb, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08
> ocf=0x0009 len=32
> 011450 [ts=89453096ssb, mod=4 level=0] 0x09 0x20 0x20 0x12 0x11 0x07
> 0x23 0x7e 0xe9 0xa8 0xf5 0xcd 0xe0 0xfc 0x8a 0x84 0x4d 0xdf 0xf7 0x3c
> 0x65 0xb3 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
> ...
> 
> Then I tried the same with my other test device, a wileyfox swift 2, and
> everything was fine.
> At first it seems like there is something wrong with my phone, but I
> never had such issues when running Nordic's Softdevice on the board.
> So, what does Softdevice do what nimble does not (or does wrong)?
> Unfortunately, I don't have the resources or knowledge to further
> investigate this.
> 
> What do you think might be the issue here?
> 
> Thanks,
> Jan

Reply via email to