5 Replies Latest reply on Dec 21, 2016 12:41 PM by epr_1639216

    bonding consistency issues




      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

        • 1. Re: bonding consistency issues

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




          Thank You

          • 2. Re: bonding consistency issues

            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

            • 3. Re: bonding consistency issues

              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);


              • 4. Re: bonding consistency issues

                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.

                • 5. Re: bonding consistency issues

                  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).