Bluetooth stopped working due to Linux kernel bug

Last night, I rebuilt my machine and today I noticed that the Bluetooth wasn’t turning on on boot.

For context, I have this in my configuration.nix:

hardware.bluetooth = {
  enable = true;
  powerOnBoot = false;
};

Also, I can confirm it is unblocked and that restarting display-manager doesn’t fix it.

If I run power on in bluetoothctl i get No default controller available, however an Agent is registered.

I’m using Gnome, Niri and Noctalia shell.
Any help troubleshooting this is appreciated.

1 Like

There is a bug in Linux kernel MediaTek MT7921 Bluetooth not initializing (00:00:00:00:00:00) on Linux kernels > 7.0.5 (NixOS) which is fixed in new kernel versions kernel updates for 2026-05-17 by bartoostveen · Pull Request #521297 · NixOS/nixpkgs · GitHub and should be available in nixos-unstable soon.

2 Likes

Thank you very much. I tried to look for recent bugs, but I couldn’t find that. Will wait and rebuild :slight_smile:

You can follow https://nixpkgs-tracker.ocfox.me/?pr=521297 to see when it gets merged to your branch.

2 Likes

That’s so good, I had no idea. Thank you! :smiley:

The issue persists in 7.0.9. I’ve reverted to 7.0.6, which is working, until a fix lands in unstable. Bluetooth stopped working after 7.0.6

To replace latest for 7.0.6 (at your own risk) add this:

# boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelPackages = pkgs.linuxPackagesFor (
  pkgs.linux_latest.override {
    argsOverride = rec {
      version = "7.0.6";
      modDirVersion = "7.0.6";
      src = pkgs.fetchurl {
        url = "mirror://kernel/linux/kernel/v7.x/linux-${version}.tar.xz";
        sha256 = "08vm18wx6399phzgr3wz94yga3ab4fyca79445ygvbspm904996b";
      };
    };
  }
);

You can see what’s the latest version in unstable here:

Sadly, it seems like the fix has been merged, I’ve rebuilt my machine, but bluetooth is still not working…

This failure occurs for me too with 7.0.9. The fix has landed in 7.0.10.

The kernel has been bumped in Nixpkgs in PR 523326 for unstable and in PR 523337 for stable, but it has not yet landed in all channels.

I have tested this with nixos-unstable-small and it is fixed for me.

1 Like

Fixed for me as well now. Thank you once again and sorry for the multiple pings.