无法获得对 dbus-send 的任何回复

Posted

技术标签:

【中文标题】无法获得对 dbus-send 的任何回复【英文标题】:Can't get any replies to dbus-send 【发布时间】:2013-08-24 15:19:08 【问题描述】:

我正在尝试创建一些脚本来在嵌入式 Arch linux 平台上发现和配对蓝牙设备,但似乎无法获得对 dbus-send 命令的任何回复。

错误消息几乎总是相同的(方法不存在),但是发送的语法似乎是正确的。

我已经在这里搜索并搜索了正确的语法和错误,但找不到任何解决方案。

[root@alarmpi ~]# dbus-send --system --dest=org.bluez --print-reply / org.bluez.Manager.GetProperties
Error org.freedesktop.DBus.Error.UnknownMethod: Method "GetProperties" with signature "" on interface "org.bluez.Manager" doesn't exist


[root@alarmpi ~]# dbus-send --system --print-reply --dest=org.bluez /org/bluez/134/hci0 org.bluez.Adapter.GetProperties
Error org.freedesktop.DBus.Error.UnknownObject: Method "GetProperties" with signature "" on interface "org.bluez.Adapter" doesn't exist

Bluez 已安装,我可以使用 hcitool 和 bluetoothctl 实用程序手动发现和配对设备,但是该方法不适用于最终用户,我需要为他们创建一个 Web 界面来执行发现和配对.

似乎 dbus 是执行此操作的首选方法,因为 bluetoothctl 不接受命令行参数来允许它配对设备地址。

任何帮助/建议将不胜感激。

【问题讨论】:

hcitool 不使用 bluez,它直接与内核通信,检查 bluez 是否正在运行(bluetoothd),因为我认为 bluetoothd 守护进程没有运行 谢谢,是的,它正在运行:[root@alarmpi ~]# ps aux | grep 蓝牙根 134 0.0 0.4 4220 1908 ? Ss Aug21 0:00 /usr/lib/bluetooth/bluetoothd 再检查一次,是“sdptool browse local”给你的o/p 谢谢 - 失败:## sdptool 浏览本地无法连接到 FF:FF:FF:00:00:00 上的 SDP 服务器:没有这样的文件或目录 ## - 这个错误是什么意思?? 这意味着蓝牙没有运行,或者蓝牙没有注册到dbus。 【参考方案1】:
    验证bluetoothd 是否正在运行, 安装一个名为 d-feet 的程序,它是一个 D-Bus 调试器,并查看系统总线选项卡上是否存在 org.bluez, 如果导航到目标对象、接口和方法,分别为“/”、“org.bluez.Manager”和“GetProperties”, 双击方法名称 (GetProperties) 并单击不带任何参数的执行 输出应该类似于 u'Adapters': ['/org/bluez/709/hci0'],如果不是 - 你的蓝牙有问题,

顺便说一句。你的命令是正确的。

【讨论】:

以上是关于无法获得对 dbus-send 的任何回复的主要内容,如果未能解决你的问题,请参考以下文章

Messenger Bot 无法响应

使用 dbus-send 设置/获取属性

如何使用 dbus-send 调用 org.bluez.Adapter1.StartDiscovery?

Solr Cassandra 空间搜索 - 无法获得任何结果

Pyqt - 无法从 QProcess 获得任何输出

订阅角度时无法在 ngoninit 中获得价值