Hi SSO:
Test platform:
Phone: Samsung Note 3 running Android 4.3
Board: Stellaris LM4F232 EVM running Stellaris Bluetopia Stack V1.0
Test Log: (the red part is the operation of Android phone)
OpenStack().
HCI_VS_InitializeAfterHCIReset
Set Baud Rate
HCI_VS_InitializeAfterHCIReset Success
Bluetooth Stack ID: 1.
Device Chipset: 4.0.
BD_ADDR: 0x0018343b78c6
******************************************************************
* Command Options: Server, Client, Help *
******************************************************************
SPP+LE>client
******************************************************************
* Command Options General: Help, GetLocalAddress, SetBaudRate *
* Quit, *
* Command Options BR/EDR: Inquiry, DisplayInquiryList, Pair, *
* EndPairing, PINCodeResponse, *
* PassKeyResponse, *
* UserConfirmationResponse, *
* SetDiscoverabilityMode, *
* SetConnectabilityMode, *
* SetPairabilityMode, *
* ChangeSimplePairingParameters, *
* GetLocalName, SetLocalName, *
* GetClassOfDevice, SetClassOfDevice, *
* GetRemoteName, SniffMode, *
* ExitSniffMode, Open, Close, Read, *
* Write, GetConfigParams, *
* SetConfigParams, GetQueueParams, *
* DisplayRawModeData, AutomaticReadMode,*
* SetQueueParams, Loopback, *
* CBSend. *
* Command Options GAPLE: SetDiscoverabilityMode, *
* SetConnectabilityMode, *
* SetPairabilityMode, *
* ChangePairingParameters, *
* AdvertiseLE, StartScanning, *
* StopScanning, ConnectLE, *
* DisconnectLE, PairLE, *
* LEPasskeyResponse, *
* QueryEncryptionMode, SetPasskey, *
* DiscoverGAPS, GetLocalName, *
* SetLocalName, GetLERemoteName, *
* SetLocalAppearance, *
* GetLocalAppearance, *
* GetRemoteAppearance, *
* Command Options SPPLE: DiscoverSPPLE, RegisterSPPLE, LESend, *
* ConfigureSPPLE, LERead, Loopback, *
* DisplayRawModeData, AutomaticReadMode *
******************************************************************
SPP+LE>setdis 2
Discoverability: General.
SPP+LE>setpair 2
Pairability Mode Changed to pmPairableMode_EnableSecureSimplePairing.
LE: I/O Capabilities: No Input/Output, MITM: TRUE.
BR/EDR: I/O Capabilities: No Input/Output, MITM: TRUE.
Phone search BT device and see EVM in Android setting page.
Select EVM and start pairing.
SPP+LE>
atIOCapabilityResponse: 0x00e3b2a02f06
Capabilities: Display Yes/No, MITM
SPP+LE>
atIOCapabilityRequest: 0x00e3b2a02f06
Auth success.
SPP+LE>
atUserConfirmationRequest: 0x00e3b2a02f06
Auto Accepting: 969696
GAP_Authentication_Response success.
SPP+LE>Un-handled Auth. Event.
SPP+LE>
atLinkKeyCreation: 0x00e3b2a02f06
Link Key Stored.
SPP+LE>setdis 0
Discoverability: Non.
SPP+LE>setpair 0
Pairability Mode Changed to pmNonPairableMode.
Phone un-pair EVM in setting page.
Still can "see" EVM in setting page.
Select EVM and start pairing.
SPP+LE>
atIOCapabilityResponse: 0x00e3b2a02f06
Capabilities: Display Yes/No, MITM
SPP+LE>
atIOCapabilityRequest: 0x00e3b2a02f06
Auth success.
SPP+LE>
atUserConfirmationRequest: 0x00e3b2a02f06
Auto Accepting: 740691
GAP_Authentication_Response success.
SPP+LE>Un-handled Auth. Event.
<<<<<<<<<<<<< No link key event
SPP+LE>
Problem:
My question is why phone can still pair with our EVM even we set pmNonPairableMode.
And the other problem is that there is no atLinkKeyCreation event in the second case. However, phone showed successful pairing in the setting page.