- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We have a serious issue and cannot resolve it, please see if you can help.
On Android, when pairing, we get no services, once the pairing is accomplished via multiple reconnect events and it connects, it will work fine afterward. We are prevented from going to production because of this concern.
When we pair, with a fixed pairing code, we get an error of no services, and sometimes the BLE stack gets stuck and thinks it is connected, but the app, ours or CYSMART gets a no services response.
1. We have the crystal trim code in our BLE start event
2. We have regenerated all UUIDs in 128 bit mode
Our bundle is attached, please help out as soon as you are able, this is an urgent matter.
Solved! Go to Solution.
- Labels:
-
BLE
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OK, we figured it out over the weekend, to pair correctly using this radio, you set the passkey, and ensure the settings are correct in the BLE profile, the most important one being AUTHORIZATION REQUIRED.
In your app you try to read any characteristic with AUTHORIZATION REQUIRED generates the pairing request in APPLE or ANDROID. In Android you get a pairing and a disconnect, and when you reconnect it works., APPLE works first time.
That was an ordeal for us, and there appears to be nothing obvious in the BLE datasheet pointing this out, or in any of the examples. This was all we found, after learning that the BLE stack on the phone was expecting a pair request, based on a failed access, and the CYBLE_EVT_GATTC_ERROR_RSP is what is triggering the pair request.
An Error Response event is sent by the server (CYBLE_EVT_GATTC_ERROR_RSP) in response to the Read
Multiple Request if insufficient authentication, insufficient authorization, insufficient encryption key size is used by the client, or if a read operation is not permitted on any of the Characteristic values. The Error Code parameter is set as specified in the Attribute Protocol.