蓝牙无法在 14.04 上使用 BCM43142

蓝牙无法在 14.04 上使用 BCM43142

我有一台 Acer Aspire E5-551G。Wi-fi 工作正常,但蓝牙不工作?我已经尝试了几种方法来解决这个问题,但对我都没有用。以下是解决我的问题的各种方法所需的一些输出。


lspci -nnk | grep -i net -A2输出:

02:00.1 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 12)
    Subsystem: Acer Incorporated [ALI] Device [1025:0864]
    Kernel driver in use: r8169
03:00.0 Network controller [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01)
    Subsystem: Lite-On Communications Inc Device [11ad:6645]
    Kernel driver in use: wl

dmesg | grep Bluetooth输出:

[    5.715887] Bluetooth: Core ver 2.19
[    5.715922] Bluetooth: HCI device and connection manager initialized
[    5.715939] Bluetooth: HCI socket layer initialized
[    5.715943] Bluetooth: L2CAP socket layer initialized
[    5.715953] Bluetooth: SCO socket layer initialized
[    5.739898] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    5.739905] Bluetooth: BNEP filters: protocol multicast
[    5.739920] Bluetooth: BNEP socket layer initialized
[    5.742818] Bluetooth: RFCOMM TTY layer initialized
[    5.742832] Bluetooth: RFCOMM socket layer initialized
[    5.742839] Bluetooth: RFCOMM ver 1.11

lsusb输出:

Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  
Bus 006 Device 002: ID 06cb:2970 Synaptics, Inc.  
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub  
Bus 003 Device 002: ID 064e:9400 Suyin Corp.  
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  
Bus 005 Device 002: ID 04ca:2009 Lite-On Technology Corp.  
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub  
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

dmesg | grep -i firmware输出:

[    0.027661] [Firmware Bug]: cpu 0, invalid threshold interrupt offset 0 for bank 4, block 1 (MSRC0000408=0xc010000001000000)
[    0.274267] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[    0.311582] [Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness
[    0.311761] [Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness
[    0.312032] [Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness
[    0.347546] acpi PNP0A08:00: [Firmware Info]: MMCONFIG for domain 0000 [bus 00-3f] only partially covers this bridge
[    1.440137] [Firmware Bug]: cpu 1, try to use APIC500 (LVT offset 0) for vector 0x10400, but the register is already in use for vector 0xf9 on another cpu
[    1.440147] [Firmware Bug]: cpu 1, IBS interrupt offset 0 not available (MSRC001103A=0x0000000000000100)
[    4.752496] [Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness
[    4.752510] [Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness

rfkill list all输出:

0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
1: brcmwl-0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
2: acer-wireless: Wireless LAN
    Soft blocked: no
    Hard blocked: no
3: acer-bluetooth: Bluetooth
    Soft blocked: no
    Hard blocked: no

uname -a输出:

Linux aw3sem 3.16.1-031601-generic #201408140014 SMP 2014 年 8 月 14 日星期四 04:15:26 UTC x86_64 x86_64 x86_64 GNU/Linux

最初我运行的是 3.13-somewhat 但是我的触摸板不支持它


dmesg | tail输出:

[   23.457018] ACPI Error: Method parse/execution failed [\_SB_.PCI0.VGA_.ATIF] (Node ffff8802270647d0), AE_AML_INFINITE_LOOP (20140926/psparse-536)
[   24.012169] init: plymouth-upstart-bridge main process ended, respawning
[   24.020719] init: plymouth-upstart-bridge main process (1339) terminated with status 1
[   24.020738] init: plymouth-upstart-bridge main process ended, respawning
[   39.793272] acer_wmi: Unknown function number - 4 - 0
[  172.269389] systemd-hostnamed[2636]: Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!
[  602.510658] usbcore: registered new interface driver btusb
[  602.526817] bluetooth hci0: Direct firmware load for brcm/BCM43142A0-04ca-2009.hcd failed with error -2
[  602.526827] bluetooth hci0: Falling back to user helper
[  602.528926] Bluetooth: hci0: BCM: patch brcm/BCM43142A0-04ca-2009.hcd not found

重启后蓝牙不再工作。我发现我必须添加到btusb/etc/modules但是当我现在重启时,我的 Gnome 控制面板中出现了一个蓝牙条目(这个在右上角),它不起作用,只会将我重定向到我的网络设置。在我的设置中启用蓝牙后,会出现第二个蓝牙条目,它可以工作。

答案1

您需要执行以下操作才能使蓝牙正常工作

wget https://www.dropbox.com/s/ww44vxop2my7ka5/bluetooth-3.18.tar.gz
sudo apt-get install build-essential linux-headers-generic
tar -zxf bluetooth-3.18.tar.gz
cd bluetooth-3.18
cp /boot/config-$(uname -r) .config
cp /usr/src/linux-headers-$(uname -r)/Module.symvers Module.symvers
make -C /lib/modules/$(uname -r)/build M=$PWD modules
sudo modprobe -r btusb
sudo cp btusb.ko /lib/modules/$(uname -r)/kernel/drivers/bluetooth/
sudo modprobe btusb

然后添加dmesg | tail到您的问题,这样我就能知道它期望固件被命名为

编辑以添加固件

wget https://www.dropbox.com/s/b5h77huafgymnp8/fw-04ca_2009.hcd
sudo cp fw-04ca_2009.hcd /lib/firmware/brcm/BCM43142A0-04ca-2009.hcd
sudo modprobe -r btusb
sudo modprobe btusb

你的蓝牙应该可以正常工作

如果你更新后发现蓝牙不再起作用

cd bluetooth-3.18
make -C /lib/modules/$(uname -r)/build M=$PWD clean
cp /usr/src/linux-headers-$(uname -r)/Module.symvers Module.symvers
cp /boot/config-$(uname -r) .config
make -C /lib/modules/$(uname -r)/build M=$PWD modules
sudo modprobe -r btusb
sudo cp btusb.ko /lib/modules/$(uname -r)/kernel/drivers/bluetooth/
sudo modprobe btusb

最终你将获得包含修复的内核更新

编辑:对于内核 3.16.1,使用以下命令

wget https://www.dropbox.com/s/vth1rjnjsamnqoi/bluetooth-3.16.1.tar.gz
tar -zxf bluetooth-3.16.1.tar.gz
cd bluetooth
cp /boot/config-$(uname -r) .config
cp /usr/src/linux-headers-$(uname -r)/Module.symvers Module.symvers
make -C /lib/modules/$(uname -r)/build M=$PWD modules
sudo modprobe -r btusb
sudo cp btusb.ko /lib/modules/$(uname -r)/kernel/drivers/bluetooth/
sudo modprobe btusb

相关内容