安装 BCM43142 驱动程序后蓝牙停止工作 ubuntu 21.04

安装 BCM43142 驱动程序后蓝牙停止工作 ubuntu 21.04

我最近双启动了 Windows 10 Pro 和 ubuntu 21.04,安装 ubuntu 21.04 后,当我启动到 ubuntu 时,除了 wifi 之外,一切都正常,当时我的蓝牙工作正常,但没有 wifi,因此从 synaptic 包管理器安装了 BCM43142 驱动程序,安装驱动程序后,当我重新启动系统时,我的 wifi 开始工作,但我的蓝牙停止工作并停止检测其他设备和连接已配对的设备,我已经尝试了很多方法,例如安装 pulseaudio、重新启动蓝牙服务、rfkill、重新安装蓝牙驱动程序。我的蓝牙工作正常,但没有任何效果Windows 10 但不在 ubuntu 请帮忙。

lspci输出:

00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 1 (rev e4)
00:1c.2 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 4 (rev e4)
00:1d.0 USB controller: Intel Corporation 8 Series USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)
06:00.0 Network controller: Broadcom Inc. and subsidiaries BCM43142 802.11b/g/n (rev 01)
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet controller (rev 07)

lsusb输出:

Bus 001 Device 006: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 005: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0
Bus 001 Device 004: ID 1bcf:2b8b Sunplus Innovation Technology Inc. 
Bus 001 Device 003: ID c0f4:04e0  
Bus 001 Device 002: ID 8087:8000 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 1ea7:0064 SHARKOON Technologies GmbH 2.4G Mouse
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

systemctl | grep -i blue输出:

sys-devices-pci0000:00-0000:00:1d.0-usb1-1\x2d1-1\x2d1.6-1\x2d1.6:1.0-bluetooth-hci0.device loaded active     plugged   /sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.6/1-1.6: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           

dmesg | gerp -i blue输出:

[   13.604256] Bluetooth: Core ver 2.22
[   13.604289] Bluetooth: HCI device and connection manager initialized
[   13.604296] Bluetooth: HCI socket layer initialized
[   13.604299] Bluetooth: L2CAP socket layer initialized
[   13.604304] Bluetooth: SCO socket layer initialized
[   15.782083] Bluetooth: hci0: BCM: chip id 70
[   15.783095] Bluetooth: hci0: BCM: features 0x06
[   15.799205] Bluetooth: hci0: shubhang
[   15.799210] Bluetooth: hci0: BCM43142A0 (001.001.011) build 0000
[   16.221057] Bluetooth: hci0: BCM: firmware Patch file not found, tried:
[   16.221061] Bluetooth: hci0: BCM: 'brcm/BCM43142A0-0a5c-21d7.hcd'
[   16.221063] Bluetooth: hci0: BCM: 'brcm/BCM-0a5c-21d7.hcd'
[   18.227516] Bluetooth: hci0: command 0x1003 tx timeout
[   18.229200] Bluetooth: hci0: unexpected event for opcode 0x1003
[   35.453929] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   35.453931] Bluetooth: BNEP filters: protocol multicast
[   35.453935] Bluetooth: BNEP socket layer initialized
[   38.227471] Bluetooth: hci0: command 0x1003 tx timeout
[   38.229183] Bluetooth: hci0: unexpected event for opcode 0x1003
[   74.818324] Bluetooth: RFCOMM TTY layer initialized
[   74.818333] Bluetooth: RFCOMM socket layer initialized
[   74.818343] Bluetooth: RFCOMM ver 1.11

bluetoothctl输出:

Agent registered
[CHG] Controller AC:D1:B8:DB:69:38 Pairable: yes

rfkill输出:

ID TYPE      DEVICE         SOFT      HARD
 0 wlan      dell-rbtn unblocked unblocked
 1 wlan      phy0      unblocked unblocked
 2 wlan      brcmwl-0  unblocked unblocked
 3 bluetooth hci0      unblocked unblocked

rfkill list all输出:

0: dell-rbtn: Wireless LAN
    Soft blocked: no
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
2: brcmwl-0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
3: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no

答案1

蓝牙 Broadcom 43142 无法正常工作

这就是你所需要的:https://github.com/winterheart/broadcom-bt-firmware

在此存储库中,您可以找到更多信息和需要所有 Broadcom 无线网卡驱动程序


为了更具体地说明,我给你我为自己写的说明:

本教程旨在使无线/蓝牙网卡 Broadcom Corporation BCM43142 802.11b/g/n (rev 01)(设备 ID:0a5c:216d)在 Linux 系统上运行(我在基于 Ubuntu 16.04.3 LTS 的 Elementary OS 0.4.1 Loki 上尝试过)。

它可能不适用于其他设备,但对于其他 Broadcom 设备,此过程应该不会有太大差异。所需的 Broadcom 驱动程序位于此GitHub 的存储库文件夹.hcd 格式。

  1. 输入以下命令来发现内核在启动时加载驱动器时寻找哪个驱动程序名称:

    dmesg | grep -i 'firmware load'
    

    如果找不到任何内容,请尝试以下方法:

    dmesg | grep -i 'bluetooth'
    

    结果应该是这样的:

    bluetooth hci0: Direct firmware load for brcm/BCM.hcd failed with error -2
    

解释:在我的例子中,内核正在寻找 Broadcom 驱动程序预期所在的BCM.hcd目录下的文件。如果内核正在寻找另一个驱动程序名称,则必须将驱动程序文件(在我的例子中为 BCM43142 (0a5c:216d))重命名为内核所需的名称。/lib/firmware/brcmBCM43142A0-0a5c-216c.hcd

  1. 将重命名的驱动程序(BCM.hcd)移动到您的主目录(/home/YourUsername/)并运行以下命令将其移动到内核在启动时查看的文件夹:

    sudo mv ~/BCM.hcd /lib/firmware/brcm
    

您必须根据您的设备使用相应的驱动程序,并根据内核的要求重命名它。

  1. 重新启动计算机,它应该就可以工作了!*(您可以dmesg | grep -i 'bluetooth'再次输入以查看驱动程序是否已加载)

答案2

也许您有以下问题之一

这是来自https://help.ubuntu.com/stable/ubuntu-help/bluetooth-problem-connecting.html.en

我无法连接我的蓝牙设备 有多种原因导致您无法连接到蓝牙设备(例如手机或耳机)。

连接被阻止或不受信任 某些蓝牙设备默认阻止连接,或要求您更改设置以允许建立连接。请确保您的设备设置为允许连接。

蓝牙硬件无法识别 您的蓝牙适配器或加密狗可能未被计算机识别。这可能是因为未安装适配器的驱动程序。某些蓝牙适配器在 Linux 上不受支持,因此您可能无法获得正确的驱动程序。在这种情况下,您可能需要获取不同的蓝牙适配器。

适配器未打开 确保您的蓝牙适配器已打开。打开蓝牙面板并检查它是否未被禁用。

设备蓝牙连接已关闭 检查您尝试连接的设备上的蓝牙是否已打开,并且该设备是否可发现或可见。例如,如果您尝试连接到手机,请确保它未处于飞行模式。

您的计算机没有蓝牙适配器 很多计算机没有蓝牙适配器。如果您想使用蓝牙,可以购买适配器。

相关内容