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/CC2564:新版 BlueZ 中的 btattach 命令

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/608587/linux-cc2564-btattach-command-in-new-bluez-release

器件型号:CC2564

工具/软件:Linux

你好

在我的 Linux 嵌入式平台上、为了获得 BLE 支持、我尝试将 BlueZ 库从4.x 迁移到5.x。 到目前为止、器件上电后、我使用 hciattach 命令以以下方式将串行器件连接到 BlueZ 堆栈:

hciattach -s 115200 /dev/ttySP0 Texas 3000000 

但是 bluez 在版本5.37中引入了 btattach 命令、因为 hciattach 的后继路由器、并且命令语法完全不同:

用法:
btattach [选项]
选项:
-B、--braddr 连接主控制器
A、-amp 连接 AMP 控制器
-P、--protocol 指定协议类型
-S、--speed 指定要使用的波特率
-N、--nooflyctl 禁用流量控制
-h、--help 显示帮助选项

我可以设置速度和开发控制器、但类型参数 已消失! 那么 HCI_init 会失败、因此我不知道器件是否正确连接... 我还想添加"--协议 l",但情况是一样的。 您是否已经体验过这样的体验?

谢谢你

Mirco

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

    为 btattach 设置了哪些选项,您能否按如下方式发出命令:

    btattach --bredr /dev/ttySP0 -P Texas -S 115200

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

    我无法将 TExaS 指定为协议类型、返回消息为"无效协议"。 支持的值包括:

    • H4.
    • bcsp
    • 3线
    • h4ds
    • LL
    • ath3k
    • 英特尔
    • BCM
    • QCA

    如果我未指定协议、串行器件看起来已连接、但在 HCI_INIT (特别是 HCI_INIT2_REQ)期间、一些初始化调用失败、因为函数会将 EBUSY 返回为错误。

    我认为这可能是该版本中不同的 attach 命令、唯一的区别是从4.x 迁移到5.x Bluez... 但可能还有其他问题吗?

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

    您使用的内核版本是什么? 您能否布置 DMS | grep HCI 的输出、通常应如下所示:

    root@evm:~# dmesg | grep HCI
    [0.387283]蓝牙:HCI 设备和连接管理器已初始化
    [0.387297]蓝牙:HCI 套接字层已初始化
    [1.638919]蓝牙:HCI UART 驱动程序版本2.3
    [1.643387]蓝牙:已注册 HCI UART 协议 H4
    [1.648548]蓝牙:已注册 HCI UART 协议 BCSP
    [1.653885]蓝牙:已注册 HCI UART 协议 LL
    [1.659047]蓝牙:已注册 HCI UART 协议 ATH3K
    [1.664640]蓝牙:已注册 HCI UART 协议三线制(H5)
    [1.671056]蓝牙:Intel 注册的 HCI UART 协议
    [1.676598]蓝牙:已注册 HCI UART 协议 BCM
    [1.681848]蓝牙:已注册 HCI UART 协议 QCA


    如果您的输出中使用了 TExaS 协议、这意味着内核支持该协议。
    我还比较了 bluez4和 bluez5、您需要将对德州协议的支持从 bluez4移植到 bluez5。

    谢谢、
    Prabhakar LAD
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我正在使用3.10.102内核、这是 dmesg 输出:

    蓝牙:HCI 设备和连接管理器已初始化
    蓝牙:HCI 套接字层已初始化
    蓝牙:HCI UART 驱动程序版本2.2
    蓝牙:HCI H4协议已初始化
    蓝牙:HCI BCSP 协议已初始化
    蓝牙:HFILL 协议已初始化

    之前的工作版本(带 bluez-4)是2.6.35、dmesg 输出是相同的... 您认为我应该手动将德州协议扩展到 Bluez5吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您的实际要求是什么、我已经使用了 Bluez5.45、您是否使用了 ti-st 驱动程序([1])?

    [1] e2e.ti.com/.../422900

    谢谢、
    Prabhakar LAD
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    BLE 使用 BlueZ-5.45、这正是我的要求!
    我将阅读您报告的讨论、并尝试一下。
    谢谢你
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在我之前的版本中、我没有使用共享传输驱动程序、而关于其他提示、我在/lib/firmware 中同时提供了 TIInit_7.6.15.bts 和 ti-connectivity、以及用于 Linux 的更新的 WiFi 驱动程序。
    您认为现在共享传输是强制性的吗?要将 bluez-5.45与3.10.102内核一起使用?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    是的、共享传输驱动程序[1]为您执行所有处理、因此您不必担心任何问题。

    [1] processors.wiki.ti.com/.../Shared_Transport_Driver

    谢谢、
    Prabhakar LAD