尝试从我们的应用程序调用Acquire dbus api时,bluez堆栈成功获取fd,imtu,omtu,并使用g_dbus_send_reply通过dbus发送它。但是当我们从我们的应用程序调用dbus_connection_send_with_reply_and_block时,我们无法得到回复,也无法得到fd,imtu和omtu.dbus正在返回org.freedesktop.DBus.Error.NoReply。
使用的dbus版本是1.10.10。 Bluez版本 - 5.37
看到Dbus错误, 方法调用时间= 1493814994.072004 sender =:1.50 - > destination = org.bluez serial = 50 path = / org / bluez / hci0 / dev_A4_70_D6_7A_74_7F / fd2;接口= org.bluez.MediaTransport1;构件=采集
错误时间= 1493814994.074396 sender = org.freedesktop.DBus - > destination =:1.50 error_name = org.freedesktop.DBus.Error.NoReply reply_serial = 50 字符串"消息收件人与消息总线断开连接而未回复"
看到蓝牙错误, 状态已更改/ org / bluez / hci0 / dev_88_79_7E_84_2C_54 / fd2:TRANSPORT_STATE_PENDING - > TRANSPORT_STATE_ACTIVE bluetoothd [7523]:与D-Bus断开连接。离开。
任何输入都会有很大帮助。等待回复。
答案 0 :(得分:0)
通过为蓝牙应用Smack补丁解决了这个问题。 此补丁允许应用程序使用内核套接字。
补丁是,
0001-的Smack-文件的接收换sockets.patch
0002-咂嘴-FIX-缓存的存取labels.patch
0003-的Smack-忽略无效信号在-smack_task_kill.patch
0004-的Smack-分配-smack_known_web标签换内核thread.patch
Gerrit链接 - https://gerrit.automotivelinux.org/gerrit/#/c/6995/