ubuntu 18.04 LTS的蓝牙 [0cf3:3004] 工作不正常

・5 分钟阅读

问题

尝试运行以下命令:


ubuntu@ubuntu:~$ bluetoothctl


Agent registered


[bluetooth]# list


[bluetooth]# devices


No default controller available


[bluetooth]# scan on


No default controller available


[bluetooth]# power on


No default controller available


[bluetooth]# 



笔记本电脑:联想Z50-70


jarvis@jarvis:~$ lspci -knn | grep Net -A3; lsusb


02:00.0 Network controller [0280]: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter [168c:0036] (rev 01)


 Subsystem: Lenovo QCA9565 / AR9565 Wireless Network Adapter [17aa:4026]


 Kernel driver in use: ath9k


 Kernel modules: ath9k


03:00.0 3D controller [0302]: NVIDIA Corporation GM108M [GeForce 840M] [10de:1341] (rev a2)


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 004: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0


Bus 002 Device 003: ID 174f:14b2 Syntek 


Bus 002 Device 002: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller


Bus 002 Device 006: ID 093a:2532 Pixart Imaging, Inc. 


Bus 002 Device 005: ID 0781:5583 SanDisk Corp. 


Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


jarvis@jarvis:~$ dmesg | grep -i blue


[ 27.147743] Bluetooth: Core ver 2.22


[ 27.147759] Bluetooth: HCI device and connection manager initialized


[ 27.147761] Bluetooth: HCI socket layer initialized


[ 27.147764] Bluetooth: L2CAP socket layer initialized


[ 27.147769] Bluetooth: SCO socket layer initialized


[ 27.160218] Bluetooth: hci0: don't support firmware rome 0x31010000


[ 31.361588] Bluetooth: BNEP (Ethernet Emulation) ver 1.3


[ 31.361590] Bluetooth: BNEP filters: protocol multicast


[ 31.361593] Bluetooth: BNEP socket layer initialized


jarvis@jarvis:~$ 




回答1

一个名为TakashiIwai的优秀开发人员提出了一个解决方案,我将它集成到了4.15内核中,


sudo apt install git build-essential dkms


git clone https://github.com/jeremyb31/newbtfix-4.15.git


sudo dkms add ./newbtfix-4.15


sudo dkms install btusb/4.0
重新引导

对于6月13日之前尝试过的人,你可能需要,

sudo -H gedit /usr/src/btusb-4.0/Makefile
将内容更改为

KVER ?= $(shell uname -r)


obj-m += btusb.o


all: make -C /lib/modules/$(KVER)/build M=$(PWD) modules


clean: make -C /lib/modules/$(KVER)/build M=$(PWD) clean
为了使用新内核正确构建

编辑:这个bug在内核4.15.0 -31得到修复,因此安装了这个修复程序的人可以根据需要删除,


sudo dkms remove btusb/4.0 -k $(uname -r)


sudo dkms remove btusb/4.0 --all

回答2


wget https://memcpy.io/files/2017-10-28/BCM-0a5c-6410.hcd


sudo cp BCM-0a5c-6410.hcd /lib/firmware/brcm/


sudo chmod 0644 /lib/firmware/brcm/BCM-0a5c-6410.hcd


sudo reboot



希望能有帮助。


回答3

我通过UKUU工具将Ubuntu内核升级到最新版本来解决这个问题。


回答4

我的华硕Rog Strix x370 i主板也有类似的问题,它有一个Realtek 8822 Wi-Fi蓝牙芯片。

将内核更新为最新版本为我解决了此问题: https://www.kernel.org/


讨论
Tianye profile image