你好,
我们正在Verdin i.MX95 WB上运行NXP Android 15 BSP (Linux 6.6.58)来启用蓝牙。板载无线模块为基于 NXP IW612 的 u-blox MAYA-W260 。
Wi-Fi 通过 SDIO 正常工作,并且组合固件已成功加载:
Request firmware: sduart_nw61x_v1.bin.se
Wlan: FW download over
WLAN FW is active
蓝牙似乎无法正常工作。无论何时我们在 Android 设置中启用该功能,UI 开关都会卡住,并且找不到蓝牙设备。
蓝牙已连接到LPUART6 (/dev/ttyLP5)。NXP厂商HAL成功打开UART。
我们最初发现硬件流控制阻止了传输;在暂时禁用 CRTSCTS 后,HAL 发送了 4 字节的 HCI 重置命令:
01 03 0c 00UART 计数器随后显示:
tx:4 rx:0IW612 没有响应。直接手动进行 UART 测试,波特率为 115200,8N1,没有硬件流控制,也会出现同样的结果。
我们目前的配置是:
mchar_port = /dev/ttyLP5
baudrate_fw_init = 115200
由于 Wi-Fi 驱动程序已经下载了组合固件,因此 enable_download_fw 保持禁用状态。
请问您能否澄清一下:
任何参考配置或预期的UART跟踪信息都将非常有帮助。
顺祝商祺!
你好, @vins-idg
1.通过 SDIO 加载 sduart_nw61x_v1.bin.se 后,IW612 蓝牙 UART 是否应该直接响应 115200 的 HCI 复位信号?
原则上,是的——一旦组合固件激活且 BT UART 模块唤醒/就绪,控制器就应该响应 HCI 重置并发出命令完成事件。
2. 是否需要先执行启动睡眠触发器、唤醒命令、供应商命令或其他初始化序列?
对于正常的 Android 启动,不要仅仅依赖手动发送 HCI Reset 命令。让 NXP 厂商 HAL 或 NXP UART 驱动程序执行初始化序列。
3. IW612 是否必须采用硬件流控制?CTS状态应该是什么?
对于量产的 IW612 BT UART 设计,应启用硬件流控制并正确接线。禁用 CRTSCTS 仅作为诊断步骤有用;不应将其视为最终修复方法。
4. 我们是否应该使用 uartspi_n61x_v1.bin.se 而不是通过 Wi-Fi 加载的组合固件?
你可以尝试使用单独的固件来调试问题,但这应该不是根本原因。使用组合固件,应该也能正常工作。
5.让我先在本地测试一下,然后把在我这边运行正常的配置文件分享给你。
请给我一些时间。
顺祝商祺!
Christine。
你好, @vins-idg
你那边情况如何?
我花了一些时间来准备构建 Android 16 源代码的环境。
现在我可以开始版本了,但是版本完成还需要一些时间,请再给我一些时间。
顺祝商祺!
Christine。
你好, @vins-idg
很抱歉回复晚了,感谢您的耐心等待。
我已经完成了本地测试,现在 IW612 在我的 I.MX95-19*19-EVK 上可以正常工作。由于没有 Verdin 板,我使用 I.MX95-19*19-EVK 完成了测试。
下面显示的是 bt_vendor.conf 的截图,您还可以看到右侧的蓝牙功能可以正常工作。
实际上,我只是使用了默认的 bt_vendor.conf 文件,并没有对其进行任何修改。
希望对你有所帮助。
如果仍然无法解决您的问题,请提供您的 dts 文件和 dmesg 日志,以便我进一步检查。
因为这里是公共场所,为了保护您的安全信息,您可以将您的 dts 文件发送到我的私人工作邮箱: [email protected] 。
顺祝商祺!
Christine。
你好, @vins-idg
你那边情况如何?
如果需要我提供任何其他信息,请告诉我。
顺祝商祺!
Christine。
你好, @vins-idg
你有没有机会看到我上面的评论?
你那边情况如何?
如果需要我提供任何其他信息,请告诉我。
顺祝商祺!
Christine。