【问题标题】:Can't set SSP mode in Bluez through DBus无法通过 DBus 在 Bluez 中设置 SSP 模式
【发布时间】:2018-02-09 13:06:22
【问题描述】:

我需要以编程方式更改安全简单配对模式,但我不知道如何在 Bluez 中使用 DBus 命令打开或关闭 SSP 模式。

使用btmgmt 实用程序,我只是这样做:

btmgmt ssp off
btmgmt ssp on

好的,但我需要的是可以包含在我的应用程序中的 DBus 方法调用

但是Bluez documentation似乎没有提到任何改变SSP模式的DBus方法。

有人知道怎么做吗? (gdbus calldbus-send 的例子会很棒)。

或者这是不可能的?

【问题讨论】:

    标签: bluetooth dbus bluez gdbus ssp


    【解决方案1】:

    使用 DBus 无法做到这一点。 Bluez 没有用于此的 DBus API。您需要使用蓝牙管理套接字接口来切换 SSP 模式,或者您可以使用 bluez 已弃用的 HCI 接口来执行此操作。

    要了解如何使用蓝牙管理套接字,请参阅 bluez-5.X 源目录中的 bluez-5-X/doc/mgmt-api.txt 文件。切换 SSP 的命令代码是 0x000B。实际上,这就是btmgmt 工具启用/禁用 SSP 的方式。它使用蓝牙管理套接字。在 bluez-5.X/tools/btmgmt.c 中搜索关键字 ssp 并查看示例 C 代码。

    您也可以使用已弃用的 hci API(不推荐)来执行此操作。请参阅 bluez-5-X/lib/hci.c 中的 hci_write_simple_pairing_mode 方法。

    【讨论】:

    • 感谢您的回答。
    猜你喜欢
    • 2015-10-01
    • 2019-05-08
    • 2016-01-24
    • 2016-09-09
    • 2012-09-02
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多