2

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 ID 168C-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
  • 1
    Please edit your question and add output of lspci -knn | grep Net -A2; lsusb terminal command. – Pilot6 Jun 27 '16 at 9:47
  • 1
    Post the result of uname -a as this should have been fixed in 4.4.0-22 – Jeremy31 Jun 27 '16 at 10:32
  • Done. I edited my question with the information you requested. – Antonio Vinicius Menezes Medei Jun 28 '16 at 2:11
  • 1
    You 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 – Jeremy31 Jun 28 '16 at 21:09
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

  • 2
    I'm now using Linux Mint 18.2 (based on Ubuntu 16.04 LTS) and what you did precisely solved my problem! Thank you! – Antonio Vinicius Menezes Medei Oct 13 '17 at 20:48
  • 2
    I'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 – Antonio Vinicius Menezes Medei Oct 13 '17 at 20:52
  • 1
    I'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 – Antonio Vinicius Menezes Medei Oct 13 '17 at 20:57
  • 1
    For reference, I'm using the Linux kernel version 4.10, uname -a outputs Linux 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 – Antonio Vinicius Menezes Medei Oct 13 '17 at 20:59
  • 1
    Also, not sure this is a part of the solution, I installed all the updates available using apt-get update and apt-get dist-upgrade. I believe this is a good habit. – Antonio Vinicius Menezes Medei Oct 13 '17 at 21:08
1

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!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.