Case 1 and 2 are supported by the CYSPP profile.
Case 3 should be sent by the client device. The CYSPP client doesn't support this command.
However, I have a additional question about Case2 & Case3.
Does the characteristic (ex. UUID 65333333-A115-11E2-9E9A-0800200CA102) in the CYSPP service (UUID 65333333-A115-11E2-9E9A-0800200CA100) already have PERMISSION(Read/write - Encryption/Authentication/Authorization) set?
My writing was wrong.
Case3 is considered to be a Slave Security request mainly used by Android OS.
When starting Pairing, iOS and Android recognize the following starting steps.
* Refer to the following.
The slave (peripheral) receives an Attribute write request (ATT_WRITE_REQ) from the master (Central), and the slave returns ATT_ERROR_RSP. Then the master starts pairing (sending a Pairing request)
The slave (peripheral) sends a security start request (Slave Security Request) to the master (central).
Then the master starts pairing (sending a Pairing request)
Does EZ-Serial F/W support either pairing start method?
1. The character for CYSPP service is Read/write, not encryption.
You can refer to 3.8 Security and Encryption Examples for security operation.
2. The Slave Security Request command is not supported in the current API command of the EZ Serial.
Following is the latest EZ-Serial user guide: https://www.cypress.com/documentation/reference-designs/ez-serial-wiced-firmware-platform-user-guide-cyw2070x-based-modules
>2. The Slave Security Request command is not supported in the current API command of the EZ Serial.
Isn't Slave security request the /P (smp_pair) API?
In [220.127.116.11 Pairing in “Just Works” Mode Without MITM Protection (BLE)], it seems that /P API is used to make a Pairing request to the Peer Device.
I checked the FW code. You are right. It sends security request to initiate the pairing procedure.