I’ve had Manjaro on my PC for a while and for some reason, the Bluetooth doesn’t always start with the system. (If it’s of any help, it is a USB dongle, and yes I’ve tried it in different USB ports).
The System has a B450 M Pro4 motherboard with Ryzen5 2600 CPU and RX 6600 XT graphics card.
I can occasionally solve this issue thanks to BingGPT which sometimes gives me suggestions such as using Systemctl, but since today, that is also not working.
I’ve tried looking into it using journalctl and systemctl status bluetooth. here’s the following:
~]$ journalctl -xeu bluetooth.service
░░ Defined-By: systemd
░░ Support: https://forum.manjaro.org/c/support
░░
░░ An ExecStart= process belonging to unit bluetooth.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
Mej 20 14:46:56 kylemanj systemd[1]: bluetooth.service: Failed with result 'exi>
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://forum.manjaro.org/c/support
░░
░░ The unit bluetooth.service has entered the 'failed' state with result 'exit->
Mej 20 14:46:56 kylemanj systemd[1]: Failed to start Bluetooth service.
░░ Subject: A start job for unit bluetooth.service has failed
░░ Defined-By: systemd
░░ Support: https://forum.manjaro.org/c/support
░░
░░ A start job for unit bluetooth.service has finished with a failure.
░░
░░ The job identifier is 3230 and the job result is failed.
lines 83-102/102 (END)
~]$ systemctl status bluetooth.service
× bluetooth.service - Bluetooth service
Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: disabled)
Active: failed (Result: exit-code) since Sat 2023-05-20 14:46:56 CEST; 9min ago
Docs: man:bluetoothd(8)
Process: 14763 ExecStart=/usr/lib/bluetooth/bluetoothd (code=exited, status=1/FAILURE)
Main PID: 14763 (code=exited, status=1/FAILURE)
Status: "Starting up"
CPU: 86ms
Mej 20 14:46:56 kylemanj systemd[1]: Starting Bluetooth service...
Mej 20 14:46:56 kylemanj bluetoothd[14763]: Bluetooth daemon 5.66
Mej 20 14:46:56 kylemanj bluetoothd[14763]: D-Bus setup failed: Name already in use
Mej 20 14:46:56 kylemanj bluetoothd[14763]: src/main.c:main() Unable to get on D-Bus
Mej 20 14:46:56 kylemanj systemd[1]: bluetooth.service: Main process exited, code=exited, status=1/FAILURE
Mej 20 14:46:56 kylemanj systemd[1]: bluetooth.service: Failed with result 'exit-code'.
Mej 20 14:46:56 kylemanj systemd[1]: Failed to start Bluetooth service.
This is not a one-off, unfortunately lately it has been more broken than working, which is a shame.
PS. as obvious as it is, I’m not an IT professional.
For some reason, Bluetooth is working again right now but I’ll give that a shot next time it stops working.
Off topic: sometimes I wonder whether Linux has any built-in troubleshooting tools that could handle issues like this, since most of the times I had problems like this, the solution was something silly in the background. Of course power-users like yourself would know how to deal with it under 2 seconds flat but regular users who have no background don’t know how to deal with such things, which is why some people are put off from Linux as their daily PC.
Well you know, I understand your intention. Something like a “problem solver” like on Windows? You know, Linux is really open by its nature and has by far the best human-readable logs. It’s not that it’s not feasible, it’s that such a tool is inefficient. The reason why windows has a “problem solver” is that the logs are cryptic and almost everything is black-boxed. I remember myself as I was on Windows last month: Why not just run the “problem solver” on Windows to solve my Problem? And you know what, It fixed nothing. In my opinion, such tools won’t help much, but educating users help more. Plus, Linux is really not for every average user due to the open nature, there are many possibilities: I would have pity on that guy who would develop a “problem solver” for all Linux Distros, that would be a life task.
Funny that you say that, cause ever since I got access to BingGPT, I’ve mostly been copy-pasting the errors from the terminal into the BingGPT window, asking bingGPT to show me step-by-step and then copying and pasting the instructions from BingGPT back into the Terminal
it’s very rudimentary but I’ve had limited success with it. Made me think: if I had just enough skill to write a script that did the copy-pasting for me from the Terminal into the GPT and vice-versa, I’d have a very rough and very basic self-troubleshooter that kept itself up-to-date as it went along.
Anyways, Tangent apart, bluetooth stopped working again, I’ll do what you told me to do yesterday again.
You know that the language model acts like a parrot. What ever you teach it, it will just repeat. Maybe you haven’t pushed BingGPT to its limit yet, but I can already say: someday you will. At ChatGPT, I kept coming up against my limits and then it was time to think for myself.
At least the driver is not the problem, but these ones are interessting:
So in fact there is program snap.bluez.bluez which is obviously a snap. Apparmor is a sandbox driver and it does not allow to change capabilities or change anything else on the global system according to Bluetooth.
So, my question: What do you think is the benefit of using bluez in a sandboxed snap? I think the snap and apparmor rules are the root cause of your problem.
I know that the GPT is just a language model but the fact that it combines the search engine (even though it is Bing…) already makes it a bit better. Everything has its limits in the end, and yes I’ve noticed it doesn’t know much about cars, even just looking up pricing of old classics. It’s Interesting, anyways…
As for the BlueZ snap thing, I have no idea mate, it probably installed as a dependency with something else or I’ve installed it while troubleshooting something else.
I guess so. But not the system package, but the snap package. Since I don’t use snaps and don’t have it installed at all, I could just advise you to avoid snaps if possible on Manjaro, Ubuntu is another story, use flatpak instead if needed.
Maybe with that you get a list of packages:
snap list
and remove:
sudo snap remove package_name
I could imagine that you start bluez as snap, apparmor blocks it, so doesn’t work. System bluez should work?!