We are testing the EZ-Serial firmware on the EZ-BLE CYBLE-212019-00 module and, in particular, pairing/bonding (security features) and whitelist management.
Using default parameters and a very simple setup, request for pairing the BLE module from the CySmart application on Android seems to freeze the BLE module.
This problem also happens in a small custom test application we implemented for testing the performances and features of the EZ-Serial firmware.
- CY8CKIT-042-BLE Pioneer kit with a CYBLE-212019-EVAL Evaluation Board plugged-in,
- The EZ-BLE module has been updated/programmed with the last version of EZ-Serial firmware (EZ-Serial_V1_0_2_CYBLE-2120XX-X0),
- CySmart has been installed and tested on two Android smartphones (Sony and Lenovo on Android 6.0),
- Putty is used to check the output of EZ-Serial firmware.
Here the steps for reproducing the problem:
1) Start or reset the BLE module. Output:
2) Start the CySmart app on the phone (every trace of previous pairing/bonding information has been removed).
3) In the list of BLE devices, click on the “Not Paired” button of the EZ-Serial device. The output from EZ-Serial is:
4) The last line of the output indicates that the pairing request is successful, but the module is now unresponsive, i.e. the connection LED remains blue, the BLE module is not visible anymore, no command can be passed through the console (even no echo), no supervision timeout.
It seems to be related to the EZ-Serial firmware and I would like to know what is the recommended procedure to pair the EZ-BLE module from an Android or iOS device with the EZ-Serial firmware on the BLE module.
I already check the documentation of the EZ-Serial firmware (and I also already tested a custom firmware implementation with PSoC Creator) but the EZ-Serial API seems to be a quick solution for our development (similar to the BlueGiga Smart API from SiliconLabs for BLE112 and BLE113 modules).
Note: I also read the Section on EZ-Serial firmware documentation about Security and Encryption Examples. The step-by-step automatic pairing request acceptance example (p.57, Section 126.96.36.199, with auto-accept bit at 0 using “SSBP,F=0” command and “/PR,R=0” to accept pairing) also freezes the module. Finally, it seems that when there is time between connection and pairing requests (in a custom app implementation) the pairing is ok.
Thanks in advance for your help.