PSOC 4 Galaxy S10 S10+ cannot reconnect to paired module after phone reboot

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

cross mob
MaMc_4722476
Level 1
Level 1
Welcome!

We have a PSOC4 BLE CYBLE-012011-00 module that has worked great up until the Samsung Galaxy S10 and S10+ Android 10 devices were released. On these specific phones we can pair with our module fine and communicate fine up until the phone is rebooted. Some customers can also just minimize the app and not be able to connect again. I have used CySmart to see what could be happening and it appears the BLE stack never responds to the Discover Services request and just disconnects. This all works great on Android 9 and lower as well as Android 11 on an S20 I have here.

We are using a Fixed stack Bootloader so unfortunately we cannot alter the Bootloader program although if the problem resides there it would still be good to know.

Has anyone experienced this issue? Any solutions?

PSOC Creator 4.2

All of our 16-bit UUIDs are unique

We are using the ECO 24Mhz clock for all

We call CyBle_GappStopAdvertisement in CYBLE_EVT_GAP_DEVICE_CONNECTED

EDIT: If you force close the Android native Bluetooth app you can then connect to the modules again. This leads me to believe something in the cypress module is causing the Android BLE stack to go into a loop or crash for some unknown reason.

0 Likes
4 Replies
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi,

If possible, can you please attach the CYBLE-012011-00 project? We will check it once.

I have used CySmart to see what could be happening and it appears the BLE stack never responds to the Discover Services request and just disconnects.

That is a good observation. Is it possible for you to attach the airlog also?

If you force close the Android native Bluetooth app you can then connect to the modules again. This leads me to believe something in the cypress module is causing the Android BLE stack to go into a loop or crash for some unknown reason.

Are you using Cypress' CySmart Android App?  If not, can you please test with that once?

Thanks

Ganesh

0 Likes

Yes, I was using Android CySmart from the problem device (Android Galaxy S10 on Android 10). I tried with Clear Cache and the Remove Pairing on Disconnect features to see if they would fix the issue. (I also call the clear cache feature from my own app but the call always fails so I assume that private function is blocked in the S10). The CySmart log is where I discovered the "Discovering Services" response hang then disconnect.

I'll get the log tomorrow since I don't physically have access to the device right now.

I also wanted to ask, we have multiple characteristics with notify enabled and I noticed that our UUIDs are all the same for our Client Characteristic Descriptors. All of the main characteristics are unique but the descriptors are all 2902 in our project. Would this cause any adverse effects? (It may not even be related to this issue but I wanted to ask). Unfortunately we can't change any of this in the Bootloader but it would still be good to know.

Screen Shot 2020-10-27 at 6.58.44 AM.pngScreen Shot 2020-10-27 at 6.58.52 AM.png

0 Likes

Hi,

I also wanted to ask, we have multiple characteristics with notify enabled and I noticed that our UUIDs are all the same for our Client Characteristic Descriptors. All of the main characteristics are unique but the descriptors are all 2902 in our project. Would this cause any adverse effects? (It may not even be related to this issue but I wanted to ask). Unfortunately we can't change any of this in the Bootloader but it would still be good to know.

No. It will not cause any adverse effects. The Client Characteristic Configuration Descriptors (CCCD) is standard descriptor defined by BLE SIG. So the UUID value will be constant. Not only this descriptor, all the standard services, standard characteristics and standard descriptors defined by BLE SIG will be having constant UUIDs. Please refer BLE component datasheet for information about standard services, characeristics and Descriptors.

Hope this answers your question.

Thanks

Ganesh

0 Likes

Any other thoughts here? We've had numerous customers with this same complaint. The one thing I've noticed is when a customer connects to one of our modules then connects to their BLE headset it will cause this behavior. So something is messing up reading services one a user connects to a PSOC4 device, leaves the app, connects to a BLE headset, returns to the app. This behavior happens in CySmart as well so something is definitely going on with the firmware. Nobody else is having / reporting this issue with PSOC4?

0 Likes