Ubuntu 20.04 蓝牙不工作

la_*_*_sk 48 bluetooth 20.04

我已经安装了 Ubuntu 20.04,但蓝牙对我不起作用。但是如果我从 USB 启动它,它可以在实时会话中工作。有人可以帮我吗?

systemctl | grep -i blue 输出:

  sys-devices-pci0000:00-0000:00:14.0-usb1-1\x2d14-1\x2d14:1.0-bluetooth-hci0.device        loaded active     plugged   /sys/devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/bluetooth/hci0     
  sys-subsystem-bluetooth-devices-hci0.device                                               loaded active     plugged   /sys/subsystem/bluetooth/devices/hci0                                      
  bluetooth.service                                                                         loaded active     running   Bluetooth service                                                          
  bluetooth.target                                                                          loaded active     active    Bluetooth    
Run Code Online (Sandbox Code Playgroud)

dmesg | grep -i blue 输出:

[    2.309059] Bluetooth: Core ver 2.22
[    2.309071] Bluetooth: HCI device and connection manager initialized
[    2.309073] Bluetooth: HCI socket layer initialized
[    2.309074] Bluetooth: L2CAP socket layer initialized
[    2.309076] Bluetooth: SCO socket layer initialized
[    3.413708] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    3.413710] Bluetooth: BNEP filters: protocol multicast
[    3.413713] Bluetooth: BNEP socket layer initialized
[    4.342171] Bluetooth: hci0: command 0xfc05 tx timeout
[    4.342173] Bluetooth: hci0: Reading Intel version information failed (-110)
[  193.048690] Bluetooth: hci0: command 0xfc05 tx timeout
[  193.048749] Bluetooth: hci0: Reading Intel version information failed (-110)
Run Code Online (Sandbox Code Playgroud)

lspci 输出:

00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 07)
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Mobile)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 07)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller (rev 10)
00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10)
00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10)
00:14.3 Network controller: Intel Corporation Wireless-AC 9560 [Jefferson Peak] (rev 10)
00:15.0 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #0 (rev 10)
00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10)
00:17.0 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 10)
00:1d.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #9 (rev f0)
00:1d.5 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #14 (rev f0)
00:1d.6 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #15 (rev f0)
00:1f.0 ISA bridge: Intel Corporation HM470 Chipset LPC/eSPI Controller (rev 10)
00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10)
00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller (rev 10)
01:00.0 VGA compatible controller: NVIDIA Corporation GP107M [GeForce GTX 1050 3 GB Max-Q] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)
02:00.0 Non-Volatile memory controller: Phison Electronics Corporation Device 5008 (rev 01)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 16)
04:00.0 Unassigned class [ff00]: Alcor Micro AU6625 PCI-E Flash card reader controller
Run Code Online (Sandbox Code Playgroud)

lspci -k -s 00:14.3 输出:

00:14.3 Network controller: Intel Corporation Wireless-AC 9560 [Jefferson Peak] (rev 10)
    DeviceName: WLAN
    Subsystem: Intel Corporation Wireless-AC 9560 [Jefferson Peak]
    Kernel driver in use: iwlwifi
    Kernel modules: iwlwifi
Run Code Online (Sandbox Code Playgroud)

蓝牙控制:

[bluetooth]# list
[bluetooth]# power on
No default controller available
Run Code Online (Sandbox Code Playgroud)

rfkill list all 输出:

0: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
Run Code Online (Sandbox Code Playgroud)

lsusb 输出:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 04f2:b627 Chicony Electronics Co., Ltd HP Wide Vision HD Camera
Bus 001 Device 003: ID 8087:0aaa Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Run Code Online (Sandbox Code Playgroud)

小智 60

我遇到了同样的问题,从 Windows 热启动切换到 Ubuntu 后,蓝牙无法工作。我在这里遵循了 Ubuntu 错误报告,并且蓝牙功能齐全。使用以下命令:

  1. sudo rmmod btusb
  2. sudo modprobe btusb

  • 为什么这不是最重要的?有用! (8认同)
  • 老兄非常感谢你。这修复了我的蓝牙。由于这个错误,可能会失败,但至少我不必重新启动。 (4认同)
  • Ubuntu 20.04:这对我有用!许多其他答案似乎不适用于 Ubuntu 20.04,因此如果您有 20.04,请尝试一下。 (2认同)
  • 一小时找到不起作用的复杂答案,这是黄金,谢谢@Hwdc (2认同)

Nam*_*yen 34

我在 ubuntu 20.04 的蓝牙上遇到了同样的问题,并通过这种方式修复

sudo apt install blueman

sudo add-apt-repository ppa:blaze/rtbth-dkms
sudo apt-get update
sudo apt-get install rtbth-dkms

Run Code Online (Sandbox Code Playgroud)
sudo vim /etc/modules
Run Code Online (Sandbox Code Playgroud)

全部注释并添加这一行

rtbth
Run Code Online (Sandbox Code Playgroud)

重新启动并打开

sudo blueman-manager
Run Code Online (Sandbox Code Playgroud)

如果还是不行,试试这个

sudo rmmod btusb
sleep 1
sudo modprobe btusb
Run Code Online (Sandbox Code Playgroud)

如果还是不行,试试这个

/etc/default/grub用这个值更新

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=nommconf pcie_aspm=off"
Run Code Online (Sandbox Code Playgroud)

更新 grub

sudo update-grub
Run Code Online (Sandbox Code Playgroud)

然后reboot享受你的音乐

  • 我在 20.04 上尝试了这个解决方案,但它对我不起作用。 (9认同)
  • 顺便说一句,这不是一个 `blueman` 问题,因为它也发生在不使用 blueman 的 kubuntu 中。 (3认同)
  • @Nam Nguyen 你能解释一下配置过程的每个步骤,每个命令的作用以及为什么需要每个步骤。我发现它可以工作,但*只接收管理员帐户上的文件*(这是我在上面进行配置的地方)并且*没有接收到我的工作(用户)帐户*。 (3认同)
  • 仅仅删除 rtusb 并重新插入它对我有用。 (2认同)
  • 这对我的 ubuntu 20.04 非常有用,我不需要重新启动,就可以在我的 macbook pro 16inch 上安装我的 ubuntu 20 来使用我的 Airpod Pro。 (2认同)

Dan*_*ero 9

我也遇到过这个问题。对我来说,错误与python有关。问题出在 3.7 版上。对我来说,以下工作有效:

我卸载了蓝牙:

sudo apt remove blueman

sudo apt autoremove
Run Code Online (Sandbox Code Playgroud)

然后将您的python版本更改为3.6或3.8:

sudo update-alternatives --config python3
Run Code Online (Sandbox Code Playgroud)

如果此命令不起作用,则需要运行:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2
Run Code Online (Sandbox Code Playgroud)

然后,重新运行命令以更改 python 版本。

要安装蓝牙,必须有python-gi,为此,执行以下命令:

sudo apt install python3-gi
Run Code Online (Sandbox Code Playgroud)

之后,再次安装蓝牙:

sudo apt install blueman -y && blueman-manager
Run Code Online (Sandbox Code Playgroud)

这些是我遵循的步骤并且它起作用了,但也许只是更改 python 的版本就可以了。当我尝试返回 python 3.7 时,蓝牙再次停止工作。我不知道如何解决这个问题,我只是停止使用 3.7 版。

希望这可以帮助。

  • 你能说说你是如何诊断出这是一个Python问题的吗?这将帮助其他人(包括我)确定您的解决方案是否适用于他们。 (2认同)
  • 当我尝试使用 python 3.7 重新安装蓝牙时,安装失败并显示一条错误消息未找到 python-gi 包。即使安装了python-gi,蓝牙安装仍然不起作用。当我切换到python 3.8时,安装正常。 (2认同)

la_*_*_sk 2

经过一番研究,我发现了这个错误报告。此链接报告的错误与我的系统中发生的情况类似。当我从 Windows 热重启到 Ubuntu 时会发生这种情况,对我有用的解决方案是每当我在 Windows 上使用蓝牙设备时进行冷重启。

雷德桑德罗(redsandro)于2020年4月17日写道:

因此,我倾向于相信 Linux 蓝牙驱动程序将蓝牙硬件置于某种状态,该状态在热重启后持续存在,但不会影响 Windows 驱动程序与蓝牙硬件成功交互。

我认为这是一个软件错误,来自蓝牙硬件的特定状态或信号被 Linux 驱动程序误解,导致其停止工作。