Hello,
we are bringing up Bluetooth on a Verdin i.MX95 WB running the NXP Android 15 BSP (Linux 6.6.58). The onboard wireless module is a u-blox MAYA-W260 based on NXP IW612.
Wi-Fi works correctly over SDIO, and the combo firmware is successfully loaded:
Request firmware: sduart_nw61x_v1.bin.se
Wlan: FW download over
WLAN FW is active
,Bluetooth instead does not appear to work. Whenever we enable it on Android settings, the UI switch is frozen and no BT device is found.
Bluetooth is connected to LPUART6 (/dev/ttyLP5). The NXP vendor HAL opens the UART successfully.
We initially found that hardware flow control blocked transmission; after temporarily disabling CRTSCTS, the HAL sends the four-byte HCI Reset command:
01 03 0c 00The UART counters then show:
tx:4 rx:0No response is received from the IW612. The same result occurs with a direct manual UART test at 115200 baud, 8N1, without hardware flow control.
Our current configuration is:
mchar_port = /dev/ttyLP5
baudrate_fw_init = 115200
enable_download_fw is left disabled because the combo firmware is already downloaded by the Wi-Fi driver.
Could you please clarify:
Any reference configuration or expected UART trace would be very helpful.
Best regards.
Hi, @vins-idg
1. After loading sduart_nw61x_v1.bin.se through SDIO, should IW612 Bluetooth UART respond directly to HCI Reset at 115200?
In principle, yes — once the combo firmware is active and the BT UART block is awake/ready, the controller should respond to HCI Reset with a Command Complete event.
2. Is a boot-sleep trigger, wake command, vendor command, or other initialization sequence required first?
For normal Android bring-up, do not rely only on manually sending HCI Reset. Let the NXP vendor HAL or NXP UART driver perform the initialization sequence.
3. Is hardware flow control mandatory for IW612? What should CTS state be?
For a production IW612 BT UART design, hardware flow control should be enabled and correctly wired. Disabling CRTSCTS is useful only as a diagnostic step; it should not be considered the final fix.
4. Should we use uartspi_n61x_v1.bin.se instead of combo firmware loaded by Wi-Fi?
You can have a try with the seperate FW to debug the issue, but it should not the root cause. With combo FW, should also work as expected.
5.Let me have a try on my local side then share to you a worked on my side conf file to you.
Please allow me some time.
Best regards,
Christine.
Hi, @vins-idg
How is your side?
I took some time to prepare the environment to build Android 16 source code.
Now I can build it, it will need some time to finish building, please allow me some more time.
Best regards,
Christine.
Hi, @vins-idg
Sorry for my late reply and thanks for your patience.
I already finished the local test on my side, and now IW612 can work fine on my I.MX95-19*19-EVK. Because there is no Verdin board,I use I.MX95-19*19-EVK to finish the test.
Below is the bt_vendor.conf screenshot and also you can see BT can work fine on the right side.
In fact, I just use the default bt_vendor.conf and do not modify anything in it.
Hope it can help you somehow.
If it still could not work on your side, please help to provide me your dts and also dmesg logs for further checking.
Because here, the community is a public place, to save your security info, you can send your dts file to my private working email: [email protected].
Best regards,
Christine.
Hi, @vins-idg
Did you get any chance to read my above comment?
How is it going on your side?
Please let me know if need any further info from my side.
Best regards,
Christine.
Hi, @vins-idg
How is it going on your side?
Please let me know if need any further info from my side.
Best regards,
Christine.