问题
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 the situation is a bit different from them.
I can see my hciconfig -a have information like below

And hcitool dev seems no problem as well.

But I have no idea why my bluetoothctl always said "No default controller available"

Even I turn down and turn up hci0 several times. It always in the same problem.
BTW, my BlueZ is 5.39. And I tried this experiment on buildroot. Kernel is 3.10
回答1:
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.
回答2:
Here are the steps that worked for me by modifying the bluez config and the run without sudo:
- Create a "bluetooth" group which will be granted with
<allow send_destination="org.bluez"/>
on bluez's d-bus config
$ sudo groupadd bluetooth
- Open the config in /etc/dbus-1/system.d/bluetooth.conf with your favorite text editor
e.g.
$ 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
回答3:
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 =)
来源:https://stackoverflow.com/questions/48279646/bluetoothctl-no-default-controller-available