Hello Antonio,
Thanks for your reply.
Please ignore my previous reply.
I have successfully integrated QN902x with Linux Bluez stack. The problem was in the response returned by QN902x for the command Read Local Feature. I am aware that QN902x supports both Read Local Features and Read LE Local Features HCI command. The Linux kernel first request for supported local features and after that it sends all other HCI commands. The response of this command should specify the type of controller and for QN902x, the response to this command should atleast specify that it doesn't support BR/EDR and supports only LE. For LE only controller, it should set atleast two bits in the response of READ LOCAL FEATURE HCI command. However, it returns an array of 8 bytes and all bits set to zero in it's response. That's why kernel bluetooth stack start sending all HCI commands to the controller. It assumes that controller is Classic Bluetooth only.
I have configured the kernel for LE only controller. I assumed that the commands that will be send by bluetooth stack will be LE supported.
That was the origin of the problem i faced for a week. I had conversation with a kernel developer over IRC channel. He pointed out that QN902x is buggy. For now, i have resolved the problem by modifying the kernel source code and hard coding features of bluetooth. Please, tell me the response that QN902x is supposed to return for command Read Local supported features.
I would also like to know how many simultaneous connections the QN902x HCI Controller mode can support?