蓝牙连接失败
BlueTooth connection faliure
环境
- Ubuntu 16.04
- 标准 USB 蓝牙适配器
- C++
- BlueZ
- 运行 作为 root
问题描述
虽然 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
环境
- Ubuntu 16.04
- 标准 USB 蓝牙适配器
- C++
- BlueZ
- 运行 作为 root
问题描述
虽然 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