我尝试通过蓝牙将语音连接到笔记本电脑,当我连接到笔记本电脑时,笔记本电脑显示消息“ACTION II 设置失败”。我做了一些搜索,安装了非免费存储库,但它仍然无法工作。最终我发现这发布并决定看看我的电脑会做出什么反应。我执行的systemctl status bluetooth.service
结果是:
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2022-06-07 20:19:30 CEST; 20min ago
Docs: man:bluetoothd(8)
Main PID: 686 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 18984)
Memory: 6.7M
CPU: 105ms
CGroup: /system.slice/bluetooth.service
└─686 /usr/libexec/bluetooth/bluetoothd
Jun 07 20:19:30 debian bluetoothd[686]: profiles/sap/server.c:sap_server_register() Sap driver initialization failed.
Jun 07 20:19:30 debian bluetoothd[686]: sap-server: Operation not permitted (1)
Jun 07 20:20:40 debian bluetoothd[686]: src/service.c:btd_service_connect() a2dp-sink profile connect failed for 54:B7:E5:6D:D3:68: Protocol not available
Jun 07 20:20:40 debian bluetoothd[686]: src/service.c:btd_service_connect() a2dp-source profile connect failed for 54:B7:E5:6D:D3:68: Protocol not available
Jun 07 20:21:22 debian bluetoothd[686]: src/service.c:btd_service_connect() a2dp-sink profile connect failed for 54:B7:E5:6D:D3:68: Protocol not available
Jun 07 20:21:22 debian bluetoothd[686]: src/service.c:btd_service_connect() a2dp-source profile connect failed for 54:B7:E5:6D:D3:68: Protocol not available
Jun 07 20:21:24 debian bluetoothd[686]: src/service.c:btd_service_connect() a2dp-sink profile connect failed for 54:B7:E5:6D:D3:68: Protocol not available
Jun 07 20:21:24 debian bluetoothd[686]: src/service.c:btd_service_connect() a2dp-source profile connect failed for 54:B7:E5:6D:D3:68: Protocol not available
Jun 07 20:21:28 debian bluetoothd[686]: src/service.c:btd_service_connect() a2dp-sink profile connect failed for 54:B7:E5:6D:D3:68: Protocol not available
Jun 07 20:21:28 debian bluetoothd[686]: src/service.c:btd_service_connect() a2dp-source profile connect failed for 54:B7:E5:6D:D3:68: Protocol not available
我还没有真正找到 sap 驱动程序是什么或如何安装它,我对 Linux 很陌生,所以我担心如果我下载错误的东西,就会烧毁房子,哈哈。感谢您的帮助!
答案1
您看到的消息表明两个不同的问题。
蓝牙音频不工作
这些消息就像
src/service.c:btd_service_connect() a2dp-sink profile connect failed for <Bluetooth device address>: Protocol not available
src/service.c:btd_service_connect() a2dp-source profile connect failed for <Bluetooth device address>: Protocol not available
提示包裹pulseaudio-module-bluetooth
可能丢失。 Debian 11 默认使用 PulseAudio 处理蓝牙音频设备。
关于 SAP 的消息
在蓝牙上下文中,SAP 指的是SIM 卡访问配置文件:一种蓝牙配置文件,允许口袋中的智能手机将其 SIM/USIM 卡借给汽车内置的移动电话硬件(或售后汽车套件),以利用针对汽车优化的免提功能功能、更好的天线以及汽车电气系统为无线电组件提供更多电力的可用性。
显然,这种 SIM 卡共享只应允许在可信的配对设备之间进行。
在没有SIM卡插槽且没有手机网络通信功能的台式机或笔记本电脑中,蓝牙SIM Access Profile毫无用处。它出现在 BlueZ 软件套件中,因为显然这部分软件套件已在一些旧智能手机中使用。 SIM 访问协议的 API 仍然存在,但要充分利用它,您必须在 BlueZ 和 SIM 卡读卡器(= SAP 驱动程序)之间编写合适的接口。
BlueZ 源码包仍然包含一个sap-dummy.c
文件作为如何编写 SAP 驱动程序的示例。如果我正确理解代码,sap-dummy.c
将提供 D-Bus 接口,而不是与真正的 SIM 卡通信,这将允许对另一个蓝牙设备的 SAP 功能进行故障排除……这在开发智能手机等时可能很有用。
在我看来,该sap-server: Operation not permitted (1)
错误消息是由于 D-Bus 默认情况下未配置允许设置 SAP 虚拟接口所需的权限而引起的。
BlueZ 源代码树中曾经存在的唯一其他 SAP 驱动程序特定于适用于智能手机和平板电脑的 ST-Ericsson U8500 平台,该平台于 2011 年发布。该代码已于 2017 年从存储库中删除有评论称U8500平台“早已消亡”。
因此,除非您正在构建自己的具有移动电话网络连接的设备,否则您可以安全地忽略它。
如果您想清理消息,您可能需要编写一个/etc/systemd/system/bluetooth.service.d/override.conf
包含以下内容的文件:
[Service]
ExecStart=
ExecStart=/usr/libexec/bluetooth/bluetoothd --noplugin=sap
这将导致bluetoothd
进程以添加的选项启动--noplugin=sap
,这将禁用 SAP 功能的残余并静默与蓝牙 SAP 配置文件相关的消息。
根据 Debian 软件包变更日志Debian BlueZ 软件包的维护者早在 2011 年就选择启用 SAP 配置文件支持,此后就没有修改该特定决定。 错误报告已存在提到这个问题。