On Tue, Feb 05, 2019 at 03:22:52PM -0500, Copper Dr wrote:
> The 573 is interesting also as my application has nothing to do with a mic.
> I'm writing and receiving notifications.

MIC is short for Message Integrity Check.  Every packet that gets sent
contains a MIC, so this error could result from any given receive.
However, a corrupt packet with an invalid MIC should not cause the
connection to terminate; the packet should just get retransmitted.  I am
not really sure what would cause the controller to terminate a
connection with this error code.

> 
> I'm doing a
> gatt-write conn=2 no_rsp=1 attr=25 value=10:01:00:00:01:10:02:10:03:53:56
> then waiting for a response
> notification rx event; attr_handle=25 indication=0 len=13
> data=0x10:0x01:0x00:0x00:0x01:0x10:0x02:0x00:0x00:0x10:0x03:0xa6:0x03
> 
> These are the config values I built with. I disabled debug and logging and
> enabled all the BLE feature sets. I found these out looking over a webpage
> about how to test all the code paths in NimBLE. I figured out where they
> are documented now and should revisit. I have a large list of errors or
> documentation items that need added that I plan to take on.

That's great!

Chris

> 
> syscfg.vals:
>     BLE_EDDYSTONE: 1
>     BLE_EXT_ADV: 1
>     BLE_EXT_ADV_MAX_SIZE: 1650
>     BLE_HCI_EVT_BUF_SIZE: 257
>     BLE_HS_DEBUG: 0
>     BLE_L2CAP_COC_MAX_NUM: 2
>     BLE_LL_CFG_FEAT_LE_2M_PHY: 1
>     BLE_LL_CFG_FEAT_LE_CODED_PHY: 1
>     BLE_LL_CFG_FEAT_LL_PRIVACY: 1
>     BLE_LL_CONN_INIT_MAX_TX_BYTES: 251
>     BLE_LL_DIRECT_TEST_MODE: 1
>     BLE_MAX_CONNECTIONS: 32
>     BLE_MONITOR_RTT: 1
>     BLE_MONITOR_RTT_BUFFER_SIZE: 2048
>     BLE_MULTI_ADV_INSTANCES: 5
>     BLE_SM_BONDING: 1
>     BLE_SM_LEGACY: 1
>     BLE_SM_SC: 1
>     BLE_STORE_MAX_BONDS: 32
>     CONSOLE_UART_BAUD: 460800
>     CONSOLE_MAX_INPUT_LEN: 4096
>     CONSOLE_UART_TX_BUF_SIZE: 1024
>     CONSOLE_UART_RX_BUF_SIZE: 1024
>     CONSOLE_ECHO: 0
>     CONSOLE_RTT_INPUT_POLL_INTERVAL_MAX: 10
>     CONSOLE_TICKS: 0
>     LOG_LEVEL: 255
>     LOG_CLI: 0
>     CONFIG_CLI: 0
>     CONFIG_CLI_DEBUG: 0
>     METRICS_CLI: 0
>     STATS_CLI: 0
>     STATS_NAMES: 0
> 
> On Tue, Feb 5, 2019 at 3:02 PM Christopher Collins <ch...@runtime.io> wrote:
> 
> > Hi Fred,
> >
> > On Tue, Feb 05, 2019 at 02:25:43PM -0500, Copper Dr wrote:
> > > I'm trying to figure out how to decode these disconnections.
> > >
> > > Reason 688 (0x02B0) and 573 (0x023D)
> > >
> > > I checked
> > >
> > http://mynewt.apache.org/latest/network/docs/ble_hs/ble_hs_return_codes.html
> > > and the disconnect code does not make any sense.
> > >
> > > The 573 is the one I'm really interested in it happened just before
> > 65,535
> > > commands were sent and is repeatable.
> >
> > I agree - 688 (0x2b0) does not make sense.  This is not a valid error
> > code, so there must be some memory corruption or some other bug at play
> > here.
> >
> > As you noticed, 573 (0x23d) is a legitimate error code:
> > BLE_ERR_CONN_TERM_MIC.  I don't know if there is a relation to the
> > number 65535, but that would be an interesting bug!  I will let one of
> > the controller experts chime in.
> >
> > Chris
> >
> > >
> > >
> > > disconnect; reason=688 handle=1 our_ota_addr_type=0
> > > our_ota_addr=01:02:03:04:05:06 our_id_addr_type=0
> > > our_id_addr=01:02:03:04:05:06 peer_ota_addr_type=1
> > > peer_ota_addr=cb:a9:46:52:45:44 peer_id_addr_type=1
> > > peer_id_addr=cb:a9:46:52:45:44 conn_itvl=40 conn_latency=0
> > > supervision_timeout=256 encrypted=1 authenticated=1 bonded=1
> > >
> > > disconnect; reason=573 handle=2 our_ota_addr_type=0
> > > our_ota_addr=01:02:03:04:05:06 our_id_addr_type=0
> > > our_id_addr=01:02:03:04:05:06 peer_ota_addr_type=1
> > > peer_ota_addr=cb:a9:42:31:30:30 peer_id_addr_type=1
> > > peer_id_addr=cb:a9:42:31:30:30 conn_itvl=40 conn_latency=0
> > > supervision_timeout=256 encrypted=1 authenticated=1 bonded=1
> > >
> > >
> > > Thanks,
> > >
> > > Fred Angstadt
> >

Reply via email to