It\'s a bit wired here.
I have a problem is bluetoothctl always said \"No default controller available\". I found there are many people had same problem with me. But th
Also happens if rfkill switch is blocking Bluetooth (for some inadvertent reason, in my case):
$ rfkill list all
0: tpacpi_bluetooth_sw: Bluetooth
Soft blocked: yes
Hard blocked: no
To unblock, pass the ID for your Bluetooth device from the list above to the unblock
subcommand:
$ rfkill unblock 0
Then controller should be back:
$ bluetoothctl list
Controller .... [default]
The answer above probably works on some distributions, but may get you into trouble in others. Unfortunately, it seems that every distribution has a different default configuration for Bluetooth - it's a pretty awful mess IMHO.
Here's what worked for me on a Debian derivative Raspberry Pi OS (née Raspbian):
As a preliminary check, on many distros you can check /etc/group
to see if a group name bluetooth
exists:
$ cat /etc/group | grep blue
If it exists, you obviously don't need to add the group, only add users to the group:
$ sudo usermod -G bluetooth -a <username>
In the distro I'm using, this was all that was required to make the Controller responsive in bluetoothctl
.
Had the same problem. Use:
$ sudo bluetoothctl
Then the controller was found automatically. I also tried https://www.raspberrypi.org/forums/viewtopic.php?t=207025 before. Maybe this effected the solution.
Here are the steps that worked for me by modifying the bluez config and the run without sudo:
<allow send_destination="org.bluez"/>
on bluez's d-bus config$ sudo groupadd bluetooth
$ sudo vi /etc/dbus-1/system.d/bluetooth.conf
Add/append the following lines below in /etc/dbus-1/system.d/bluetooth.conf
<policy group="bluetooth">
<allow send_destination="org.bluez"/>
</policy>
Save your changes.
Add your login user to "bluetooth" group
$ sudo usermod -a -G bluetooth <loginuser>
Reboot the system.
Then try to use "bluetoothctl" without sudo
$ bluetoothctl
[bluetooth]# show
I had the same issue. After a long research found out that the driver was not installed. Check that answer https://unix.stackexchange.com/questions/545019/bluetooth-doesnt-work-in-debian-10 and see if your drivers are installed correctly =)
Its an old thread, but might help someone looking for answers.
I have faced this problem most of the times, and the things I verify are:
systemctl status bluetooth == this checks if the bluetooth service daemon is already running or not.
Check for output:
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running)
If not, start it using the command: sudo systemctl start bluetooth
using sudo bluetoothctl
one of these two was the culprit usually.