I am evaluating the QN902X BLE part from NXP, but I have not been able to find the Software Manual, or any indepth discussion on the stack etc. I am also a little wary due to it being a fairly new part, but have had very good success with NXP over the years so I am willing to do my due diligence. Can you get me the User/Software manual and more info about the Stack for this part?
The Dev Kit manual also refers to other documents that would be useful:
QN902x Driver Tools Manual
QBlue NVDS Configurator Manual
QBlue ISP Studio Manual
None of which are searchable on NXP’s website.
Hello Mohit and Abhishek,
The project to be used for putting the device in "Controller Mode" is prj_controller_mode available at the following path: C:\QBlue\QN9020\QBlue-1.3.9\Projects\BLE\prj_controller_mode. The relative pre-compiled binary is controller.bin.
It supports all of the LE HCI commands + some Vendor commands.
I would suggest to go through the "Software Developer's Guide" document available here http://www.nxp.com/documents/user_manual/UM10995.pdf to get a clear understanding on how the firmware is organized.
I hope it helps,
I have tried to integrate Qn9021 with bluez stack and i get to know that many commands are not supported by QN9021 which are required by Bluez linux bluetooth stack. One of these command is Read Device Class. Yes, i have gone through Qn9020 documentation and came accross the list of supported commands.
Can you guide us how to add support for some non-supported commands for QN9021. Also, if you have any driver for Qn9021 which can help us in integrating it with bluez, please provide us those drivers/kernel modules.
QN902x is BLE only and therefore supports BLE related HCI commands.
For the LE HCI commands, please refer to Core spec v4.0
The command “Read Class of Device command” you mentioned is actually supported only in BT Classic, which is shown as “BR/EDR”. The BLE controller is supposed to support “All” or “LE” as noted in the BT Core Spec.
Thanks for your reply.
I have successfully integrated QN902x with Linux Bluez stack. The problem was in the response returned by QN902x command Read Local Feature. I am aware that QN902x supports both Read local features and Read LE local features. The Linux kernel first asks for Read Local features. However, the response to this command should atleast specify that QN902x doesn't support BR/EDR and it support only LE. For that, it should set atleast two bits in the response of READ LOCAL FEATURE. However, it returns an array of 8 bytes and all bits set to zero in it's response. That's why kernel bluez stack were asking for Read Device Class command.
That was the origin of the problem i faced for a week. I had conservation 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?
I found a link to SDK at Firefly | Focus on establish an open source platform based on cutting-edge technology .
It links to a google drive.
I'll try to find where on nxp.com it should be located.
There is some mistery around those chips. I'm trying my best to find any info about them. All links from PDFs to npx.com have been deleted.
If you found any info, please share.
Do you have any updates on this?
We've receive the QN9020 for evaluation but we can't access the SDK software from NXP site.
According to the doccumentation:
"The Software Development Kit (SDK) is named as QBlue-1.x.xx-setup.exe. After ordering, visit SDK customer support website https://www.collabnet.nxp.com to obtain the latest SDK package."