我正在尝试使用dbus-send
命令行工具与Bluez 5.44进行交互。我似乎无法让它正确地开始发现,虽然它在我使用bluetoothctl
的{{1}}和scan on
命令时工作正常。我也可以使用scan off
启动和停止发现。
我在发出命令之前尝试过关闭电源,但似乎没有开始发现。
我正在使用的命令行是:
d-feet
发出此命令时我通常从dbus-send --system --type=method_call --print-reply --dest=org.bluez \
/org/bluez/hci0 \
org.bluez.Adapter1.StartDiscovery
得到的是dbus-monitor
属性为Discovering
。
供参考,这是false
显示的内容。
这个命令我做错了什么?
答案 0 :(得分:3)
问题是dbus-send几乎立即退出。 BlueZ跟踪请求发现的客户端(将适配器的D-Bus代理打开),当没有更多客户端请求发现时,发现将停止。
d-feet和bluetoothctl是长生存进程,可以将org.bluez.Adapter1代理保持在适配器上。
我使用我正在处理的glib客户端遇到了同样的问题,解决方法是将D-Bus代理对象保持在适配器上。
如果你必须坚持使用dbus-send,这可能是个坏消息。