This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/CC2564MODN:hciattach 无法连接蓝牙模块

Guru**** 1168140 points
Other Parts Discussed in Thread: CC2564MODN, CC2564MODNEM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/799633/linux-cc2564modn-hciattach-fails-to-attach-bluetooth-module

器件型号:CC2564MODN

工具/软件:Linux

禁用板载蓝牙模块的 Raspberry Pi 3、在自定义 HAT 板上使用 CC2564MODN 尝试在 Raspbian Linux 4.14.98中将模块连接到 BlueZ、在切换到3000000波特后失败。

我使用命令编辑了/usr/bin/btuart shell 脚本

hciattach /dev/ttyAMA0 Texas 115200流程-$BTADDR

运行/usr/bin/btuart 后的响应是...
找到 了德州仪器的芯片!
固件文件: /lib/firmware/ti-connectivity/TIInit_6.7.16.bts
已加载 BTS 脚本版本1
TExaS:将波特率更改为30000流控更改为1
无法设置设备:不支持协议
无法初始化设备:不支持协议

为什么 hciattach 将波特率更改为300000?

是否有人知道如何使用 Raspbian-lite 在 Raspberry PI 上使用 CC2564MODN 或 CC2564MODNEM 板?

我是否需要从官方来源下载 bluez、编译并覆盖默认的 Raspbian 版本?

提前感谢。

Kyran McGlasson
Sage Automation

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请确保 UART 端口支持3Mbps。 您还可以尝试使用较低的波特率。 为此、您需要修改 BTS 文件。

    最新 Service Pack
    www.ti.com/.../wl18xx-bt-sp

    修改 BTS 文件的工具:
    www.ti.com/.../WILINK-BT_WIFI-WIRELESS_TOOLS

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢 Hari、

    我可以确认 RPi3B 在 ttyAMA0上支持3MBaud、因为板载 BT/Wifi 模块配置为使用3MBaud。 不再重要了、因为我使用的是一个不同的 BTS、该 BTS 保持在115200。

    我已经从 TI 网站下载了其他 BTS 文件、现在使用的是 TIInit_6.7.16_bt_spec 4.1.bts、重命名/复制为 TIInit_6.7.16.bts 到/lib/firmware/ti-connectivity 目录中。

    这一个尤其保持在115200上、但仍然无法初始化。

    绝望的是、我用 CC256XEM-STADAPT 板热接线了 CC2564MODNEM 板(好的、我稍微修改了一下 Dupont 连接器)-连接到 Raspberry Pi 3B SBC 板。

    我禁用了板载 wifi 和 bt、现在在引脚14和15上配置了 ttyAMA0、在16和17上配置了 RTS/CTS。 我已禁用 hciuart 服务,并使用/usr/bin/btuart 脚本运行 hciattach 命令。 btuart 文件使用几条 GPIO 命令通过连接到 nSHDN 引脚的 GPIO4执行复位,然后它有命令...

    $HCCATTACH /dev/ttyAMA0德克萨斯州115200流程-$bdaddr

    退出0

    我还将 Saleae 逻辑8模块连接到了引脚- nSHDN、TXD、RXD、RTS、CTS、 并执行了跟踪。

    我可以确认 RTS 和 CTS 正在正常工作、RPi 主机正在 RXD 引脚上发送 HCI 命令、CC2564MODN 模块在 TXD 引脚上响应。

    然后我禁用了 RTS/CTS、但仍然保持连接、hciattach 命令现在具有 nofflow 选项。

    以下是复位期间的情况。 我注意到 RTS 线路变为高电平、直到模块就绪。

    下面是第一个事务。

    然后是下一个交易... 我注意到 RTS 线路在响应期间变为高电平。

    然后是下一个交易...

    接下来是一系列大型 RX 数据包、后跟7字节小响应。

    在 Raspberry PI 3控制台上,hciattach 命令的响应是...

    找到了德州仪器的芯片!
    固件文件:/lib/firmware/ti-connectivity/TIInit_6.7.16.bts
    已加载 BTS 脚本版本1
    TExaS:将波特率更改为115200、将流控制更改为1
    无法设置设备:不支持协议
    无法初始化设备:不支持协议

    是否有人可以为 Raspberry Pi 3提供有效的解决方案???

    非常感谢。

    Kyran McGlasson
    Sage Automation

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果有人希望查看完整的交互、则附加的 Saleae 捕获导出功能启用了流控。

    e2e.ti.com/.../cc2564modN_5F00_RTSCTS_5F00_capture.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已经解决了自己的问题、很明显、默认的 Raspbian 内核没有启用蓝牙 HCI LL 协议支持。

    我在启用此选项的情况下重新编译了内核、现在可以成功连接启用了硬件流控制的 CC2564MODNEM 模块、波特率为3000000。 ISCAN 和 PSCAN 也能正常工作。

    谢谢、Kyran McGlasson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../1222.TIInit_5F00_6.7.16.zipAttached是 TIInit_6.7.16.bts 文件-波特率设置为3000000 -如果有人感兴趣。 这需要进入/lib/firmware/ti-connectivity 文件夹。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很高兴听到您的声音、您找到了解决方案。