如何改善 Linux 笔记本电脑上的弱蓝牙信号?

and*_*bak 8 linux laptop bluetooth

我在戴尔笔记本电脑上使用 Linux KDE Neon。有一个软件问题导致蓝牙信号比预期的要弱得多。我知道这一点,因为我曾经可以带着蓝牙耳机从笔记本电脑走开(在一个单人房间内,大约 7 米)没有问题。现在,同一耳机在笔记本电脑 1.5 米(5 英尺)以内时无法连接。连接后,当距离增加到一米(3 英尺)以上时,声音就会消失。这些耳机是唯一通过蓝牙连接到笔记本电脑的设备。

  • Linux 笔记本电脑问题:我知道这是 Linux 笔记本电脑上的问题,因为我在同一个房间里用其他蓝牙设备测试了相同的耳机:带有蓝牙适配器的不同 PC、MacBook 和两部不同的 Android 手机。它们都可以在 5-7 米范围内连接并工作,而不会出现音频中断。
  • 弱信号:我知道这是一个弱信号问题,因为当我将耳机移动到笔记本电脑 30 厘米(一英尺)以内时,耳机会连接到笔记本电脑并正常工作。
  • 软件问题:我知道,这是一个软件问题,因为最近后不同调用的某种组合bluetoothctlrfkillsudo systemctl restart bluetooth.service问题走了。不幸的是,当我重新启动操作系统时问题又回来了,此后我一直无法重现此解决方法。
  • 这台笔记本电脑上的 WiFi 已关闭。

在我通常的物理设置中,hcitool rssi ...返回-63和之间的值-66hcitool lq几乎总是返回255。(来自Linux 和 Unix SE 上的这个答案

Linux 中是否有任何方法可以在没有额外硬件的情况下通过软件提高蓝牙信号强度?

这可能是我配置中的错误吗?这可能是 BlueZ 中的错误吗?Linux内核?

另外,在观察了一段时间之后,似乎还有另一个症状。音频连续时,蓝牙信号正常。也就是说,如果我离笔记本电脑足够远,那么一旦歌曲或视频结束,蓝牙耳机就会断开连接。Pulseaudio 会影响蓝牙连接吗?

and*_*bak 3

2023-03-31 更新

\n

经过昨天多次失败的尝试,我似乎终于找到了一个“一步”的解决方案:让笔记本电脑进入睡眠状态。

\n

2023-03-30 更新

\n

情况变得更糟了。现在没有任何事情可以在工作前随机修复它。

\n

我找到了https://wiki.archlinux.org/title/bluetooth_headset,但没有一个相关的建议。“连接有效,但始终存在声音故障”部分听起来很有希望,但这不是我所经历的。声音很完美,但只有当我把头放在笔记本电脑旁边时。

\n

2023-01-06 更新

\n

我还是不明白发生了什么事。新年前夜更新后不久,这个问题又出现了。我非常喜欢通过在BIOS中打开和关闭蓝牙等方式来让蓝牙堆栈的软件端配合,但至少在经历了一周的痛苦之后,我可以正常使用我bluetoothctlbtmon耳机modprobe再次。也就是说,我正在尝试随机的事情,而不了解它们的确切组合中的哪一个有帮助。

\n

郑重声明,这次的名单是:

\n
    \n
  1. 从桌面环境控件 (KDE) 禁用/启用蓝牙。

    \n
  2. \n
  3. 断开/连接耳机几次。

    \n
  4. \n
  5. 打开和关闭耳机。

    \n
  6. \n
  7. 循环浏览耳机的降噪设置,看看是否btmon“看到”不同降噪模式的任何效果。

    \n
  8. \n
  9. 重新启动以更改 BIOS 设置 \xe2\x80\x93 在 BIOS 中禁用蓝牙。

    \n
  10. \n
  11. 重新启动到 DE,仔细检查蓝牙是否确实已禁用。

    \n
  12. \n
  13. 重新启动以更改 BIOS 设置 \xe2\x80\x93 在 BIOS 中重新启用蓝牙。

    \n
  14. \n
  15. 重新启动,检查音频 \xe2\x80\x93 音频是否仍然中断。

    \n
  16. \n
  17. 再次重新启动并再次打开/关闭耳机。

    \n
  18. \n
  19. 用于bluetoothctl断开和连接而不是 DE 控制。

    \n
  20. \n
  21. 使用modprobe过去帮助我解决一些 WiFi 问题的命令:

    \n
    sudo modprobe -r ath10k_pci\nsudo modprobe ath10k_pci\n
    Run Code Online (Sandbox Code Playgroud)\n
  22. \n
\n

这非常令人沮丧,但至少可以缓解因声音在最烦人的时间(例如在转过头后)中断而带来的难以描述的内脏不适。

\n

边注

\n

在我的笔记本电脑上btmon(根据记录,从随机错误报告中发现了这一点,该报告在搜索引擎中输入“linux bluetooth Sony WH-1000MX3”时出现)对于跟踪蓝牙信号的目的比hcitool rssi我在中提到的要好得多上面的问题。基本上,当信号良好时(从感知音频质量的角度来看),我可以看到大数据包(至少看起来是一个数据包,我实际上不知道),终端中大约有 50-55 行长,大概被发送到耳机。但当信号中断时,btmon输出要么停止,要么数据包突然变得小得多,只有 20-25 行长,就好像笔记本电脑正在尝试较低的比特率来不惜一切代价保持信号正常一样。

\n

2022年12月31日更新

\n

突然间,仅仅两天后,蓝牙又恢复正常了!与此远程连接的唯一事情是笔记本电脑经历了睡眠-唤醒周期。

\n

2022年12月29日更新

\n

是的,问题肯定出在软件上。又过了一遍sudo apt update && sudo apt upgrade,没有其他变化,蓝牙信号又不好了。当笔记本电脑盖子关闭时,它的长度仅为 1.5 米。当盖子打开时,大约有3米。重新启动并没有帮助。

\n

2022年3月11日更新

\n

今天我想起了这个问题。我不知道发生了什么变化,但经过一些测试后,无论打开还是关闭笔记本电脑盖子,我似乎都不再有任何信号强度问题。自 2021 年 5 月起,笔记本电脑进行了升级(与蓝牙无关),在此期间对其内部进行了清洁 \xe2\x80\x93 仅轻微除尘,不会干扰信号。如果是软件问题,我当前的 Linux 内核和bluez软件包组合没有这个问题:

\n
$ uname -svrpi\nLinux 5.13.0-28-generic #31~20.04.1-Ubuntu SMP Wed Jan 19 14:08:10 UTC 2022 x86_64 x86_64\n$ apt show bluez 2>/dev/null | head -2 \nPackage: bluez\nVersion: 5.53-0ubuntu3.5\n
Run Code Online (Sandbox Code Playgroud)\n

旧答案

\n

解决我的问题的方法是:打开笔记本电脑盖子。我正在使用外部显示器、键盘和鼠标。笔记本电脑的盖子几乎总是关闭的。但是,当盖子打开时,不存在问题中描述的蓝牙问题。

\n

我想当我让蓝牙工作时:

\n
\n
    \n
  • 软件问题:我知道这是一个软件问题,因为最近在对 、 、 的不同调用进行一些组合之后bluetoothctlrfkill问题sudo systemctl restart bluetooth.service就消失了。不幸的是,当我重新启动操作系统时,问题又出现了,此后我一直无法重现此解决方法。
  • \n
\n
\n

笔记本电脑被意外打开。

\n