I’m reviving an old thread:
I get the same error message on my setup when I try to use Bluetooth.
On my RPI it was OK but I switched to a PC + UBUNTU and it no longer works.
On Ubuntu my dongle is OK since I can pair a device via Bluetooth.
I have restarted several times & also restarted Docker.
Any ideas
On your Ubuntu PC, if you run:
sudo systemctl status bluetooth
What do you get?
If that works, if you run:
hcitool dev
Do you see your Bluetooth devices?
In the statuses I have « running » and « enable »
Then the hcitool dev command shows me: an hci0 and an hci2 with their respective addresses
What if you enter the container:
docker exec -it gladys sh
And you run:
hcitool dev
?
I wonder if the Docker container is missing a volume…
Searching online, I get the impression that D-Bus is needed:
-v /var/run/dbus:/var/run/dbus \\

Otherwise, regarding D-Bus, that’s when I realize that my Unix knowledge is very limited… I don’t know D-Bus at all and I started reading… I didn’t understand everything ^^
This time I asked ChatGPT for a bit of help and I understood a little more.
I then ran the remaining commands and restarted, but it didn’t help — I still have my error message…
From what you show me in the screenshot, it looks fine so there’s no need to dig into D-Bus.
Weird that it doesn’t work in Gladys if you can list Bluetooth devices from the container!
Do you have an error in the Gladys logs when you scan?
Hello,
I think this topic is identical:
https://community.gladysassistant.com/t/pas-de-bluetooth-sur-minipc-beelink-s12/9217
Two of us also have the problem.
Mini PC Lenovo ThinkCentre M93p
sudo systemctl status bluetooth
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2024-12-01 16:33:03 CET; 3 days ago
Docs: man:bluetoothd(8)
Main PID: 667 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 9306)
Memory: 1.9M
CPU: 81ms
CGroup: /system.slice/bluetooth.service
└─667 /usr/lib/bluetooth/bluetoothd
déc. 03 17:42:38 lenovo bluetoothd[667]: Endpoint unregistered: sender=:1.184 path=/MediaEndpoint/A2DPSink/sbc_xq_552
déc. 03 17:42:38 lenovo bluetoothd[667]: Endpoint unregistered: sender=:1.184 path=/MediaEndpoint/A2DPSource/sbc_xq_552
déc. 04 10:49:33 lenovo bluetoothd[667]: Endpoint registered: sender=:1.237 path=/MediaEndpoint/A2DPSink/sbc
déc. 04 10:49:33 lenovo bluetoothd[667]: Endpoint registered: sender=:1.237 path=/MediaEndpoint/A2DPSource/sbc
déc. 04 10:49:33 lenovo bluetoothd[667]: Endpoint registered: sender=:1.237 path=/MediaEndpoint/A2DPSink/sbc_xq_453
déc. 04 10:49:33 lenovo bluetoothd[667]: Endpoint registered: sender=:1.237 path=/MediaEndpoint/A2DPSource/sbc_xq_453
déc. 04 10:49:33 lenovo bluetoothd[667]: Endpoint registered: sender=:1.237 path=/MediaEndpoint/A2DPSink/sbc_xq_512
déc. 04 10:49:33 lenovo bluetoothd[667]: Endpoint registered: sender=:1.237 path=/MediaEndpoint/A2DPSource/sbc_xq_512
déc. 04 10:49:33 lenovo bluetoothd[667]: Endpoint registered: sender=:1.237 path=/MediaEndpoint/A2DPSink/sbc_xq_552
déc. 04 10:49:33 lenovo bluetoothd[667]: Endpoint registered: sender=:1.237 path=/MediaEndpoint/A2DPSource/sbc_xq_552
hcitool dev
Devices:
hci0 80:00:0B:CE:2F:B0
gives the same response
I wonder if there are missing dependencies in the Gladys container
When I look at the page of the dependency we use (https://www.npmjs.com/package/@abandonware/noble#installation)
I see that it requires these dependencies:
apt-get install bluetooth bluez libbluetooth-dev libudev-dev
However, in the Gladys Dockerfile, I only see bluez:
I wonder if that’s sufficient or not.
Could someone enter their Gladys container and try installing these dependencies one by one, and see if it then works in Gladys?
To enter the container:
docker exec -it gladys sh
Then, try installing bluetooth:
apt-get install bluetooth
Then re-test in Gladys
If that doesn’t work, try installing:
apt-get install libbluetooth-dev
Then re-test in Gladys.
If that still doesn’t work, try installing:
apt-get install libudev-dev
Thanks in advance!! ![]()
If that’s the case, I’ll add the dependencies to the container
apt-get install bluetooth
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
E: Unable to locate package bluetooth
apt-get install libbluetooth-dev
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
E: Unable to locate package libbluetooth-dev
apt-get install libudev-dev
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
E: Unable to locate package libudev-dev
What I don’t understand is that it worked, since I have 2 Nut key fobs among my devices.
I added them a long time ago.
I wasn’t using them — scenes disabled — because the presence detection didn’t satisfy me.
When I connect directly with a monitor to the mini-PC, I can indeed see Bluetooth devices in Ubuntu: smartphone, TV stick
It tells me that updates for Docker are available
Docker Buildx cli plugin
Docker CLI
Docker Compose (V2) plugin for the Docker CLI
Rootless support for Docker
- some other updates specific to Ubuntu
Before installing anything,
Run:
apt-get update
Then repeat the procedure step by step ![]()
package lists fetched, but same response
apt-get install bluetooth
Actually, I had exited the Gladys container.
When I went back in:
apt-get update
…
Reading package lists… Done
Then
apt-get install bluetooth
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
Suggested packages:
bluez-cups bluez-obexd bluez-meshd
The following NEW packages will be installed:
bluetooth
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 38.9 kB of archives.
After this operation, 69.6 kB of additional disk space will be used.
Get:1 Index of /debian bookworm/main amd64 bluetooth all 5.66-1+deb12u2 [38.9 kB]
Fetched 38.9 kB in 0s (1102 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package bluetooth.
(Reading database … 10770 files and directories currently installed.)
Preparing to unpack …/bluetooth_5.66-1+deb12u2_all.deb …
Unpacking bluetooth (5.66-1+deb12u2) …
Setting up bluetooth (5.66-1+deb12u2) …
Nothing changes in Gladys for now
Do I need to restart the Gladys container for the changes to take effect?
I think so!
docker restart gladys
Thanks Gaetan for your help ![]()
For my part:
update + apt-get install bluetooth + apt-get install libbluetooth-dev + apt-get install libudev-dev + restarting Docker… Nothing has changed… ![]()
I confirm that I get the same output both outside Docker and inside Docker when typing hcitool dev
I just repeated all the steps and the result is the same:
The Bluetooth module is not available, please check that it is enabled.
Me too, same observation, at the same point.
Thanks for your tests!
I’m on Gladys duty tomorrow, I’ll investigate
Hi everyone!
I investigated the issue, and unfortunately I don’t bring good news ^^
For several years, Gladys has been using the « Noble » library, a library that allows using Bluetooth from Node.js
This library was gradually abandoned by the original maintainers (the last commit was 6 years ago) but was taken over by a collective, « abandonware ».
We use the « abandonware » version, which is still maintained, but lightly by a few members.
By looking through the issues of this library, you quickly realize that since a certain version of the Linux kernel, the library no longer works.
There are many posts on the topic, a few examples:
To see them all, go here: GitHub · Where software is built
I see there have been issues with other libraries following changes to the Linux kernel:
What do we do?
The bug seems relatively recent (relative to the activity of the noble project), I think for now we can wait to see if abandonware publishes a fix for recent versions of Linux.
If this library is truly abandoned in the coming months, we’ll have to find an alternative, but I looked quickly and there really isn’t any other library, it’s complicated ![]()
What are you using it for?
For those who wanted to use Bluetooth in this thread, what did you want to do?
I can point you towards alternative solutions!
Honestly, presence detection via Bluetooth is a method I increasingly advise against.
In the past, the majority of Bluetooth devices were “basic”: they constantly broadcast their MAC address, which made them very easy to detect and track.
But today, modern devices like smartphones or smartwatches include advanced mechanisms to avoid tracking (for privacy reasons) and to optimize battery consumption.
Result: Bluetooth scans on these devices have become largely ineffective.
Thanks @pierre-gilles for all that research.
What I don’t understand is that Bluetooth works on the mini-PC (devices are seen), but not in Gladys. Certainly because those are two different libraries, one for each « appareil ».
Personally, I don’t need Bluetooth. I have Nut key fobs that I don’t use. I find the presence detection not great with them.