使 UE BOOM 蓝牙扬声器连接永久化

使 UE BOOM 蓝牙扬声器连接永久化

我可以在 Linux 中添加并连接蓝牙扬声器(UE BOOM 扬声器;此答案中的一些详细信息这里)。此时,它已配对并可信任并且可以完美运行。

问题是,几乎每次注销和每次重新启动后,蓝牙扬声器都不会出现在可以选择的输出设备列表中。pavucontrol或者在面板小程序我已经安装在这个 Mint Xfce 中了。

如果扬声器断开连接并被另一台机器或电话使用,也会发生同样的情况。

它仍然存在于蓝牙设置的设备列表中,但已被禁用且无法启用

在此输入图像描述

在极少数情况下,设备在 中被标记为“软阻止” sudo rfkill list。在这种情况下,我可以使用 解锁它sudo rfkill unblock bluetooth,有时这已经足够了,但在大多数情况下那些案例还不够(我必须手动连接)。但在大多数情况下全部情况(即:当设备可见但未连接时),它是不是被阻止。


什么在所有情况下都有效

(但我想避免在每次重新启动/登录后执行此操作):

  • 从 Xfce 蓝牙设置中完全删除设备,
  • 按下扬声器的蓝牙按钮(图像),
  • 让笔记本电脑再次找到 UE BOOM 扬声器。 (在大多数情况下,这足以让扬声器自动连接并出现在pavucontrol面板小程序中。在某些情况下,sudo rfkill unblock bluetooth需要该命令才能让计算机看到扬声器。)

因此,这里似乎有两个问题可能会或可能不会在同一场合发生:

  • 扬声器被“软屏蔽”

  • 可以看到扬声器但没有连接

这个问题不是 Ubuntu、Xfce 或内核特有的,我在 Ubuntu Gnome、KDE-neon 和 Solus(Gnome 和 Budgie)中以相同的术语看到过它。


更改#AutoEnable=falseAutoEnable=true没有/etc/bluetooth/main.conf帮助。


我遇到这个问题的系统:

  • Linux Mint 18.2 Xfce

  • Ubuntu-Gnome 17.04

  • KDE-neon(基于 ubuntu-16.04),

  • Solus(侏儒和虎皮鹦鹉)

  • Ubuntu 17.10

答案1

首先:确保没有其他设备(例如智能手机或笔记本电脑)连接到同一个 USB 外部设备。


我认为在这个问题下提及我发现的实际解决方案是正常的——或者更准确地说是问题消失的实际情况——这可能会揭示问题到底是什么(或不是)。

所以 - 在 Linux Mint 18.2 Xfce、Ubuntu-Gnome(17.04,如果我没记错的话)、KDE-neon(我认为基于 ubuntu-16.04)和 Solus(Gnome 和 Budgie,滚动版本)中看到这个问题之后),我可以确认Ubuntu 16.04 本身(“Ubuntu Desktop”,又名 Unity)不受此影响

添加并连接后,扬声器蓝牙设备就会被记住,并且在开机时会自动连接,无需事先或进一步处理。

只需要在声音设置中选择即可。

在此输入图像描述

就是这样,我不知道该得出什么结论,除了在关键情况下建议使用最中心的分布。


更新〜不受此问题影响的其他系统:

  • Linux Mint 18.3 KDE

  • Linux Mint 18.3 伴侣


出现此问题的系统上的工作原理:

在这种情况下,运行sudo rfkill list给出Soft blocked: yes,可以使用sudo rfkill unblock bluetooth或 来解锁rfkill unblock bluetooth

如果这不起作用(甚至在任何情况下),那么这样做可能是个好主意:

systemctl enable bluetooth.service
systemctl start bluetooth.service

(如..所示这里;第一个命令将多次要求输入密码)


UE BOOM2 设备可以是重置同时长按电源按钮和降低音量按钮(直到听到声音并且设备关闭),这与上述内容结合使用可能会有所帮助。

答案2

UE Boom 2 扬声器使用低功耗蓝牙 (LE) 定期报告其功率水平,并在关机时使用手机应用程序启用远程开机功能。

经历了与OP相同的问题,我相信这就是问题的原因......无论出于何种原因,Bluez尝试使用LE而不是BR/EDR(普通蓝牙)连接到扬声器并立即失败。日志消息通常与 GATT 相关,并且作为附加证据,当设备断电时,它仍会尝试连接,但不会返回预期的“主机已关闭”消息,因为 LE 始终开启且可用。它实际上并未连接到音频接收器,并且大多数时候报告“资源不可用”。

所以...在配对过程中,配置文件记录了设备支持LE。为了解决这个问题,我干脆删除了这个支持属性。从那以后我就没有遇到过连接问题(除非扬声器已经连接到我的手机,但这是另一个问题)即使重新启动或注销时也是如此。

配对扬声器后。关闭蓝牙:

sudo rfkill block bluetooth

以 root 身份在编辑器 (nano/vim) 中打开文件:

/var/lib/bluetooth/<bluetooth-adapter-mac-address>/<speaker-mac-address>/info

如果您不知道蓝牙适配器 mac 地址或扬声器 mac 地址,那么运行sudo grep -rnw '/var/lib/bluetooth/' -e 'UE'应该会给您提示。如果您重命名了扬声器,请将字符串“UE”替换为名称。

在此文件中,您应该看到以下行:

SupportedTechnologies=BR/EDR;LE;

将其替换为:

SupportedTechnologies=BR/EDR;

保存文件。确保扬声器已关闭。启用蓝牙最好重新启动计算机 - 但重新启动蓝牙服务可能会起作用:

sudo rfkill unblock bluetooth
sudo systemctl restart bluetooth

现在,即使在重新启动和注销时,它也不应该再次使用 LE 连接。如果您出于某种原因重新配对设备,则此更改将会丢失。之前给出,我希望它也适用于任何寻求解决此问题的人......

在使用上面的文件进行更改之前,我使用了另一种尝试方法,但效率低得多的解决方案是使用以下命令禁用适配器上的 LE: sudo btmgmt le off - 其结果相同。

相关内容