蓝牙 - 连接失败:blueman.bluez.errors.DBusFailedError:协议不可用

pse*_*ach 93 pulseaudio bluetooth headset 16.04 bluez

我正在尝试在运行 Ubuntu 16.04 的 Thinkpad X230 平板电脑上添加 BlueParrott B-250XT+ 蓝牙耳机及其硬件蓝牙适配器。

适配器工作 - 这意味着它检测/看到耳机。但是,当连接到最初连接的耳机时,会弹出此错误:

Connection Failed: blueman.bluez.errors.DBusFailedError: Protocol Not available
Run Code Online (Sandbox Code Playgroud)

之后,耳机断开连接,以后无法连接 - 这是某种故障/错误,导致蓝牙随后无响应。

我安装了 Pulseaudio,并且在 X11 之后设置了蓝牙加载(这就是让我走到这一步的原因 - 到了我可以连接的程度)。但是,如前所述,设备在连接后不久就会被转储。

小智 170

这篇文章中的解决方案对我有用:

sudo apt-get install pulseaudio-module-bluetooth
pactl load-module module-bluetooth-discover
Run Code Online (Sandbox Code Playgroud)

然后从蓝牙设备中删除该设备并重新配对。

如果它有效,您可以考虑将第二个命令添加到您的启动设置中,这样您就不必在每次重新启动后再次运行它。


如果它不起作用,请尝试重新启动pulseaudio

pulseaudio -k
pulseaudio -D
Run Code Online (Sandbox Code Playgroud)

  • 感谢您的提示 - 当我执行第 2 步时,我收到一条消息“失败:模块初始化失败”,因此它还对我不起作用。 (38认同)
  • @psedach,请注意,如果在模块已经加载时尝试加载该消息,则会显示该消息。你可以测试它是否加载了`pactl list | grep 模块蓝牙发现`。 (8认同)
  • 为我工作,但我每次重新启动时都需要这样做...... (6认同)
  • 我的默认脉冲配置文件`/etc/pulse/default.pa` 里面已经有配置行了。`.ifexists module-bluetooth-discover.so \n load-module module-bluetooth-discover \n .endif` 在下次启动时,它开箱即用。(添加了`\n` 来象征那里的换行符) (2认同)

小智 5

对我有用的是:(正如 Sebastian Widz 上面指出的那样)

$ sudo apt-get purge pulseaudio  
$ rm ~/.config/pulse && sudo killall pulseaudio  
$ sudo apt-get install pulseaudio  
$ pulseaudio --start
Run Code Online (Sandbox Code Playgroud)

以上首先要确保脉冲正常工作。
然后,这个有点奇怪,pulseaudio 本身默认没有:

$ sudo apt-get install pulseaudio-module-bluetooth  
$ pactl load-module module-bluetooth-discover  
Run Code Online (Sandbox Code Playgroud)

我知道这有点多余,但这些步骤正是 10 分钟前对我有用的。
但好吧,至少现在可以了:)