Bluetooth adapter not detected on Linux
I’ve been using Arch Linux for a while and bluetooth has been working without issues. Now, for no explicable reason, Arch doesn’t detect my bluetooth adapters anymore. I tried doing:
$ sudo systemctl enable bluetooth ,
$ sudo systemctl start bluetooth and
$ sudo systemctl start dbus . I’ve enabled generic bluetooth drivers:
$ sudo modprobe btusb . I’ve installed: bluez, bluez-utils-compat and blueman. $ sudo lsmod | grep bluetooth returns:
bluetooth 634880 11 btrtl,btintel,bnep,btbcm,btusb ecdh_generic 24576 1 bluetooth rfkill 28672 7 bluetooth,acer_wmi,cfg80211 crc16 16384 2 bluetooth,ext4
$ sudo lspci | grep blue returns nothing. $ sudo hciconfig returns nothing. $ sudo hcitool dev returns:
[ 283.807549] Bluetooth: Core ver 2.22 [ 283.807585] Bluetooth: HCI device and connection manager initialized [ 283.807588] Bluetooth: HCI socket layer initialized [ 283.807589] Bluetooth: L2CAP socket layer initialized [ 283.807594] Bluetooth: SCO socket layer initialized [ 349.781130] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 349.781135] Bluetooth: BNEP filters: protocol multicast [ 349.781148] Bluetooth: BNEP socket layer initialized
0: acer-wireless: Wireless LAN Soft blocked: no Hard blocked: no 1: acer-bluetooth: Bluetooth Soft blocked: no Hard blocked: no 2: phy0: Wireless LAN Soft blocked: no Hard blocked: no
$ bluetoothctl [bluetoothctl]# scan on No default controller available
When I open blueman-adapters, it opens but the window doesn’t have any contents: And when I open blueman-manager, the only functioning buttons are the View and Help menus: Some important info (if needed):
Model: Acer Aspire S13 S5-371 Network Card: Qualcomm Atheros QCA61x4A uname -r: 4.15.14-1-ARCH BIOS Ver: v1.5 OSes: Windows 10, Arch Linux (dual boot using rEFInd) Built in Bluetooth 4.0 support
bluetoothctl No default controller available [closed]
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
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 when 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
Try ‘btmgmt power off’ followed by ‘btmgmt power on’ and see what happens. Also, if you have btmon installed, try running that in the background using ‘btmon &’ and see what happens when you run the ‘bluetoothctl’ commands.
Did you check whether «bluetoothd» is running. Sometimes distribution socket activates the «bluetoothd» daemon, but sometimes not based on systemd service file. Check «ps -ef | grep bluetoothd», if not running, start it. bluetoothctl uses «DBUS API» internally to get these details from «bluetoothd»
7 Answers 7
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.
for a solution using group privileges see one of the posts below (stackoverflow.com/a/53738121/9486871)
Not necessarily the best idea. One, because it is probably not needed, and two, there are risks for superfluous use of sudo . Disclosure: I up-voted this answer, then discovered the actual issue (group membership) was due to the fact that RPi OS Lite has an odd default here. Lesson learned: most popular answer not always best answer.
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:
Then controller should be back:
$ bluetoothctl list Controller . [default]
Don’t know, not happening for me anymore. Maybe look into rfkill-unblock@[index] systemd service from util-linux package. But, I don’t have it enabled fwiw.
Here are the steps that worked for me by modifying the bluez config and the run without sudo:
- Open the config in /etc/dbus-1/system.d/bluetooth.conf with your favorite text editor
- Add/append the following lines below in /etc/dbus-1/system.d/bluetooth.conf
- Save your changes.
- Add your login user to «bluetooth» group
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.
The status shows it’s loaded and running but when I do sudo bluetoothctl it says «Agent registered» and opens a sub-program thingy (the next line starts with [bluetooth]# and prompts me to type commands. When I type scan on to look for devices it says «No default controller available».
I had this problem with VanillaArch on Linux Kernel 5.12. After struggling for a day I found the problem is:
1. Some of bluetooth devices firmware are not available in the new linux libraries right out of the box and you need to find. for this problem you can refer to the following repo. In readme it’s well documented what you should do. basically you ‘d download and copy the frimware in
2. Activation of two conflicting services on Bluetooth. Referring to «SayantanRC» on Arch froum :
When I compared between the two, I found these two services were enabled on my Manjaro installation, but disabled on my Arch linux installation:
blueman-mechanism.service bluetooth-mesh.service
sudo systemctl disable blueman-mechanism.service sudo systemctl disable bluetooth-mesh.service
Now the services are as below:
~ >>> systemctl list-unit-files | grep blue blueman-mechanism.service disabled disabled bluetooth-mesh.service disabled disabled bluetooth.service enabled disabled dbus-org.bluez.service alias - bluetooth.target static - ~ >>>
~ >>> bluetoothctl Agent registered [CHG] Controller 68:07:15:DE:1F:15 Pairable: yes [bluetooth]# show Controller 68:07:15:DE:1F:15 (public) Name: src-manjaro Alias: src-manjaro Class: 0x00000000 Powered: no Discoverable: no DiscoverableTimeout: 0x000000b4 Pairable: yes UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb) UUID: Audio Source (0000110a-0000-1000-8000-00805f9b34fb) UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb) UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb) UUID: Headset (00001108-0000-1000-8000-00805f9b34fb) UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb) UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb) UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb) UUID: Device Information (0000180a-0000-1000-8000-00805f9b34fb) UUID: Headset AG (00001112-0000-1000-8000-00805f9b34fb) Modalias: usb:v1D6Bp0246d0537 Discovering: no Roles: central Roles: peripheral Advertising Features: ActiveInstances: 0x00 (0) SupportedInstances: 0x05 (5) SupportedIncludes: tx-power SupportedIncludes: appearance SupportedIncludes: local-name [bluetooth]# quit
EDIT: For verification purpose, I re-enabled the services and bluetooth adapter was having trouble again. I disabled them and it is fine now. Checked on kernel 5.9 and 5.4.
Arch Linux
I am getting a No default controller available error while using bluetoothctl:
[akshansh2000@akshansh-arch ~]$ bluetoothctl Agent registered [bluetooth]# show No default controller available [bluetooth]#
uname -r: 5.12.14-arch1-1
linux-firmware: 20210511.7685cf4-1
- I am already a part of the bluetooth group
- shows hci0: Bluetooth as unblocked
- fails to recognise the controller
- both bluez and bluez-utils are installed
The bluetooth service is enabled. Here is the output of just after boot:
* bluetooth.service - Bluetooth service Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2021-07-10 07:05:17 IST; 12min ago Docs: man:bluetoothd(8) Main PID: 558 (bluetoothd) Status: "Running" Tasks: 1 (limit: 18466) Memory: 2.9M CPU: 12ms CGroup: /system.slice/bluetooth.service `-558 /usr/lib/bluetooth/bluetoothd Jul 10 07:05:17 akshansh-arch systemd[1]: Starting Bluetooth service. Jul 10 07:05:17 akshansh-arch bluetoothd[558]: Bluetooth daemon 5.60 Jul 10 07:05:17 akshansh-arch systemd[1]: Started Bluetooth service. Jul 10 07:05:17 akshansh-arch bluetoothd[558]: Starting SDP server Jul 10 07:05:17 akshansh-arch bluetoothd[558]: Bluetooth management interface 1.19 initialized
. . 02:00.0 Network controller: MEDIATEK Corp. Device 7961 Subsystem: AzureWave Device 4680 Kernel driver in use: mt7921e Kernel modules: mt7921e . .
[ 1.686408] mt7921e 0000:02:00.0: enabling device (0000 -> 0002) [ 1.687215] mt7921e 0000:02:00.0: disabling ASPM L1 [ 1.687281] mt7921e 0000:02:00.0: ASIC revision: 79610010 [ 1.692061] mt7921e 0000:02:00.0: HW/SW Version: 0x8a108a10, Build Time: 20210122002654a [ 1.706371] mt7921e 0000:02:00.0: WM Firmware Version: ____000000, Build Time: 20210122002730 [ 1.906417] usbcore: registered new interface driver btusb [ 1.975430] mt7921e 0000:02:00.0: Firmware init done
btusb 69632 0 btrtl 28672 1 btusb btbcm 16384 1 btusb btintel 32768 1 btusb bluetooth 724992 12 btrtl,btintel,btbcm,bnep,btusb mt7921e 73728 0 mt76_connac_lib 36864 1 mt7921e mt76 81920 2 mt7921e,mt76_connac_lib mac80211 1167360 3 mt76,mt7921e,mt76_connac_lib cfg80211 1040384 4 mt76,mt7921e,mac80211,mt76_connac_lib
What can I do to fix this?
Last edited by akshansh2000 (2021-09-23 04:26:11)
Не работает устройство Bluetooth (блютус).
Всем, привет! Хотел подключить блютус гарнитуру, и обнаружил, что мой usb-blutooth адаптер в «Параметры системы» -> «Bluetooth» не виден. Пакеты bluez и bluez-utils установлены! Запустил сервис от рута systemctl start bluetooth
Сервис поднялся:
# systemctl status bluetooth
● bluetooth.service — Bluetooth service
Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2017-06-09 01:00:40 MSK; 1h 7min ago
Docs: man:bluetoothd(8)
Main PID: 441 (bluetoothd)
Status: «Running»
Tasks: 1 (limit: 4915)
CGroup: /system.slice/bluetooth.service
└─441 /usr/lib/bluetooth/bluetoothd
июн 09 01:00:40 p5kc-pc bluetoothd[441]: Bluetooth daemon 5.45
июн 09 01:00:40 p5kc-pc bluetoothd[441]: Starting SDP server
июн 09 01:00:39 p5kc-pc systemd[1]: Starting Bluetooth service…
июн 09 01:00:40 p5kc-pc systemd[1]: Started Bluetooth service.
июн 09 01:00:41 p5kc-pc bluetoothd[441]: Bluetooth management interface 1.14 initialized
А в «параметрах системы», по прежнему глухо.
Запускаю интерактивную команду bluetoothctl, и она мне выдает:
В сети ничего не нашел, по разрешению своей проблемы. Но Адаптер мой рабочий! У меня параллельно стоит Альт линукс, там адаптер видется… и к нему коннектится гарнитура.
P.S. В сети разные команды находил по данной теме… Выкладываю их под сполер… с моим выхлопом… мож кто-то поймет.
rfkill list
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
#
dmesg |grep -i blu
[ 7.518598] Bluetooth: Core ver 2.22
[ 7.519634] Bluetooth: HCI device and connection manager initialized
[ 7.519642] Bluetooth: HCI socket layer initialized
[ 7.519647] Bluetooth: L2CAP socket layer initialized
[ 7.520939] Bluetooth: SCO socket layer initialized
[ 11.138692] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 11.138695] Bluetooth: BNEP filters: protocol multicast
[ 11.138702] Bluetooth: BNEP socket layer initialized
#
lsmod |grep -i bluetooth
bluetooth 499712 12 btrtl,btintel,bnep,btbcm,btusb
rfkill 20480 6 bluetooth
crc16 16384 2 bluetooth,ext4
#
# uname -a
Linux p5kc-pc 4.10.17-2-MANJARO 1 SMP PREEMPT Sun May 21 11:02:41 UTC 2017 x86_64 GNU/Linux