Bluetooth, scanning for new devices not working

A few days ago I notice that scanning and finding new Bluetooth devices does not work. Already connected devices can be used, so bluetooth generally works.

When I try to scan for a new device, it is not found. I have tried this with blueman and the KDE bluetooth app.

Does anyone have an idea what I can do?

Are you using your system in dual-boot ?

Have you checked with bluetoothctl in terminal. My experience is that the app doesnt find anything but in terminal it works fine. Providing bluetooth service is running wich I expect it does since already connected devices can be used.

start bluetoothctl in terminal, then power on, then scan on and see if it works.
type help to see available commands

Do you have bluedevil installed? Don’t expect that bluetooth is going to automatically scan and connect to various bluetooth devices because that doesn’t always just work. It depends on the hardware it’s trying to connect to. There are all different types of bluetooth standards. Some devices are finicky and require you to go through multiple steps to get them working using bluetoothctl Usually once you are able to scan, trust, pair, connect and get it working the first time then they are good to go as they have all the settings required to make them work.

https://discovery.endeavouros.com/audio/bluetooth/2021/03/

Thank you all for yoour fast replies. In the mean time I tried to solved the problem but I could not do it.
So let me respond your questions:

  1. I do not use dual boot
  2. I tried using bluetoothctl on the commad line, but this does not work either, I tried different BT devices too
  3. bluedevil is installed, I am using KDE and bluedevil seems to be the bluetooth application delivered by default

So bluetooth is working generally. I am able to use my already paired headset (Sony WH-CH510). :slight_smile:

I checked bluetooth service:

systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: disabled)
Active: active (running) since Tue 2023-06-27 08:26:15 CEST; 2h 4min ago
Docs: man:bluetoothd(8)
Main PID: 794 (bluetoothd)
Status: “Running”
Tasks: 1 (limit: 18224)
Memory: 2.2M
CPU: 1.507s
CGroup: /system.slice/bluetooth.service
└─794 /usr/lib/bluetooth/bluetoothd

Jun 27 08:49:30 venus bluetoothd[794]: Endpoint registered: sender=:1.64 path=/MediaEndpoint/A2DPSource/opus_05
Jun 27 08:49:30 venus bluetoothd[794]: Endpoint registered: sender=:1.64 path=/MediaEndpoint/A2DPSink/opus_05_duplex
Jun 27 08:49:30 venus bluetoothd[794]: Endpoint registered: sender=:1.64 path=/MediaEndpoint/A2DPSource/opus_05_duplex
Jun 27 08:49:30 venus bluetoothd[794]: Failed to set privacy: Rejected (0x0b)
Jun 27 08:49:36 venus bluetoothd[794]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Host is down
Jun 27 08:49:46 venus bluetoothd[794]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Operation already in progress
Jun 27 08:49:46 venus bluetoothd[794]: profiles/audio/avdtp.c:avdtp_connect_cb() connect to 74:45:CE:A2:2B:0C: Operation already in progress (114)
Jun 27 08:49:49 venus bluetoothd[794]: profiles/audio/avdtp.c:avdtp_connect_cb() connect to 74:45:CE:A2:2B:0C: Operation already in progress (114)
Jun 27 08:50:46 venus bluetoothd[794]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Connection timed out
Jun 27 08:50:52 venus bluetoothd[794]: profiles/audio/avdtp.c:avdtp_connect_cb() connect to 74:45:CE:A2:2B:0C: Host is down (112)

Because of the errors I restarted the service and the result looks better:

systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: disabled)
Active: active (running) since Tue 2023-06-27 10:49:30 CEST; 3s ago
Docs: man:bluetoothd(8)
Main PID: 19458 (bluetoothd)
Status: “Running”
Tasks: 1 (limit: 18224)
Memory: 1.1M
CPU: 53ms
CGroup: /system.slice/bluetooth.service
└─19458 /usr/lib/bluetooth/bluetoothd

Jun 27 10:49:30 venus bluetoothd[19458]: Endpoint registered: sender=:1.64 path=/MediaEndpoint/A2DPSource/aptx_ll_1
Jun 27 10:49:30 venus bluetoothd[19458]: Endpoint registered: sender=:1.64 path=/MediaEndpoint/A2DPSource/aptx_ll_0
Jun 27 10:49:30 venus bluetoothd[19458]: Endpoint registered: sender=:1.64 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_1
Jun 27 10:49:30 venus bluetoothd[19458]: Endpoint registered: sender=:1.64 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_0
Jun 27 10:49:30 venus bluetoothd[19458]: Endpoint registered: sender=:1.64 path=/MediaEndpoint/A2DPSource/faststream
Jun 27 10:49:30 venus bluetoothd[19458]: Endpoint registered: sender=:1.64 path=/MediaEndpoint/A2DPSource/faststream_duplex
Jun 27 10:49:30 venus bluetoothd[19458]: Endpoint registered: sender=:1.64 path=/MediaEndpoint/A2DPSink/opus_05
Jun 27 10:49:30 venus bluetoothd[19458]: Endpoint registered: sender=:1.64 path=/MediaEndpoint/A2DPSource/opus_05
Jun 27 10:49:30 venus bluetoothd[19458]: Endpoint registered: sender=:1.64 path=/MediaEndpoint/A2DPSink/opus_05_duplex
Jun 27 10:49:30 venus bluetoothd[19458]: Endpoint registered: sender=:1.64 path=/MediaEndpoint/A2DPSource/opus_05_duplex

Btw, stopping the bluetooth service seems to cause an automatically restart of it.

Weeks ago the scanning worked perfectly. Some update or so must have broken it …

Using bluetoothctl gives me that output:

bluetoothctl
Agent registered
[WH-CH510]# power on
Changing power on succeeded
[WH-CH510]# scan on
[WH-CH510]# list
Controller 64:BC:58:E7:57:E2 venus [default]
Usage: list
[WH-CH510]# devices
Device 74:45:CE:A2:2B:0C WH-CH510
[WH-CH510]#

When you use bluetoothctl are you running each command one at a time to try to go through the process of scanning, trust, pair, connect etc for a particular device? I’m not sure what device it is you are trying to connect. Sometimes a device needs to be totally removed and set up from the beginning due to the fact that it has the wrong info stored. It can be challenging. :wink:

Edit:

https://www.makeuseof.com/manage-bluetooth-linux-with-bluetoothctl/

I am trying to connect to my logitech MX ergo trackball and my JBL speaker. Both do work on my Ubuntu LTS, but not on Endeavour OS.

I am runing each command one at a time. I gave enough time for doing the scan, approx. 30 or 40 seconds.
Now I tried some more, and I got some errors:

[WH-CH510]# devices
Device 74:45:CE:A2:2B:0C WH-CH510
Failed to start discovery: org.freedesktop.DBus.Error.NoReply
[DEL] Transport /org/bluez/hci0/dev_74_45_CE_A2_2B_0C/sep2/fd0
[DEL] Endpoint /org/bluez/hci0/dev_74_45_CE_A2_2B_0C/sep1
[DEL] Endpoint /org/bluez/hci0/dev_74_45_CE_A2_2B_0C/sep2
[CHG] Device 74:45:CE:A2:2B:0C ServicesResolved: no
[CHG] Device 74:45:CE:A2:2B:0C Connected: no
[bluetooth]# agent on
Agent is already registered
[bluetooth]# default-agent
Default agent request successful
[bluetooth]# pair
Missing device address argument
[bluetooth]# scan
Missing on/off/bredr/le argument
[bluetooth]# scan off
Failed to stop discovery: org.bluez.Error.InProgress
[bluetooth]# scan on
Failed to start discovery: org.bluez.Error.InProgress
[bluetooth]#

I am trying to investigate on this error …

When you run the pair command you have to tell it what the device is.

example:

bluetoothctl pair FC:69:47:7C:9D:A3

Edit:

https://wiki.archlinux.org/title/bluetooth

Yes, but I do not know the device id. I tried this:

$btmgmt info
Index list with 1 item
hci0: Primary controller
addr 64:BC:58:E7:57:E2 version 11 manufacturer 2 class 0x7c010c
supported settings: powered connectable fast-connectable discoverable bondable link-security ssp br/edr le advertising secure-conn debug-keys privacy configuration static-addr phy-configuration wide-band-speech
current settings: powered connectable discoverable bondable ssp br/edr le secure-conn
name venus
short name
hci0: Configuration options
supported options: public-address
missing options:
$btmgmt find
Unable to start discovery. status 0x0a (Busy)

The device is not blocked:

$ rfkill list
0: tpacpi_bluetooth_sw: Bluetooth
Soft blocked: no
Hard blocked: no
1: tpacpi_wwan_sw: Wireless WAN
Soft blocked: no
Hard blocked: no
3: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
4: hci0: Bluetooth
Soft blocked: no
Hard blocked: no

I am soure what to do? Some people have a the same problem as I do. Downgrading the kernel or bluez might help. But I am not sure if this is the right way …

OK, I got the device ID from my ubuntu system. But this not work:

pair 30:C0:1B:47:84:3B
Device 30:C0:1B:47:84:3B not available

Edit:

What is the device you are trying to connect to?

Also can you make sure to use code tags around the output you post to make it easier to read.

Try to use bluetoothctl to run power off , power on , scan on to unstick bluez on the host when I get that error. Remember enter between each command

Helped me more than once.

Hi all, I tried a lot the last days. Todays I recognized that bluetooth scan is working again. What did I do? I just run “pacman -Syu” this morning (as I did the last days, in fact I do this almost every day). After this and restarting bluetooth service scanning is working.

Thank you for you help. :slight_smile:

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.