蓝牙连接失败

BlueTooth connection faliure

环境



问题描述


虽然 hcitool 和 sdptool 正常运行,但我的代码无法使用 errno == 2 ( ENOENT ) 连接到 SDP,以下是失败的代码:

m_pSDPSession = sdp_connect(BDADDR_ANY, BDADDR_LOCAL, SDP_RETRY_IF_BUSY | SDP_WAIT_ON_CLOSE);

为什么我会 'sdp_connect' 失败?我该如何解决?

正如 Shravan40 所指出的,添加“--compat”@'bluetooth.service' 解决了问题

编辑 /usr/lib/systemd/system/bluetooth.service 并在 ExecStart 选项中包含标志。

ExecStart=/usr/libexec/bluetooth/bluetoothd --compat

然后

$ systemctl daemon-reload

$ systemctl restart bluetooth.service