21

I'm having issues connecting my Logitech K810 Bluetooth keyboard in Debian Jessie with BlueZ version 5.23-1, kernel 3.16.0-4.

The keyboard works fine most of the time but sometimes it doesn't work at all and bluetoothctl gives me the error that the controller is unavailable.

When this occurs, hciconfig still recognizes the device and I get this output:

# hciconfig hci0 up 
# hciconfig
hci0:   Type: BR/EDR  Bus: USB
    BD Address: 40:2C:F4:68:02:CA  ACL MTU: 1021:8  SCO MTU: 64:1
    UP RUNNING PSCAN 
    RX bytes:21820 acl:1132 sco:0 events:68 errors:0
    TX bytes:1182 acl:11 sco:0 commands:53 errors:0

But no devices are shown in the bluetoothctl prompt and it gives me this output:

[bluetooth]# power on
No default controller available
[bluetooth]# scan on
No default controller available

Rebooting or sometimes suspending/resuming fixes the issue: bluetoothctl will again recognize both the controller and the keyboard which works again.

Bluetooth is consistently hard and soft unblocked according to rfkill.

The relevant output from lspci -v, I guess would be this:

03:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000 [Condor Peak]
        Subsystem: Intel Corporation Centrino Wireless-N 1000 BGN
        Flags: bus master, fast devsel, latency 0, IRQ 43
        Memory at f0400000 (64-bit, non-prefetchable) [size=8K]
        Capabilities: <access denied>
        Kernel driver in use: iwlwifi

I didn't have this problem with the same hardware in Debian Wheezy.

What could it be the bluetooth controller to be unavailable at times?

6
  • I have the same problem in OSMC running in Raspberry Pi. Did you find a solution? Share it if you have one, please. Jun 19, 2015 at 0:21
  • No, haven't found a solution ... Jun 27, 2015 at 8:39
  • 1
    I have encountered the same issue with OSMC on a Raspberry Pi. The keyboard shows up when scanning with hcitool. Bluetoothctl commands result in 'No default controller available'.
    – Dallas
    Aug 30, 2015 at 15:10
  • 3
    After coming across this question during my investigations several times now: There still seems to be no answer, however, sometimes removing (modprobe -r btusb) and adding (modprobe btusb) the kernel module helps to get the controller back (so you can avoid doing a full reboot).
    – Marcus
    May 22, 2017 at 14:39
  • @Dallas see my answer. You just need to run it as sudo and it works fine.
    – james-see
    Dec 14, 2018 at 2:35

7 Answers 7

9

I have been struggling with the same problem for months now, and none of the above solutions worked for me.

After a lot of research I found this solution on an old forum that worked for me

https://bbs.archlinux.org/viewtopic.php?id=271459

rmmod btusb
rmmod btintel

modprobe btintel
modprobe btusb
4
  • Welcome to the site, and thank you for your contribution. Please edit your post to add a link to the "old forum" where you found this solution.
    – AdminBee
    Jun 28, 2022 at 14:14
  • 2
    tysm! I was going nuts with this and this solved it. Jul 1, 2022 at 10:58
  • Using ubuntu 22.04.3, I had this issue after a power cut off, tried everything but only this worked for me too!
    – user980085
    Aug 27 at 0:46
  • I had the same issue, this solution worked. I have the Intel AX200, using Debian (6.1.0-10-amd64). My dmesg -k | grep -i bluetooth reported this error: Bluetooth: hci0: Reading Intel version command failed (-110).
    – Yeti
    Oct 24 at 8:48
6

I believe the answer is simply to run bluetoothctl with sudo.

Thus, sudo bluetoothctl. Then every command works fine power on, agent on etc. with no errors.

Confirmed working on Raspian Stretch.

4

This is a long-standing issue, but it doesn't affect all distributions equally. My experience with it is limited to the Debian derivative for Raspberry Pi - Raspberry Pi OS (née Raspbian). In particular, the "Lite" version of the RPiOS distro is afflicted, but the "Full" version is not.

The issue seems to be that the default user (and all users I suspect) are not included in the secondary group named bluetooth in the "Lite" version of RaspOS as they are in the "Full" version.

A patch for that is easy enough: add the user to the bluetooth group

$ sudo usermod -G bluetooth -a pi

Or perhaps this as @Pablo has suggested below:

$ sudo adduser $USER bluetooth

Once this is done (and after a reboot IIRC), bluetoothctl becomes effective, and the Controller becomes responsive. sudo was not required afterwards.

While this patch is easy, a permanent solution would be far better - this is very confusing, and has been so for at least 7-8 years. I'd submit a bug report, but in my experience with Debian and Raspbian, that's a further waste of time.

1
  • I wonder why nobody seems to use sudo adduser $USER bluetooth, it's much more easy to remember end more user friendly
    – Pablo A
    Jan 20, 2022 at 3:39
0

Is kernel update an option?

Have you tried the latest linux-firmware package?

Also you can try the suggestions in secion "About iwldvm support and known issues" in here https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi

0

I have Lenovo Ideapad Gaming 3 with dual boot enabled (Ubuntu 20.04 and Windows 10). After trying all the above solution.

  • Just boot into Windows. (Bluetooth is also not working in Windows)
  • Update the Bluetooth drivers from there.
  • Restarted into Windows. (Bluetooth is now working)
  • Reboot back into Ubuntu.
-1

First enable bluetooth manually with the GUI. this is how it worked for me. i know this post is old, but it worked for me. Just search in your main menu for "bluetooth" (On my current mint 18 sarah it is like that)

You can then come back and try the commands with "power off"

2
  • 1
    What GUI? What exact steps? How would powering it off help establish a connection?
    – Jeff Schaller
    Feb 10, 2017 at 12:08
  • This worked for me after upgrading from Debian Buster to Bullseye: sudo systemctl restart bluetooth then open bluetoothctl in a terminal, enable bluettooth via the top bar menu and see the "new controller" message appear in bluetoothctl. Oct 9, 2021 at 16:26
-1

Maybe try systemctl start hciuart

1
  • Welcome on the Unix SE! I suggest to explain, what you are doing and why.
    – peterh
    Aug 1, 2018 at 18:34

You must log in to answer this question.

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