This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Pairing/Bonding with CC2540 works without providing pin code using BlueZ.

Hello,

I am a bit confused about pairing and bonding. I have compiled and run Glucose sensor sample app in the TI BLE SDK.

Just to be on the same page, here are the configuration of the sample:


#define DEFAULT_PASSCODE 19655

#define DEFAULT_PAIRING_MODE GAPBOND_PAIRING_MODE_WAIT_FOR_REQ

#define DEFAULT_MITM_MODE TRUE 

#define DEFAULT_BONDING_MODE TRUE

#define DEFAULT_IO_CAPABILITIES GAPBOND_IO_CAP_DISPLAY_ONLY 

Now, when I try to pair/bond with the sensor using BTool or a BLE Scanner Android App as my central unit, pin code is asked and if I do not provide "19655", then the whole process fails as expected. And only when I provide it, pairing and bonding is successful. 

So far so good!

However, when I try the same thing using BlueZ 5.22 as the central unit, then pairing/bonding goes successful even though I do not provide the pin code. How is that possible? Any ideas? What am I missing? :) 

Attaching the sniffer data (used TI Packet Sniffer):

0003.PairingWithoutPinBug.psd

Lastly, this is what BlueZ bluetoothctl program shows:

[bluetooth]# info 84:DD:20:F0:8E:2B
Device 84:DD:20:F0:8E:2B
Name: Glucose
Alias: Glucose
Paired: yes
Trusted: no
Blocked: no
Connected: yes
LegacyPairing: no
UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: Glucose (00001808-0000-1000-8000-00805f9b34fb)
UUID: Device Information (0000180a-0000-1000-8000-00805f9b34fb)
Modalias: bluetooth:v000Dp0000d0110