未找到蓝牙驱动程序或 AR3012 蓝牙驱动程序无法运行

未找到蓝牙驱动程序或 AR3012 蓝牙驱动程序无法运行

我在我的 MSI GS70 2QD 笔记本电脑上运行 Ubuntu 16.04 LTS,内核是 4.13.0-32-generic。

我遇到的问题是我的计算机具有蓝牙功能,但内核无法找到蓝牙驱动程序。

当我运行时rfkill list,输出是:

0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no

当我运行时lsusb,输出是:

Bus 002 Device 003: ID 1770:ff00  
Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 5986:055c Acer, Inc 
Bus 001 Device 003: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

输出lspci

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)
00:1c.4 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #5 (rev d5)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
01:00.0 3D controller: NVIDIA Corporation GM204M [GeForce GTX 965M] (rev a1)
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5249 PCI Express Card Reader (rev 01)
04:00.0 Ethernet controller: Qualcomm Atheros Killer E220x Gigabit Ethernet Controller (rev 13)
05:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 20)

我已阅读了许多有关 AR3012 驱动程序这一确切问题的不同文章,但似乎无法找到任何可行的方法,所以要么是我做错了什么,要么是我没有完全理解我应该做什么。

如果您需要我提供更多信息来帮助我,请告诉我。

编辑:

结果dkms status是:

bbswitch, 0.8, 4.13.0-31-generic, x86_64: installed
bbswitch, 0.8, 4.13.0-32-generic, x86_64: installed
bbswitch, 0.8, 4.4.0-112-generic, x86_64: installed
bluetooth-3004, 0.1, 4.13.0-32-generic, x86_64: installed
nvidia-384, 384.111, 4.13.0-31-generic, x86_64: installed
nvidia-384, 384.111, 4.13.0-32-generic, x86_64: installed
nvidia-384, 384.111, 4.4.0-112-generic, x86_64: installed

结果dmesg | egrep -i 'blue|firm'是:

[    0.073749] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
[    1.023535] [Firmware Bug]: ACPI(PEGP) defines _DOD but not _DOS
[    1.578877] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x361f03)
[    7.833099] Bluetooth: Core ver 2.22
[    7.833110] Bluetooth: HCI device and connection manager initialized
[    7.833112] Bluetooth: HCI socket layer initialized
[    7.833114] Bluetooth: L2CAP socket layer initialized
[    7.833120] Bluetooth: SCO socket layer initialized
[    8.123289] ath10k_pci 0000:05:00.0: firmware ver SW_RM.1.1.1-00157-QCARMSWPZ-1 api 5 features ignore-otp,no-4addr-pad crc32 10bf8e08
[   10.038096] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   10.038097] Bluetooth: BNEP filters: protocol multicast
[   10.038100] Bluetooth: BNEP socket layer initialized

编辑2:

的输出echo -e "power on\n scan on\n quit" |bluetoothctl如下:

[bluetooth]# power on
No default controller available
[bluetooth]#  scan on
No default controller available
[bluetooth]#  quit

编辑3:

的输出modinfo btusb | grep file如下:

filename:       /lib/modules/4.13.0-32-generic/updates/dkms/btusb.ko

编辑4:

的输出lsmod | grep blue如下:

bluetooth             544768  31 btrtl,btintel,bnep,btbcm,rfcomm,btusb
ecdh_generic           24576  1 bluetooth

答案1

此问题是由 Atheros 对两个不同的蓝牙设备使用相同的 ID 引起的,类似于https://askubuntu.com/a/791590/300665 我在终端中为你的蓝牙设备修补了 4.13 源代码

sudo apt-get install git dkms build-essential
git clone https://github.com/jeremyb31/bluetooth-4.13-ath3004-rome.git
sudo dkms add ./bluetooth-4.13-ath3004-rome
sudo dkms install bluetooth-3004/0.1

编辑也echo "blacklist ath3k" | sudo tee -a /etc/modprobe.d/blacklist.conf 重新启动

相关内容