Hi Manish,

> Based on your feedback, in the BlueZ kernel, if we plan to track whether the 
> link was created because of Pair Device action or not, we'll need to add a 
> flag in struch hci_conn and update related functions/APIs. I was wondering if 
> this would look like a clean fix or not. 
> 
> Another option could be disconnecting from BlueZ daemon while handling 
> 'cancel pairing' user request. But the problem with this approach is that 
> there is no way to request the kernel to send SMP failure PDU with the 
> existing implementation.
> 
> Third option could be handling this in the chromium and requesting a 
> disconnect when the user hits the cancel button. I believe Ubuntu/Android are 
> taking a similar approach. However, on Android, if the 'cancel' button is 
> selected on the pairing window, it shows 'pairing failed because of invalid 
> passkey' message.
> 
> Bluetooth specification doesn't have any mention about how to handle the 
> pairing cancel case. Based on the statistics we have for ChromeOS, over 60% 
> pairing attempts are cancelled by users. Since the link is not terminated, 
> the bluetooth keyboard keeps on requesting to enter a new passkey even if the 
> user selects to cancel the pairing and there is no way to cancel the pairing 
> process.
> 
> Can you please help me select the better approach to handle the pairing 
> cancel case? Should we need to propose this to be addressed in the Bluetooth 
> Specification as well?

are we sending Cancel Pairing correctly? If so and we only care about the 
cancel case, then I would just track if the connection was triggered by a 
pairing and then only cancel pairing terminate the connection.

Regards

Marcel

Reply via email to