Ubuntu 19.10 中与 Intel Wireless-AC 9560 的蓝牙连接存在问题

Ubuntu 19.10 中与 Intel Wireless-AC 9560 的蓝牙连接存在问题

我与以下计算机的蓝牙连接有问题

  • 机器:HP Pavilion 14 ce2065tx
  • WiFi/蓝牙芯片:Intel Wireless-AC 9560
  • 操作系统:Ubuntu 19.10

问题:
蓝牙连接性很差。我的扬声器的蓝牙连接经常断开,除非我重启机器,否则我无法重新连接。简而言之,蓝牙连接非常不可靠。

我注意到一些奇怪的事情;显然 WiFi/蓝牙甚至没有被使用?(虽然 WiFi 运行正常),请参见下面的屏幕截图:

(截图链接)

输出lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 04f2:b627 Chicony Electronics Co., Ltd HP Wide Vision HD Camera
Bus 001 Device 004: ID 8087:0aaa Intel Corp. 
Bus 001 Device 002: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

输出dmesg | grep -i blue

[    3.252039] Bluetooth: Core ver 2.22
[    3.252052] Bluetooth: HCI device and connection manager initialized
[    3.252054] Bluetooth: HCI socket layer initialized
[    3.252056] Bluetooth: L2CAP socket layer initialized
[    3.252062] Bluetooth: SCO socket layer initialized
[    3.282179] Bluetooth: hci0: Firmware revision 0.1 build 199 week 48 2017
[    4.188336] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    4.188338] Bluetooth: BNEP filters: protocol multicast
[    4.188341] Bluetooth: BNEP socket layer initialized
[   15.254269] Bluetooth: RFCOMM TTY layer initialized
[   15.254272] Bluetooth: RFCOMM socket layer initialized
[   15.254294] Bluetooth: RFCOMM ver 1.11
[  147.659673] Bluetooth: hci0: unexpected event for opcode 0x0500
[  150.198335] Bluetooth: hci0: urb 00000000cf7901c5 failed to resubmit (113)
[  168.721340] Bluetooth: hci0: urb 0000000000f1e476 failed to resubmit (113)
[  187.484624] Bluetooth: hci0: urb 00000000e27374bc failed to resubmit (113)
[  198.107762] Bluetooth: hci0: urb 000000008f587935 failed to resubmit (113)
[  208.342270] Bluetooth: hci0: urb 00000000e891c73d failed to resubmit (113)
[  306.916278] Bluetooth: hci0: urb 000000009907dbc4 failed to resubmit (113)

输出lspci

00:00.0 Host bridge: Intel Corporation Device 3e34 (rev 0c)
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (Whiskey Lake) (rev 02)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 0c)
00:12.0 Signal processing controller: Intel Corporation Cannon Point-LP Thermal Controller (rev 30)
00:14.0 USB controller: Intel Corporation Cannon Point-LP USB 3.1 xHCI Controller (rev 30)
00:14.2 RAM memory: Intel Corporation Cannon Point-LP Shared SRAM (rev 30)
00:14.3 Network controller: Intel Corporation Cannon Point-LP CNVi [Wireless-AC] (rev 30)
00:16.0 Communication controller: Intel Corporation Cannon Point-LP MEI Controller #1 (rev 30)
00:17.0 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 30)
00:19.0 Serial bus controller [0c80]: Intel Corporation Device 9dc5 (rev 30)
00:1c.0 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #1 (rev f0)
00:1c.4 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #5 (rev f0)
00:1d.0 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #9 (rev f0)
00:1d.1 PCI bridge: Intel Corporation Device 9db1 (rev f0)
00:1d.4 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #13 (rev f0)
00:1e.0 Communication controller: Intel Corporation Device 9da8 (rev 30)
00:1e.2 Serial bus controller [0c80]: Intel Corporation Device 9daa (rev 30)
00:1f.0 ISA bridge: Intel Corporation Cannon Point-LP LPC Controller (rev 30)
00:1f.3 Audio device: Intel Corporation Cannon Point-LP High Definition Audio Controller (rev 30)
00:1f.4 SMBus: Intel Corporation Cannon Point-LP SMBus Controller (rev 30)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP SPI Controller (rev 30)
02:00.0 3D controller: NVIDIA Corporation GP108M [GeForce MX250] (rev a1)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
05:00.0 Non-Volatile memory controller: Intel Corporation SSDPEKNW020T8 [660p, 2TB] (rev 03)

我该如何修复此问题?

答案1

如果您在英特尔组合芯片上同时使用 2.4 GHz Wi-Fi 和蓝牙时遇到问题,我建议为iwlwifi内核模块设置一个选项。

在终端中运行:

sudo tee /etc/modprobe.d/iwlwifi-opt.conf <<< "options iwlwifi bt_coex_active=N"

然后重新启动。

该命令创建/etc/modprobe.d/iwlwifi-opt.conf设置内核模块选项的文件iwlwifi。它禁用有缺陷的“蓝牙共存”技术。

您可以为文件指定一个更有意义的名称,例如。唯一的要求是在末尾intel-btfix.conf有。您还可以为文件添加注释,例如.conf

#Manually created file to fix bluetooth issues

如果您将来忘记此文件的来源。

您可以通过删除此文件来恢复此设置:

sudo rm /etc/modprobe.d/iwlwifi-opt.conf

关于此芯片的专有驱动程序。如果芯片由树内内核模块支持,则不需要它。

有关此问题的其他信息:

如今,蓝牙和 Wi-Fi 在大多数情况下都由一个组合芯片处理。就您而言,该芯片是 Intel 9560。

问题在于 2.4 GHz Wi-Fi 和蓝牙工作在相同的频率上。这就是为什么您的 Wi-Fi 内核模块iwlwifi具有内置技术来处理 Wi-Fi 和蓝牙之间的(严重)冲突。它可以通过内核选项启用或禁用。

iwlwifi默认情况下启用此选项bt_coex_active,并优先考虑 Wi-Fi。这就是用户遇到 BT 问题的原因。通常,英特尔在其模块中使用的共存技术看起来非常丑陋,因为在大多数情况下,BT 无法用于通过 Wi-Fi 进行音频流传输。

该问题的另一个例子是 Qualcomm Atheros 旧芯片(ath9k),但并不那么明显。

还有一个用于相同目的的选项,btcoex_enableath9k已禁用默认情况下。如果您从 2.4 GHz Wi-Fi 传输音频,则可能会出现同样的问题。在这种情况下,选项应该是已启用。但是 QCA 选项优先考虑蓝牙,即使您根本不使用蓝牙,Wi-Fi 也可能会丢包。因此建议仅在迫切需要时才启用它。

新的ath10kQCA 芯片没有这个选项,而且看起来它们完美地解决了这个问题,因为我从未遇到过任何投诉。

无论如何,如果您使用蓝牙流媒体,强烈建议切换到 5 GHz Wi-Fi。

相关内容