bonding consistency issues

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
trhec_1326566
Level 1
Level 1

Hello,

   

I am running into an issue where the pairing/bonding process does not seem consistent/reliable. I am using CyBle - 2.30 with the security settings: mode 1, unauthenticated pairing with encryption, no input no output, bonding. The code is very similar to 100 days of code example day 15

   

I have several boards all 100% the same, same code, same IC (Cyble-022001-00). However, the bonding process works with my phones I am using for testing (3 iOS, 3 android). But when they go out to customers, several are un able to pair. Some customers are able to connect with one module, but not another. So the issue does not appear to be with varying phone models.

   

I am also having a secondary issue where some Android devices seem unable to pair. But that may be an Android issue...

   

 

   

Is anyone else seeing this inconsistency? Any thoughts/suggestions to improve reliability?

   

Thank you

0 Likes
5 Replies
CaFe_1297911
Level 1
Level 1
First reply posted First question asked Welcome!

Hello, I'm facing simillar issues with a project based on 100 days of code example day 15

   

Anyone??

   

Thank You

0 Likes
Anonymous
Not applicable

Hello, I'm facing simillar issues with a project based on 100 days of code example day 15

   

I find out my Android and USB dongle almost cannot bonding to cypress chip by CySmart App. 

   

iOS (iPhone 5S) CySmart is look like well ... But it's still  very bad.
there are about only 10% to bonding .

   

Another bug of bonding is that passkey return by the CyBle module is not 6-digital key.

   

It's look like the length of passkey from Cypress is  not follow to Bluetooth  Spec.

In Bluetooth Spec 4.2, the passkey is 6-digital key. 

   

 

   

 

   

  Does anyone find out the similar problem of bonding function in Cypress ?

   

 

   

Thank You

0 Likes
Anonymous
Not applicable

Hello Carlos Ferreira & Travis Heaver : 
You may try the following code when you show Passkey 
​printf("CYBLE_EVT_GAP_PASSKEY_DISPLAY_REQUEST. Passkey is: %ld.\r\n",*(uint32*)eventParam);

 

0 Likes
Anonymous
Not applicable

Yes, I tried displaying using HI() and LO() macro and with *(uint32*)eventParam. The value given by HI()/LO() macros seems to be not right.

   

I used the passkey displayed by *(uint32*)eventParam and it works.

   

Thanks PieApple.

0 Likes
Anonymous
Not applicable

Yes, I tried the example project and found the HI() and LO() macros to be wrong in what they were doing. The returned uint32 in eventParam is the full 6-digit passcode as a binary value, so splitting it with the macros was breaking it most of the time (when the binary lined up to split along the middle then it was fine).

0 Likes