40

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:~$ 
6
  • Please edit your question and add output of lspci -knn | grep Net -A3; lsusb terminal command.
    – Pilot6
    May 10, 2018 at 11:14
  • @Pilot6 updated question as you asked for
    – Gahan
    May 13, 2018 at 12:13
  • Then run dmesg | grep -i blue and post the output.
    – Pilot6
    May 13, 2018 at 12:23
  • @Pilot6 updated post with output
    – Gahan
    May 13, 2018 at 12:34
  • can you please review? askubuntu.com/questions/1224993/…
    – Kar19
    Apr 7, 2020 at 12:44

5 Answers 5

31
+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

13
  • 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, 2018 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, 2018 at 2:55
  • 9
    @Sileria ask your own question
    – Jeremy31
    Jun 18, 2018 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, 2018 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, 2018 at 22:00
2

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.

7
  • There is a new patch that works for both chipsets it seems
    – Jeremy31
    Jun 3, 2018 at 14:59
  • This looks great.
    – Pilot6
    Jun 3, 2018 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, 2018 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, 2018 at 21:39
  • I'm seeing the same behavior on 18.10, kernel 4.18.0-16. Are you sure about "opening your own question"? Oftentimes the mods here will say "already asked" and close questions.
    – retorquere
    Apr 4, 2019 at 8:30
1

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.

5
  • 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, 2018 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, 2018 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, 2018 at 23:02
  • To what BIOS version did you update? Aug 22, 2018 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 ? Sep 29, 2018 at 10:09
1

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

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

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/

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .