M HYPE SPLASH
// news

Bluetooth suddenly stopped working Ubuntu 20.04 - No default controller available

By John Campbell

Bluetooth worked fine and one fine day (nothing changed), all of a sudden, it won't turn on from the top right dropdown. The label goes from off to on, but it doesn't change in Bluetooth Settings. I checked a lot of previous posts, but none of them fixed it. I powered off and went to sleep like I usually do, woke up next morning and it won't connect to my headset.

The hardware is fine because it works on Windows. On Ubuntu (20.04.1 LTS), it has stopped working and nothing have changed in my laptop. I've taken some previously suggested commands in other posts that I've seen and posted output over here.

rfkill list
1: hci0: Bluetooth Soft blocked: no Hard blocked: no
bluetoothctl
[bluetooth]# show
No default controller available
[bluetooth]# devices
No default controller available

This says the bluetooth has been active, but that doesn't make sense.

systemctl status bluetooth
● bluetooth.service - Bluetooth service Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor pre> Active: active (running) since Mon 2020-09-07 15:25:04 IST; 12min ago Docs: man:bluetoothd(8) Main PID: 1342 (bluetoothd) Status: "Running" Tasks: 1 (limit: 18918) Memory: 2.2M CGroup: / └─1342 /usr/lib/bluetooth/bluetoothd
Sep 07 15:25:04 rkochar-HP-ZBook-Studio-G5 systemd[1]: Starting Bluetooth servi>
Sep 07 15:25:04 rkochar-HP-ZBook-Studio-G5 bluetoothd[1342]: Bluetooth daemon 5>
Sep 07 15:25:04 rkochar-HP-ZBook-Studio-G5 systemd[1]: Started Bluetooth servic>
Sep 07 15:25:04 rkochar-HP-ZBook-Studio-G5 bluetoothd[1342]: Starting SDP server
Sep 07 15:25:04 rkochar-HP-ZBook-Studio-G5 bluetoothd[1342]: Bluetooth manageme>
lines 1-16/16 (END)
hcitool dev
Devices: #No output
dmesg | grep -i bluetooth
[ 11.957363] Bluetooth: Core ver 2.22
[ 11.957382] Bluetooth: HCI device and connection manager initialized
[ 11.957385] Bluetooth: HCI socket layer initialized
[ 11.957387] Bluetooth: L2CAP socket layer initialized
[ 11.957388] Bluetooth: SCO socket layer initialized
[ 14.111156] Bluetooth: hci0: command 0xfc05 tx timeout
[ 14.111161] Bluetooth: hci0: Reading Intel version information failed (-110)
[ 14.278953] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 14.278954] Bluetooth: BNEP filters: protocol multicast
[ 14.278958] Bluetooth: BNEP socket layer initialized
lsmod | grep blue
bluetooth 581632 12 btrtl,btintel,btbcm,bnep,btusb
ecdh_generic 16384 1 bluetooth
bt-adapter -i
**
ERROR:lib/bluez/adapter.c:165:adapter_get_dbus_object_path: assertion failed: (ADAPTER_IS(self))
Bail out! ERROR:lib/bluez/adapter.c:165:adapter_get_dbus_object_path: assertion failed: (ADAPTER_IS(self))
Aborted (core dumped)
sudo bluetoothd -d -n
bluetoothd[8710]: Bluetooth daemon 5.53
bluetoothd[8710]: src/main.c:parse_config() parsing /etc/bluetooth/main.conf
bluetoothd[8710]: src/main.c:parse_config() Key file does not have key “DiscoverableTimeout” in group “General”
bluetoothd[8710]: src/main.c:parse_config() Key file does not have key “AlwaysPairable” in group “General”
bluetoothd[8710]: src/main.c:parse_config() Key file does not have key “PairableTimeout” in group “General”
bluetoothd[8710]: src/main.c:parse_config() Key file does not have key “Privacy” in group “General”
bluetoothd[8710]: src/main.c:parse_config() Key file does not have key “Name” in group “General”
bluetoothd[8710]: src/main.c:parse_config() Key file does not have key “Class” in group “General”
bluetoothd[8710]: src/main.c:parse_config() Key file does not have key “DeviceID” in group “General”
bluetoothd[8710]: src/main.c:parse_config() Key file does not have key “ReverseServiceDiscovery” in group “General”
bluetoothd[8710]: src/main.c:parse_config() Key file does not have group “GATT”
bluetoothd[8710]: src/main.c:parse_config() Key file does not have group “GATT”
bluetoothd[8710]: src/main.c:parse_config() Key file does not have group “GATT”
D-Bus setup failed: Name already in use
bluetoothd[8710]: Unable to get on D-Bus

I have seen previous posts suggesting:

sudo systemctl enable bluetooth.service
sudo systemctl start bluetooth.service

This didn't help, it's already added (groupadd) because it previously worked and I checked again.

rfkill unblock bluetooth won't work, because rfkill list says nothing is blocked.

Just to re-iterate, it previously worked fine (for over a year) and it still works fine on Windows. Here is a screenshot of Bluetooth Settings if it's of any use.

I appreciate any and all help! Please let me know if more information is needed or something is unclear.

3

5 Answers

I just had the same issue. I rebooted and when grub came up, I chose an older kernel, and it was fixed. IDK why this is happening, but I assume it has something to do with one of the kernel updates recently for me. The problematic kernel version is 5.4.0-47-generic

3

After all approaches failed, I had success with these steps (like @DNF suggested):

  • disable wifi/bluetooth card in UEFI
  • start ubuntu
  • shutdown
  • enable it again

I'm using a Lenovo Ideapad C340-14API with Ubuntu 21.10.

Reboot fixed the problem (for me) and like somebody else said choose an older kernel which again requires reboot.

I had the exact same issue!

Luckily, I found that this has got something to do with the Automatic Login feature (or Keyrings?). I disabled Automatic Login and it worked like a charm.

Restart works but instead of restarting the pc just run the below command

sudo systemctl restart bluetooth

Bluetooth will start working.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

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