无法获得对 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 的任何回复的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 dbus-send 调用 org.bluez.Adapter1.StartDiscovery?