(Pull request: https://github.com/apache/mynewt-newtmgr/pull/16)
The first data packet to be exchanged over a BLE connection has a high probability of triggering a disconnect. The sending controller uses this packet to determine if the connection attempt was successful in the first place, and it does not get retried if it gets dropped.
In the case of newtmgr, the first data packet gets sent during ATT MTU negotiation. The bhd (blehostd) transports recover from a disconnect during ATT MTU negotiation by reopening the session.
The ble transports (native BLE) do not recover from such a disconnect. We should add the same recovery logic for the ble transports that has already been implemented for bhd.