Qualcomm Atheros Bluetooth 4.0 not working on Ubuntu 16.04
Solution 1
After fiddling with this problem for quite some time, I found this solution:
I installed linux-generic-hwe-16.04
to get a more recent kernel, because 04ca:3014
was added in version 4.6.
Then I noticed that ID 04ca:3014 Lite-On Technology Corp.
was being disconnected after loading acer_wmi
, so I blacklisted it:
/etc/modprobe.d/btconfig.conf
:
blacklist acer_wmi
(Also, I thought it better to add btcoex_enable=1
and bt_ant_diversity=1
to ath9k
in that same file: options ath9k btcoex_enable=1 bt_ant_diversity=1
.)⁽¹⁾
Then I ran update-initramfs -c -k all
, I rebooted the system, and voi-là, the adapter is up and working.
⁽¹⁾ https://wireless.wiki.kernel.org/en/users/Drivers/ath9k
Solution 2
Considering how much time (man-hour) I spent trying to make my built-in Bluetooth adapter work on Linux, I decided it would be cheaper and faster to buy an USB adapter that actually works on Linux. So, I went out home with my laptop, tested an USB adapter and bought it. It is really small and cheap, it costed me R$ 30,00 (something between $9 and $10, according to today's exchange rates). It is able to transfer files and play music. Its package says Babbage Bluetooth Version 3.0 BM-BT01, it was made in China. On lsusb
, it shows as Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
:
# lsusb
Bus 003 Device 002: ID 8087:8001 Intel Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 003: ID 1bcf:2c81 Sunplus Innovation Technology Inc.
Bus 001 Device 011: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
# usb-devices
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh=11
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=04.11
S: Manufacturer=Linux 4.11.4-1.gcba98ee-default xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:14.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 11 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=16 #Cfgs= 1
P: Vendor=0a12 ProdID=0001 Rev=01.34
C: #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
T: Bus=01 Lev=01 Prnt=01 Port=06 Cnt=02 Dev#= 3 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1bcf ProdID=2c81 Rev=00.05
S: Manufacturer=NC2141103M50708908LM05
S: Product=HD WebCam
C: #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo
I: If#= 1 Alt= 0 #EPs= 0 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo
T: Bus=01 Lev=01 Prnt=01 Port=07 Cnt=03 Dev#= 4 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1
P: Vendor=0bda ProdID=0129 Rev=39.60
S: Manufacturer=Generic
S: Product=USB2.0-CRW
S: SerialNumber=20100201396000000
C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=06 Prot=50 Driver=rtsx_usb
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 4
D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
P: Vendor=1d6b ProdID=0003 Rev=04.11
S: Manufacturer=Linux 4.11.4-1.gcba98ee-default xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:14.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 2
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=04.11
S: Manufacturer=Linux 4.11.4-1.gcba98ee-default ehci_hcd
S: Product=EHCI Host Controller
S: SerialNumber=0000:00:1d.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 8
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=8087 ProdID=8001 Rev=00.03
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
It does not work flawlessly as I think it should be. Pairing works on a trial and error basis, but once devices are paired, they work as expected. At least now I have a Bluetooth adapter that works on Linux.
Anyways, I'm thankful for the time you spent trying to help me and giving me directions. Thank you!
Related videos on Youtube
Antônio Medeiros
Updated on September 18, 2022Comments
-
Antônio Medeiros over 1 year
Acer Aspire E15 laptop (model number E5-573-54ZV) with Windows 10 and Bluetooth 4.0 adapter out of the box. While using Windows, I'm able to use the Bluetooth adapter.
I've installed Ubuntu 16.04 in dual boot. While using Ubuntu, the Bluetooth adapter is the only piece of hardware that does not work.
I've already tried other Q&A here at Ask Ubuntu, but all of them refer to different versions of Ubuntu and/or different Bluetooth adapters. For me, it seems like Linux is not even seeing my laptop's Bluetooth adapter.
A report made using AIDA64 for Windows shows:
04CA 3014 Qualcomm Atheros Bluetooth 4.0
Is there any way I could make that Bluetooth adapter work on Ubuntu 16.04?
I don't know if that helps, but my laptop also has an Atheros Wi-Fi adapter, which the AIDA report shows as
Atheros AR9565 802.11b/g/n Wireless Network Adapter
, a PCI device with ID168C-0036
.EDIT: as requested in the comments, here is some more info:
$ lspci -knn | grep Net -A2; lsusb 03:00.0 Network controller [0280]: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter [168c:0036] (rev 01) Subsystem: Lite-On Communications Inc QCA9565 / AR9565 Wireless Network Adapter [11ad:0803] Kernel driver in use: ath9k Kernel modules: ath9k Bus 001 Device 002: ID 8087:8001 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 005: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller Bus 002 Device 004: ID 1bcf:2c81 Sunplus Innovation Technology Inc. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub $ uname -a Linux viny-notebook 4.4.0-24-generic #43-Ubuntu SMP Wed Jun 8 19:27:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux vinicius@viny-notebook:~$
EDIT: a friend of mine suggested running:
$ dmesg | grep -i bluetooth [ 20.905534] Bluetooth: Core ver 2.21 [ 20.905548] Bluetooth: HCI device and connection manager initialized [ 20.905551] Bluetooth: HCI socket layer initialized [ 20.905553] Bluetooth: L2CAP socket layer initialized [ 20.905557] Bluetooth: SCO socket layer initialized [ 21.477624] Bluetooth: Can't change to loading configuration err [ 21.477654] Bluetooth: Loading patch file failed [ 124.347977] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 124.347980] Bluetooth: BNEP filters: protocol multicast [ 124.347985] Bluetooth: BNEP socket layer initialized
-
Pilot6 almost 8 yearsPlease edit your question and add output of
lspci -knn | grep Net -A2; lsusb
terminal command. -
Jeremy31 almost 8 yearsPost the result of
uname -a
as this should have been fixed in 4.4.0-22 -
Antônio Medeiros almost 8 yearsDone. I edited my question with the information you requested.
-
Jeremy31 almost 8 yearsYou will probably need to file a bug report @ bugs.launchpad.net/ubuntu/ against package linux as the kernel can't see your bluetooth device for some reason and that is why it doesn't work. Pilot6 was the one that submitted the patch upstream so this device will work but only if it shows in
lsusb
results. I would check for BIOS updates also -
Antônio Medeiros almost 8 years
-
Antônio Medeiros almost 8 yearsI'm currently using the latest BIOS/UEFI firmware available for my laptop. Problem persists. Just in case anyone hitting this page needs: acer.com/drivers
-
Antônio Medeiros almost 8 yearsI did that bug report running on terminal:
$ ubuntu-bug linux
-
-
Antônio Medeiros over 6 yearsI'm now using Linux Mint 18.2 (based on Ubuntu 16.04 LTS) and what you did precisely solved my problem! Thank you!
-
Antônio Medeiros over 6 yearsI'm not going to post a new answer based on yours, but I would like to add some things, for future reference, just in case anyone needs. I installed the HWE (Hardware Enablement) kernel using
sudo apt-get install --install-recommends linux-generic-hwe-16.04 xserver-xorg-hwe-16.04
-
Antônio Medeiros over 6 yearsI'm not sure that contributed to the final result (Bluetooth adapter working), but I installed the linux-firmware package:
sudo apt-get install linux-firmware
-
Antônio Medeiros over 6 yearsFor reference, I'm using the Linux kernel version 4.10,
uname -a
outputsLinux mint-pc 4.10.0-37-generic #41~16.04.1-Ubuntu SMP Fri Oct 6 22:42:59 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
-
Antônio Medeiros over 6 yearsAlso, not sure this is a part of the solution, I installed all the updates available using
apt-get update
andapt-get dist-upgrade
. I believe this is a good habit.