Bluetooth no default controller available

I have been trying to setup bluetooth on my PC running a asus motherboard with an intel i7 chip. When i check bluetoothctl show i get No default controller available.

Upon further investigation journalctl returns the following
been trying to setup bluetooth for a while with no luck this is what i get when i check journalctl

> journalctl -xe | grep bluetooth
Nov 12 03:19:52 nexus .gnome-control-[2936]: Failed to register object: An object is already exported for the interface org.bluez.Agent1 at /org/gnome/bluetooth/settings
░░ Subject: A start job for unit bluetooth.service has begun execution
░░ A start job for unit bluetooth.service has begun execution.
Nov 12 03:19:57 nexus (uetoothd)[3131]: bluetooth.service: ConfigurationDirectory 'bluetooth' already exists but the mode is different. (File system: 755 ConfigurationDirectoryMode: 555)
Nov 12 03:19:57 nexus bluetoothd[3131]: Bluetooth daemon 5.78
░░ Subject: A start job for unit bluetooth.service has finished successfully
░░ A start job for unit bluetooth.service has finished successfully.
Nov 12 03:19:57 nexus bluetoothd[3131]: Starting SDP server
Nov 12 03:19:57 nexus bluetoothd[3131]: src/plugin.c:init_plugin() System does not support bap plugin
Nov 12 03:19:57 nexus bluetoothd[3131]: src/plugin.c:init_plugin() System does not support bass plugin
Nov 12 03:19:57 nexus bluetoothd[3131]: src/plugin.c:init_plugin() System does not support mcp plugin
Nov 12 03:19:57 nexus bluetoothd[3131]: src/plugin.c:init_plugin() System does not support vcp plugin
Nov 12 03:19:57 nexus bluetoothd[3131]: profiles/audio/micp.c:micp_init() D-Bus experimental not enabled
Nov 12 03:19:57 nexus bluetoothd[3131]: src/plugin.c:init_plugin() System does not support micp plugin
Nov 12 03:19:57 nexus bluetoothd[3131]: src/plugin.c:init_plugin() System does not support ccp plugin
Nov 12 03:19:57 nexus bluetoothd[3131]: src/plugin.c:init_plugin() System does not support csip plugin
Nov 12 03:19:57 nexus bluetoothd[3131]: src/plugin.c:init_plugin() System does not support asha plugin
Nov 12 03:19:57 nexus bluetoothd[3131]: Bluetooth management interface 1.22 initializ

For reference this is how i am setting it up in my configuration.nix

  hardware.enableAllFirmware = true;
  hardware.bluetooth = {
    enable = true;
    powerOnBoot = true;
    package = pkgs.bluez.overrideAttrs (finalAttrs: previousAttrs: rec {
      version = "5.78";

      src = pkgs.fetchurl {
        url = "mirror://kernel/linux/bluetooth/bluez-${version}.tar.xz";
        sha256 = "sha256-gw/tGRXF03W43g9eb0X83qDcxf9f+z0x227Q8A1zxeM=";
      };
      
      patches = [];

      buildInputs = previousAttrs.buildInputs ++ [
        pkgs.python3Packages.pygments
      ];
    });
  };

  services.blueman.enable = true;
systemd.services.bluetooth.serviceConfig.ConfigurationDirectoryMode = "755";
  services.dbus.enable = true;

  hardware.pulseaudio.enable = false;
  security.rtkit.enable = true;
  services.pipewire = {
    enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
    audio.enable = true;
  };

i checked lsmod and dmesg and the device seems to be recognized. but bluetoothctl is not seeing it

curious why you have to set this but that seems to be what the error is complaining about?

Hi! Have you since figured this out? I’m also facing the same issue.

Also facing the same issue here, had this issue with 24.05, upgraded yesterday to 24.11, still the same issue. I stopped using NixOS as my daily OS because of this, not having bluetooth means no headset and no voice in meetings.

{pkgs, ...}: {
  hardware.enableAllFirmware = true;
  hardware.firmware = [pkgs.linux-firmware];
  hardware.bluetooth = {
    enable = true;
    disabledPlugins = [
      "ccp"
    ];
    powerOnBoot = true;
    package = pkgs.bluez5-experimental;
    settings = {
      Policy.AutoEnable = "true";
      General = {
        # Enable = "Source,Sink,Media,Socket"; # Does not work with bluez5 (Unknown key Enable for group Genera.)
        Experimental = true;
      };
    };
  };
  systemd.services.bluetooth.serviceConfig.ConfigurationDirectoryMode = "755";
  services.blueman.enable = true;
}
journalctl -a | grep bluetooth
Nov 22 16:57:56 nixos (uetoothd)[4379]: bluetooth.service: ConfigurationDirectory 'bluetooth' already exists but the mode is different. (File system: 755 ConfigurationDirectoryMode: 555)
Nov 22 16:57:56 nixos bluetoothd[4379]: Bluetooth daemon 5.75
Nov 22 16:57:56 nixos bluetoothd[4379]: Starting SDP server
Nov 22 16:57:56 nixos bluetoothd[4379]: Excluding (cli) ccp
Nov 22 16:57:56 nixos bluetoothd[4379]: Bluetooth management interface 1.22 initialized
Nov 22 23:34:05 nixos bluetoothd[4379]: Terminating
Nov 22 23:34:05 nixos bluetoothd[4379]: Stopping SDP server
Nov 22 23:34:05 nixos bluetoothd[4379]: Exit
Nov 22 23:34:05 nixos systemd[1]: bluetooth.service: Deactivated successfully.
Nov 23 16:18:22 nixos (uetoothd)[4385]: bluetooth.service: ConfigurationDirectory 'bluetooth' already exists but the mode is different. (File system: 755 ConfigurationDirectoryMode: 555)
Nov 23 16:18:22 nixos bluetoothd[4385]: Bluetooth daemon 5.75
Nov 23 16:18:22 nixos bluetoothd[4385]: Starting SDP server
Nov 23 16:18:22 nixos bluetoothd[4385]: Excluding (cli) ccp
Nov 23 16:18:22 nixos bluetoothd[4385]: Bluetooth management interface 1.22 initialized
Nov 23 22:37:23 nixos bluetoothd[4385]: Terminating
Nov 23 22:37:23 nixos bluetoothd[4385]: Stopping SDP server
Nov 23 22:37:23 nixos bluetoothd[4385]: Exit

image
image


I installed Ubuntu on a partition and bluetooth does work with my Sony headset under Ubuntu.

If your dmesg output includes something like this:

[   37.404405] Bluetooth: hci0: command 0xfc05 tx timeout

You might be able to get Bluetooth working by reloading the module:

hciconfig hci0 down
rmmod btusb
modprobe btusb
hciconfig hci0 up

This is obviously an unsatisfying solution and if I get a better one I’ll post it.

any update on this?
i am facing a similar issue

Exactly the same here, since 23.05 actually, now running 24.11.

MB Asus Z790-A Gaming Wifi II

sudo dsmeg | grep -i bluetooth
[    3.121140] Bluetooth: Core ver 2.22
[    3.121149] Bluetooth: HCI device and connection manager initialized
[    3.121151] Bluetooth: HCI socket layer initialized
[    3.121152] Bluetooth: L2CAP socket layer initialized
[    3.121153] Bluetooth: SCO socket layer initialized
[  300.042370] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[  300.042373] Bluetooth: BNEP socket layer initialized
lspci
00:00.0 Host bridge: Intel Corporation Device a700 (rev 01)
00:01.0 PCI bridge: Intel Corporation Raptor Lake PCI Express 5.0 Graphics Port (PEG010) (rev 01)
00:06.0 PCI bridge: Intel Corporation Raptor Lake PCIe 4.0 Graphics Port (rev 01)
00:0a.0 Signal processing controller: Intel Corporation Raptor Lake Crashlog and Telemetry (rev 01)
00:14.0 USB controller: Intel Corporation Raptor Lake USB 3.2 Gen 2x2 (20 Gb/s) XHCI Host Controller (rev 11)
00:14.2 RAM memory: Intel Corporation Raptor Lake-S PCH Shared SRAM (rev 11)
00:15.0 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #0 (rev 11)
00:15.1 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #1 (rev 11)
00:15.2 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #2 (rev 11)
00:16.0 Communication controller: Intel Corporation Raptor Lake CSME HECI #1 (rev 11)
00:17.0 SATA controller: Intel Corporation Raptor Lake SATA AHCI Controller (rev 11)
00:1a.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #25 (rev 11)
00:1b.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #17 (rev 11)
00:1b.4 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #21 (rev 11)
00:1c.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #1 (rev 11)
00:1c.3 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #4 (rev 11)
00:1d.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #9 (rev 11)
00:1f.0 ISA bridge: Intel Corporation Raptor Lake LPC/eSPI Controller (rev 11)
00:1f.3 Audio device: Intel Corporation Raptor Lake High Definition Audio Controller (rev 11)
00:1f.4 SMBus: Intel Corporation Raptor Lake-S PCH SMBus Controller (rev 11)
00:1f.5 Serial bus controller: Intel Corporation Raptor Lake SPI (flash) Controller (rev 11)
01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1)
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller S4LV008[Pascal]
05:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
06:00.0 Network controller: Intel Corporation Wi-Fi 7(802.11be) AX1775*/AX1790*/BE20*/BE401/BE1750* 2x2 (rev 1a)
07:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 06)
journalctl -a | grep bluetooth
Apr 05 09:39:00 nixos bluetoothd[5038]: Bluetooth daemon 5.78
Apr 05 09:39:00 nixos bluetoothd[5038]: Starting SDP server
Apr 05 09:39:00 nixos bluetoothd[5038]: Excluding (cli) ccp
Apr 05 09:39:00 nixos bluetoothd[5038]: Bluetooth management interface 1.22 initialized
Apr 05 09:59:45 nixos bluetoothd[5038]: Terminating
Apr 05 09:59:45 nixos bluetoothd[5038]: Stopping SDP server
Apr 05 09:59:45 nixos bluetoothd[5038]: Exit
Apr 05 09:59:45 nixos systemd[1]: bluetooth.service: Deactivated successfully.
Apr 05 09:59:45 nixos systemd[1]: bluetooth.service: Consumed 13ms CPU time, 2.8M memory peak, 1.5M read from disk.
Apr 05 10:05:01 nixos bluetoothd[5331]: Bluetooth daemon 5.78
Apr 05 10:05:01 nixos bluetoothd[5331]: Starting SDP server
Apr 05 10:05:01 nixos bluetoothd[5331]: Excluding (cli) ccp
Apr 05 10:05:01 nixos bluetoothd[5331]: Bluetooth management interface 1.22 initialized

Running out of options, I had to switch to Windows as I depend on bluetooth support for my work.

Please Help!

Finally I got it to work, was still using kernel 6.6.85, after upgrading to 6.12.21 success!! couldn’t use 6.13 or 6.14 thou, some issues with nvidia drivers.

For anyone else out there having issues with your bluetooth, this might be the issue, at least for me with an ASUS Z-790-A Gaming WIFI II MB.

I hope this helps, this was the one thing keeping me from using NixOS as my main for months!

Still some minor issues with screensharing but I think I can live with those.

this is the hardware.
00:00.0 Host bridge: Intel Corporation Device a700 (rev 01)
00:01.0 PCI bridge: Intel Corporation Raptor Lake PCI Express 5.0 Graphics Port (PEG010) (rev 01)
00:06.0 PCI bridge: Intel Corporation Raptor Lake PCIe 4.0 Graphics Port (rev 01)
00:0a.0 Signal processing controller: Intel Corporation Raptor Lake Crashlog and Telemetry (rev 01)
00:14.0 USB controller: Intel Corporation Raptor Lake USB 3.2 Gen 2x2 (20 Gb/s) XHCI Host Controller (rev 11)
00:14.2 RAM memory: Intel Corporation Raptor Lake-S PCH Shared SRAM (rev 11)
00:15.0 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #0 (rev 11)
00:15.1 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #1 (rev 11)
00:15.2 Serial bus controller: Intel Corporation Raptor Lake Serial IO I2C Host Controller #2 (rev 11)
00:16.0 Communication controller: Intel Corporation Raptor Lake CSME HECI #1 (rev 11)
00:17.0 SATA controller: Intel Corporation Raptor Lake SATA AHCI Controller (rev 11)
00:1a.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #25 (rev 11)
00:1b.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #17 (rev 11)
00:1b.4 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #21 (rev 11)
00:1c.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #1 (rev 11)
00:1c.3 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #4 (rev 11)
00:1d.0 PCI bridge: Intel Corporation Raptor Lake PCI Express Root Port #9 (rev 11)
00:1f.0 ISA bridge: Intel Corporation Raptor Lake LPC/eSPI Controller (rev 11)
00:1f.3 Audio device: Intel Corporation Raptor Lake High Definition Audio Controller (rev 11)
00:1f.4 SMBus: Intel Corporation Raptor Lake-S PCH SMBus Controller (rev 11)
00:1f.5 Serial bus controller: Intel Corporation Raptor Lake SPI (flash) Controller (rev 11)
01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1)
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller S4LV008[Pascal]
05:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
06:00.0 Network controller: Intel Corporation Wi-Fi 7(802.11be) AX1775*/AX1790*/BE20*/BE401/BE1750* 2x2 (rev 1a)
07:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 06)