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

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

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

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

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

在 Linux 中,有没有什么方法可以通过软件增强蓝牙信号强度,而无需额外的硬件?

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

此外,观察了一段时间后,似乎还有另一个症状。当音频连续时,蓝牙信号很好。也就是说,如果我离笔记本电脑足够远,那么只要一首歌或一个视频结束,蓝牙耳机就会断开连接。Pulseaudio 会影响这样的蓝牙连接吗?

答案1

2023-03-31 更新

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

2023-03-30 更新

情况变得更糟了。现在上班前随便修好的那些东西都不能用了。

我发现https://wiki.archlinux.org/title/bluetooth_headset,但那里的建议都不相关。“连接正常,但始终存在声音故障”部分听起来很有希望,但这不是我所经历的。声音很完美,但只有当我把头放在笔记本电脑旁边时才会出现。

2023-01-06 更新

我仍然不明白发生了什么。这个问题在除夕更新后不久又出现了。我非常货物崇拜bluetoothctl我尝试了、、、在 BIOS 中打开和关闭蓝牙btmon等方法modprobe,以使蓝牙堆栈的软件端能够配合使用,但至少在经历了一周的痛苦之后,我可以再次正常使用耳机了。也就是说,我尝试了各种随机方法,却不知道其中的哪种组合有帮助。

需要说明的是,本次的名单如下:

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

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

  3. 打开和关闭耳机。

  4. 循环播放耳机的降噪设置,只是为了看看是否btmon“看到”不同降噪模式的任何效果。

  5. 重新启动以更改 BIOS 设置 - 在 BIOS 中禁用蓝牙。

  6. 重新启动到 DE,仔细检查蓝牙是否确实被禁用。

  7. 重新启动以更改 BIOS 设置 - 在 BIOS 中重新启用蓝牙。

  8. 重新启动,检查音频——音频仍然中断。

  9. 再次重新启动并再次打开/关闭耳机。

  10. 用于bluetoothctl断开和连接,而不是 DE 控制。

  11. 使用modprobe过去帮助我解决过一​​些 WiFi 问题的命令:

    sudo modprobe -r ath10k_pci
    sudo modprobe ath10k_pci
    

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

边注

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

2022-12-31 更新

突然,仅仅两天后,蓝牙又正常工作了!唯一与此相关的是笔记本电脑经历了睡眠-唤醒周期。

2022-12-29 更新

是的,问题肯定出在软件上。又试了一次sudo apt update && sudo apt upgrade,没有做其他改变,蓝牙信号又变差了。当笔记本电脑盖子关闭时,信号距离只有 1.5 米。当盖子打开时,信号距离大约是 3 米。而且重启也没用。

2022-03-11 更新

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

$ uname -svrpi
Linux 5.13.0-28-generic #31~20.04.1-Ubuntu SMP Wed Jan 19 14:08:10 UTC 2022 x86_64 x86_64
$ apt show bluez 2>/dev/null | head -2 
Package: bluez
Version: 5.53-0ubuntu3.5

旧答案

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

我想,当我让蓝牙工作时:

  • 软件问题:我知道这是一个软件问题,因为最近在多次调用bluetoothctlrfkill和之后sudo systemctl restart bluetooth.service,问题就消失了。不幸的是,当我重新启动操作系统时,问题又出现了,而且自那以后,我一直无法重现这种解决方法。

笔记本电脑只是意外被打开的。

答案2

抱歉,我无法对其他答案发表评论,但我在 archlinux 上发现了同样的问题。我的解决方案是降级 Linux 内核:6.4.12.zen1-1 -> 6.3.9.zen1-1

因此,在内核 linux 6.3.9.zen1-1 上,蓝牙工作正常,但使用内核 linux 6.4.12.zen1-1 或更新版本时,我注意到信号弱了很多。我还发现,在家里使用有线鼠标和键盘时,蓝牙工作得还不错,但在工作中使用无线设备时,蓝牙工作得就差很多(但使用旧内核耳机在两个地方都工作得很好!)。

所以我的结论是存在软件问题,这与干扰其他蓝牙设备的弱信号有关。

更新:我的蓝牙适配器USB\VID_0BDA&PID_B85C="Realtek Wireless Bluetooth Adapter"

答案3

我的笔记本电脑也出现了同样的问题,是在软件升级后出现的。如果我距离笔记本电脑超过 1 米,连接几乎总是会变得不稳定,有时蓝牙耳机很难连接到笔记本电脑,蓝牙监视器显示链接质量差,声音间歇性中断。尽管有时即使在 3 米的距离内连接仍然稳定。

这可能是内置蓝牙卡的内核驱动程序中的错误(我有 Intel AX201)。今天我禁用了内置蓝牙,插入了 USB 蓝牙适配器(TP-Link UB400),链接质量和范围都很好。

我不知道你的笔记本电脑有什么蓝牙卡。对于 Intel AX201,我能够找到一个关于 Linux 中蓝牙范围低的线程,这似乎是驱动程序问题:https://community.intel.com/t5/Wireless/Intel-Wi-Fi6-AX201-160-MHz-Bluetooth-range-too-small-and/mp/1284590

相关内容