尝试连接蓝牙扬声器时出错:`org.bluez.Error.Failed`

尝试连接蓝牙扬声器时出错:`org.bluez.Error.Failed`

我正在运行 Debian Jessie 8.2。我的机器上连接了一个蓝牙 USB 适配器。

我运行sudo bluetoothctl -a然后执行以下操作:

[NEW] Controller 5C:F3:70:6B:57:60 debian [default]
Agent registered
[bluetooth]# scan on
Discovery started
[CHG] Controller 5C:F3:70:6B:57:60 Discovering: yes
[bluetooth]# devices
[NEW] Device 08:DF:1F:A7:B1:7B Bose Mini II SoundLink
[bluetooth]# pair 08:DF:1F:A7:B1:7B
Attempting to pair with 08:DF:1F:A7:B1:7B
[CHG] Device 08:DF:1F:A7:B1:7B Connected: yes
[CHG] Device 08:DF:1F:A7:B1:7B UUIDs:
    0000110b-0000-1000-8000-00805f9b34fb
    0000110c-0000-1000-8000-00805f9b34fb
    0000110e-0000-1000-8000-00805f9b34fb
    0000111e-0000-1000-8000-00805f9b34fb
    00001200-0000-1000-8000-00805f9b34fb
[CHG] Device 08:DF:1F:A7:B1:7B Paired: yes
Pairing successful
[CHG] Device 08:DF:1F:A7:B1:7B Connected: no
[bluetooth]# trust 08:DF:1F:A7:B1:7B
[CHG] Device 08:DF:1F:A7:B1:7B Trusted: yes
Changing 08:DF:1F:A7:B1:7B trust succeeded
[bluetooth]# connect 08:DF:1F:A7:B1:7B
Attempting to connect to 08:DF:1F:A7:B1:7B
Failed to connect: org.bluez.Error.Failed

但是我以这种方式连接到我的 iPhone。为什么我无法连接到 Bose Mini II SoundLink 扬声器?

答案1

这可能是由于pulseaudio-module-bluetooth未安装该软件包造成的。如果缺少则安装它,然后重新启动pulseaudio。

sudo apt install pulseaudio-module-bluetooth 
pulseaudio -k
pulseaudio --start

如果问题不是由于缺少软件包造成的,那么这种情况下的问题是 PulseAudio 没有跟上。此问题的常见解决方案是重新启动 PulseAudio。请注意,当 PulseAudio 作为用户运行时,以 root 身份运行 bluetoothctl 是完全可以的。重新启动 PulseAudio 后,重试连接。无需重复配对。

仅当上述内容对您不起作用时才继续尝试第二部分:

如果重启 PulseAudio 不起作用,则需要加载 module-bluetooth-discover。

sudo pactl load-module module-bluetooth-discover

可以将相同的加载模块命令添加到/etc/pulse/default.pa.如果仍然不起作用,或者您正在使用 PulseAudio 的系统范围模式,还请加载以下 PulseAudio 模块(同样可以通过 default.pa 或 system.pa 加载这些模块):

module-bluetooth-policy
module-bluez5-device
module-bluez5-discover

答案2

在配对设备之前先尝试信任该设备。
我在尝试将 AirPods 与 Ubuntu 16.04 配对时遇到了同样的错误。
在 bluetoothctl 和 sudo 我得到

Attempting to pair with XX:XX:XX:XX:XX:XX  
Failed to pair: org.bluez.Error.AuthenticationCanceled

Attempting to connect to XX:XX:XX:XX:XX:XX  
Failed to connect: org.bluez.Error.Failed

现在这就是我尝试过的(全面进展)

$ sudo bluetoothctl
[bluetooth]# power on
[bluetooth]# agent on
[bluetooth]# default-agent
[bluetooth]# scan on
[NEW] Device XX:XX:XX:XX:XX:XX David's AirPods
[bluetooth]# scan off
[bluetooth]# trust XX:XX:XX:XX:XX:XX
[bluetooth]# pair XX:XX:XX:XX:XX:XX
Attempting to pair with XX:XX:XX:XX:XX:XX
[CHG] Device XX:XX:XX:XX:XX:XX Connected: yes
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: ... 
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: ... 
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: ... 
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: ... 
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: ... 
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: ... 
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: ... 
[CHG] Device XX:XX:XX:XX:XX:XX UUIDs: ... 
[CHG] Device XX:XX:XX:XX:XX:XX Paired: yes
Pairing successful
[CHG] Device XX:XX:XX:XX:XX:XX Connected: no
[bluetooth]# connect XX:XX:XX:XX:XX:XX
Attempting to connect to XX:XX:XX:XX:XX:XX
[CHG] Device XX:XX:XX:XX:XX:XX Connected: yes
Connection successful
[bluetooth]# quit

现在,AirPods 在我的 iPhone 和 Ubuntu 之间完美配合。

答案3

这个程序对我有用,谢谢。

补充评论:

我试图添加蓝牙扬声器,这是我收到的错误消息,

[NEW] Device FC:58:FA:B9:BF:A1 Anker A7910
[bluetooth]# connect FC:58:FA:B9:BF:A1
Attempting to connect to FC:58:FA:B9:BF:A1
[CHG] Device FC:58:FA:B9:BF:A1 Connected: yes
Failed to connect: org.bluez.Error.Failed
[CHG] Device FC:58:FA:B9:BF:A1 Connected: no
[CHG] Device FC:58:FA:B9:BF:A1 Connected: yes
[CHG] Device FC:58:FA:B9:BF:A1 Connected: no

我取下了设备,然后重复大卫·荣格分享的所有陡峭动作。

这是现在的样子:

[Anker A7910]# info FC:58:FA:B9:BF:A1
Device FC:58:FA:B9:BF:A1
    Name: Anker A7910
    Alias: Anker A7910
    Class: 0x260404
    Icon: audio-card
    Paired: yes
    Trusted: yes
    Blocked: no
    Connected: yes
    LegacyPairing: yes
    UUID: Serial Port               (00001101-0000-1000-8000-00805f9b34fb)
    UUID: Audio Sink                (0000110b-0000-1000-8000-00805f9b34fb)
    UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
    UUID: A/V Remote Control        (0000110e-0000-1000-800

再次感谢

答案4

渴望发表评论,因此写下答案以使他人从观察中受益:

就我而言,Ubuntu 17.04,只需安装 bluez ( sudo apt-get install bluez) 即可。我不需要任何包裹pulseaudio。我刚刚按照 David Jung 的回答第一次连接了 JBL 蓝牙耳机。确保耳机刚刚开机 - 基本上已设置为可发现模式。

此外,为了重新连接(例如重新启动后),只需调用bluetoothctl -a然后连接即可。如果您的窗口管理器中有一个小程序,那么当然可以从那里进行连接,否则命令行界面是bluetoothctl -a.不要忘记devices在菜单中发出命令sudo bluetoothctl -a以确保您的设备可用。如果设备列表为空,请首先遵循@David Jung 的答案。

确保服务正在运行。检查sudo systemctl status bluetooth.servicesudo systemctl status bluetooth.target。两者都应该处于活动状态并已加载!有时,在 bluetoothctl -a 起作用之前重新启动这两个服务。我在 sudo 权限下执行了所有命令,只是为了避免任何漏洞。

一个有用的实用程序是btmon监控连接或配对时到底发生了什么,或者与蓝牙命令相关的任何事情。

相关内容