Debian 11 蓝牙 sap 驱动程序初始化失败

Debian 11 蓝牙 sap 驱动程序初始化失败

我尝试通过蓝牙将语音连接到笔记本电脑,当我连接到笔记本电脑时,笔记本电脑显示消息“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 配置文件支持,此后就没有修改该特定决定。 错误报告已存在提到这个问题。

相关内容