Bluetooth service is always inactive (dead)

It seems like the default behavior for GNOME should be bluetooth on. For some reason, it fails.

systemctl status bluetooth outputs
systemd[1]: Bluetooth service was skipped because of an unmet condition check (ConditionPathIsDirectory=/sys/class/bluetooth)

bluetoothctl returns “waiting to connect to bluetoothd”

When I used modprobe & restarted bluetooth, I got bluetoothctl to start, but any command results in “No default controller available” systemctl status bluetooth after modprobe returns:
Apr 05 14:14:05 systemd[1]: Started Bluetooth service. Apr 05 14:14:05 bluetoothd[7123]: Starting SDP server Apr 05 14:14:05 bluetoothd[7123]: src/plugin.c:plugin_init() System does not support csip plugin Apr 05 14:14:05 bluetoothd[7123]: profiles/audio/micp.c:micp_init() D-Bus experimental not enabled Apr 05 14:14:05 bluetoothd[7123]: src/plugin.c:plugin_init() System does not support micp plugin Apr 05 14:14:05 bluetoothd[7123]: src/plugin.c:plugin_init() System does not support vcp plugin Apr 05 14:14:05 bluetoothd[7123]: src/plugin.c:plugin_init() System does not support mcp plugin Apr 05 14:14:05 bluetoothd[7123]: src/plugin.c:plugin_init() System does not support bass plugin Apr 05 14:14:05 bluetoothd[7123]: src/plugin.c:plugin_init() System does not support bap plugin Apr 05 14:14:05 bluetoothd[7123]: Bluetooth management interface 1.22 initialized

NixOS configuration.nix # Edit this configuration file to define what should be installed on# your sys - Pastebin.com
On latest unstable channel
HP laptop that came with Windows 10

No help I’m afraid, but to note I have got the same issue in KDE plasma6.

Did you see this Kernel bug? Reboot is suggested to resolve the problem in their example.

I did see that. I have a laptop so I can’t really unplug the PSU. I tried power button for 30sec, and that didn’t work. Then I waited until it died so it wouldn’t have power, and tried the power button again. Still didn’t work. I’m at a loss, and since those solutions didn’t work I just assumed that there was a different issue.

1 Like

Do you see similar things on dmesg regarding Bluetooth? Does it show up when running rfkill, is it in lsmod, does it show up in lsusb? I think just powering down should be sufficient. Laptops with internal battery allow you to disconnect the battery virtually until you reconnect a charger again. No Bluetooth must be extremely frustrating so best luck :slight_smile:

dmesg | grep -i blue didn’t return anything a couple days ago (typo?) but now it returns:
[ 884.098270] Bluetooth: Core ver 2.22
[ 884.098292] NET: Registered PF_BLUETOOTH protocol family
[ 884.098292] Bluetooth: HCI device and connection manager initialized
[ 884.098295] Bluetooth: HCI socket layer initialized
[ 884.098296] Bluetooth: L2CAP socket layer initialized
[ 884.098319] Bluetooth: SCO socket layer initialized
[ 933.299954] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 933.299961] Bluetooth: BNEP socket layer initialized

rfkill only shows wifi device, I haven’t got lsusb installed right now, and lsmod | grep -i blue shows the following:
bluetooth 913408 9 bnep
ecdh_generic 16384 1 bluetooth
libaes 16384 2 bluetooth,aesni_intel
rfkill 28672 8 hp_wmi,bluetooth,cfg80211
crc16 16384 2 bluetooth,ext4

It’s not too bad considering my BT headphones have a 3.5mm jack so I can just use wired. It is quite frustrating though.

Maybe try running nixos-rebuild boot --upgrade and reboot, considering you are on Linux kernel 6.7 - it was generally dropped and downgraded to 6.6.25 (edit: or up to 6.8… with non-zfs setups). Not sure if that will help anymore seeing some discussions. Also check if you have any sort of bluetooth function key or switch, sometimes that disables bluetooth and makes it hard to figure out whats going on.

Please check nix shell nixpkgs#usbutils -c lsusb and share what your exact bluetooth controller is (or if it is a pci device nix shell nixpkgs#pciutils -c lspci.

Thank you so much for mentioning kernel version! I was messing around with it, and I finally realized that musnix (a configuration for producing pro audio) was controlling my kernel version. All I had to do was change that configuration to rt_latest and bluetooth is back!

1 Like