I have upgraded ubuntu 16.04 LTS to ubuntu 18.04 LTS and since then bluetooth is not discovering any devices.

Here are the steps I performed:

Turned bluetooth on from settings (seems lag to moving towards bluetooth option rather then other settings).

It's still not discovering any devices and also toggle of on off takes too much time to turn on device to discover but anyhow it's not discovering devices.

Before downgrading I have tried to run live ubuntu 18.04 LTS and this is what I get as in snapshot:

enter image description here

So according to bluetooth toggle it should be turned on but it still says bluetooth is off and not scanning any nearby device.

tried to run some of the below commands:

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]# 

Laptop: Lenovo Z50-70


Update

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:~$ 
  • Please edit your question and add output of lspci -knn | grep Net -A3; lsusb terminal command. – Pilot6 May 10 at 11:14
  • @Pilot6 updated question as you asked for – Gahan May 13 at 12:13
  • Then run dmesg | grep -i blue and post the output. – Pilot6 May 13 at 12:23
  • @Pilot6 updated post with output – Gahan May 13 at 12:34
up vote 12 down vote accepted
+100

A brilliant developer named Takashi Iwai came up with a solution that I incorporated into the 4.15 kernel

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
Reboot

For anyone that tried this before June 13, you may need to

sudo -H gedit /usr/src/btusb-4.0/Makefile
Change the contents to be
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

For it to build correctly with new kernels

Edit: this bug is fixed in kernel 4.15.0-31, so people that have installed this fix can remove if they wish with

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

  • just a day ago I rolled back to 16.04 LTS, though thanks for help but I need to run 18.04 again to check the solution. – Gahan Jun 3 at 14:42
  • Does not work for my Razer Blade Pro. I guest Mr. Takashi is not as brilliant as Jeremy31 claims. Any real solutions out there? – Sileria Jun 18 at 2:55
  • 1
    @Sileria ask your own question – Jeremy31 Jun 18 at 11:40
  • @Jeremy31 thanks for your response, but this is same problem as mine. I have the same Bluetooth card: Bus 003 Device 007: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0 – Sileria Jun 22 at 22:36
  • 1
    @vikrant Start your own question and include results from terminal for lspci -nnk | grep -iA3 net; lsusb; rfkill list; uname -r; dmesg | egrep -i 'blue|firm' – Jeremy31 Jul 18 at 22:00

The problem is that Atheros has released a new ROME device using the same VID/PID as an older AR3012 device. The codes are [0cf3:3004].

A good way to find out which device is install has not been found yet.

Kernel maintainers changed the code for the newer device here http://kernel.ubuntu.com/git/ubuntu/ubuntu-bionic.git/commit/drivers/bluetooth/btusb.c?id=c91729972ac67983a37270d0856f1ee93af54913

This means that the older device is trying to load a wrong firmware. This can be fixed by reverting this patch.

I used to build DKMS modules for older kernels and newer devices to fix it. Now it looks like we need a module for new kernels and old devices.

  • There is a new patch that works for both chipsets it seems – Jeremy31 Jun 3 at 14:59
  • This looks great. – Pilot6 Jun 3 at 15:07
  • @jeremy31. How do I get my hands on the patch ? That link directs me to a diff file I think ? – hatterman Aug 23 at 21:35
  • @hatterman install kernel 4.15.0-31 or kernel 4.15.0-33 and use either of them as they are patched – Jeremy31 Aug 23 at 21:39

After spending a lot of time online searching for the solution (also reinstalled 18.04) - on DELL 9550 laptop (running only Ubuntu) I came across this link

I also upgraded BIOS using a flash drive (after downloading it from official DELL drivers website link)

I think solution provided from above link did the actual trick, which is as follows (could be BIOS issue too but not 100% sure - anyway this must be done):

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

I hope it helps.

  • 1
    That will only work for Broadcom bluetooth devices with the ID 0a5c:6410 and won't do anything for Gahan because that bluetooth is Atheros with an ID of 0cf3:3004 which is the same bluetooth device my Ubuntu laptop has – Jeremy31 Jun 18 at 21:10
  • The symptoms are the same on a Dell XPS so it is a legit answer. It does the trick on a Dell. – Sven Jun 29 at 21:31
  • @Sven, the person asking the question has a Lenovo Z50-70, so how is this answer relevant? All Atheros bluetooth firmware is provided in the linux-firmware package – Jeremy31 Jul 12 at 23:02
  • To what BIOS version did you update? – musicformellons Aug 22 at 17:11
  • @Jeremy31,what is your opinion about : ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode),I mean which file should I download ? – Menai Ala Eddine Sep 29 at 10:09

I solved the problem by upgrading the Ubuntu kernel to the most current version with the UKUU tool.

  • 1
    did not solve this for me (ubuntu 18.04, updated to kernel 4.18.4-041804-generic, broadcom bluetooth: 0a5c:216f Broadcom Corp. BCM20702A0). – musicformellons Aug 22 at 19:19

I just had a similar problem with my ASUS ROG STRIX X370-I motherboard which has a Realtek 8822 Wi-Fi/Bluetooth chip.

Updating the kernel to newest version solved it for me: https://www.kernel.org/

protected by Community Aug 5 at 23:45

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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