Ubuntu Bluetooth Not Working: Fixes for 26.04 and 24.04 LTS
Turn off airplane mode, unblock the radio and restart the Bluetooth service. Then reinstall the firmware package and reboot if the adapter is still missing:
rfkill unblock bluetooth
sudo systemctl restart bluetooth
bluetoothctl show
sudo apt update
sudo apt install --reinstall bluez linux-firmware
sudo reboot
This page focuses on Ubuntu. For the full, distro-neutral walk-through (pairing with bluetoothctl, dual-boot keys, controller modes) see Bluetooth not working on Linux.
Check your Ubuntu version and kernel first
Bluetooth support depends mostly on the kernel and the linux-firmware package, so start by knowing what you run:
lsb_release -ds
uname -r
apt policy linux-firmware | head -n 3
Example output:
Ubuntu 24.04.3 LTS
6.8.0-85-generic
linux-firmware:
Installed: 20240318.git3b128b60-0ubuntu2.17
Ubuntu 26.04 LTS ships the Linux 7.0 kernel. Ubuntu 24.04 shipped with a 6.8 kernel; if uname -r still starts with 6.8 on 24.04, you are on the original (GA) kernel rather than the newer hardware enablement kernel, which matters for recent hardware (see below). Ubuntu 22.04 is supported until April 2027; anything older is out of standard support and won't get Bluetooth fixes.
Symptoms in GNOME Settings
| What Settings → Bluetooth shows | What it means | Fix |
|---|---|---|
| "Airplane mode is on" | All radios are soft-blocked | Turn airplane mode off in the quick settings menu |
| Toggle greyed out or flips back off | rfkill block or bluetooth.service not running | Fix the toggle |
| "No Bluetooth Found. Plug in a dongle to use Bluetooth." | No adapter detected by the kernel | Adapter missing |
| Device listed but "Connection failed" | Stale pairing or profile problem | Pairing on Ubuntu |
| Headphones connected, sound still from speakers | Output not switched or PipeWire plugin missing | Headsets |
Fix the greyed-out or unresponsive toggle
rfkill list bluetooth
systemctl status bluetooth --no-pager
If Soft blocked: yes, unblock it with rfkill unblock bluetooth. If Hard blocked: yes, use the laptop's wireless key or switch, or enable Bluetooth in the firmware setup. If the service shows inactive (dead) or failed:
sudo systemctl enable --now bluetooth
journalctl -u bluetooth -b --no-pager | tail -n 30
A service that fails to start on Ubuntu is often caused by a hand-edited /etc/bluetooth/main.conf. Compare with the package default and restore it if needed:
sudo cp /etc/bluetooth/main.conf /etc/bluetooth/main.conf.bak
sudo apt install --reinstall -o Dpkg::Options::=--force-confask bluez
apt asks whether to keep your version or install the maintainer's; choose the maintainer's version, then restart the service. Your edits are kept in the .bak copy.
Adapter missing: drivers, firmware and the HWE kernel
Look for firmware errors from the kernel:
sudo dmesg | grep -i -E 'bluetooth|btusb|firmware' | tail -n 20
lsusb
A line such as Direct firmware load for ... failed with error -2 means the firmware file is not installed. On Ubuntu all Bluetooth firmware comes from linux-firmware, so make sure it is current:
sudo apt update
sudo apt full-upgrade
sudo apt install --reinstall linux-firmware
If lsusb shows no Bluetooth device and dmesg is silent, check the BIOS/UEFI setup for a disabled wireless or Bluetooth option before going further.
Use the HWE kernel on Ubuntu 24.04
Ubuntu LTS releases offer a hardware enablement (HWE) kernel that moves to newer kernel versions during the release's life. New Intel, Realtek, MediaTek and Qualcomm adapters often only work with it. Desktop installs from a recent 24.04 point release use it already; servers and older installs may not.
sudo apt install --install-recommends linux-generic-hwe-24.04
sudo reboot
uname -r
The HWE kernel is fully supported, unlike mainline kernel builds from the Ubuntu kernel PPA, which are unsigned (they fail with Secure Boot) and unsupported. Use mainline builds only to test whether a newer kernel would fix your adapter.
OEM laptops
Some certified laptops (Dell, Lenovo, HP) use an OEM kernel. Check with ubuntu-drivers list-oem and install the metapackage it shows if Bluetooth doesn't work on the generic kernel.
Confirm the fix worked
After a reboot, the adapter should show up as a controller and be powered:
bluetoothctl show | grep -E 'Controller|Powered|Discoverable'
Example output:
Controller 3C:21:9C:4B:7A:10 (public)
Powered: yes
Discoverable: no
If you still get No default controller available, the kernel still has no adapter: compare lsusb before and after with a USB Bluetooth dongle plugged in. A cheap dongle with an Intel or Realtek chip that Ubuntu supports is a quick way to tell a driver problem from a hardware fault.
Pairing on Ubuntu
If a device appears but won't connect, remove it in Settings (click the device → Forget Device), put it in pairing mode, and pair again. If the dialog just spins, do the same in a terminal to see the real error:
bluetoothctl devices
bluetoothctl remove AA:BB:CC:DD:EE:FF
bluetoothctl --timeout 20 scan on
bluetoothctl pair AA:BB:CC:DD:EE:FF
bluetoothctl trust AA:BB:CC:DD:EE:FF
bluetoothctl connect AA:BB:CC:DD:EE:FF
Common pairing errors and what they mean on Ubuntu:
Failed to pair: org.bluez.Error.AuthenticationFailed: the device rejected the key. Remove it on both sides (Ubuntu and the device's other hosts) and pair again.Failed to connect: org.bluez.Error.Failed br-connection-profile-unavailable: the audio profile isn't available, almost always because the PipeWire Bluetooth plugin is missing. See headsets.Failed to pair: org.bluez.Error.AuthenticationCanceled: the PIN or confirmation dialog timed out. Keep the Settings window open and confirm the code on both devices.
Keyboards and mice that wake from sleep but don't reconnect usually need trust. For dual-boot pairing with Windows and controller-mode tweaks, see the general Linux Bluetooth guide.
Headphones and speakers on Ubuntu
Ubuntu 24.04 and 26.04 use PipeWire for audio. Bluetooth audio needs the SPA Bluetooth plugin, which a normal desktop install includes but minimal installs or upgraded systems sometimes miss:
sudo apt install pipewire-audio libspa-0.2-bluetooth
systemctl --user restart wireplumber pipewire pipewire-pulse
Then reconnect the headset and choose it in Settings → Sound → Output. If it sounds like a phone call, the headset is in the hands-free profile: pick High Fidelity Playback (A2DP Sink) in the device's profile menu in Settings, or install pavucontrol and change it under Configuration.
If an old guide told you to install pulseaudio-module-bluetooth, don't: that package is for PulseAudio and conflicts with PipeWire on current Ubuntu. If you already installed it, remove PulseAudio pieces with sudo apt install pipewire-audio, which replaces them. Wider audio issues are covered in no sound on Linux.
Bluetooth broke after an upgrade, update or suspend
If Bluetooth worked before a kernel update or a release upgrade (for example 24.04 to 26.04):
- Boot the previous kernel. Hold Shift or tap Esc at boot, choose Advanced options for Ubuntu, pick the older kernel. If Bluetooth works there, the regression is in the new kernel or firmware.
- Finish the upgrade.
sudo apt update && sudo apt full-upgradeoften pulls in a fixedlinux-firmwarea few days after a bad one. - Check for third-party leftovers. PPAs and manually installed BlueZ builds are disabled by the upgrader but their packages stay.
apt policy bluezshould show the Ubuntu archive as the source. - Report it.
ubuntu-bug linux(kernel/firmware) orubuntu-bug bluez(pairing, service) attaches the logs Ubuntu developers need.
Until a fix lands, you can keep booting the working kernel. Don't remove it with apt autoremove while you depend on it; mark it manually installed with sudo apt-mark manual linux-image-VERSION.
Bluetooth stops after suspend
Restarting the service and reloading the USB driver brings it back without a reboot:
sudo systemctl restart bluetooth
sudo modprobe -r btusb && sudo modprobe btusb
To stop it happening, disable USB autosuspend for Bluetooth with echo 'options btusb enable_autosuspend=n' | sudo tee /etc/modprobe.d/btusb.conf and reboot. If your adapter is part of an Intel Wi-Fi card and Wi-Fi also dies after suspend, the cause is shared; see the Ubuntu Wi-Fi fix.
Linux Mint and other Ubuntu flavours
- Linux Mint 22.3 is based on Ubuntu 24.04 and uses the same kernel and firmware packages, so the HWE and firmware steps apply unchanged. Mint's Bluetooth manager is Blueman (Cinnamon/Xfce/MATE); its tray menu has Turn Bluetooth On, and
blueman-managershows devices. Mint's Update Manager → View → Linux kernels installs newer kernels graphically. - Kubuntu uses KDE's Bluedevil; Bluetooth is under System Settings → Bluetooth. The service and firmware steps are identical.
- Xubuntu, Lubuntu use Blueman as well.
Still not working?
Boot a current Ubuntu live USB (26.04 if you run 24.04) and test Bluetooth there. If it works, upgrading your kernel via HWE or upgrading the release will fix it; if it doesn't, the adapter needs firmware or driver support that isn't in Ubuntu yet, or the hardware is faulty. When asking for help, include the output of lsusb, sudo dmesg | grep -i bluetooth, rfkill list and uname -r. More Ubuntu fixes by symptom are in the Ubuntu troubleshooting hub; Ubuntu's own notes are at help.ubuntu.com: Bluetooth.
Frequently asked questions
Why is the Bluetooth toggle greyed out in Ubuntu?
GNOME greys it out when airplane mode is on, when rfkill blocks Bluetooth, or when bluetooth.service is not running. Turn airplane mode off, run rfkill unblock bluetooth and sudo systemctl restart bluetooth.
What does "No Bluetooth Found. Plug in a dongle" mean?
Ubuntu sees no Bluetooth adapter at all. The kernel did not load the driver or firmware, the adapter is disabled in the BIOS, or it needs a newer kernel than the one installed.
Does installing the HWE kernel on Ubuntu 24.04 help Bluetooth?
Often, yes, on laptops or adapters newer than the release. The HWE kernel brings newer drivers and firmware support while staying fully supported by Ubuntu.
Bluetooth stopped working after upgrading Ubuntu. What should I check first?
Boot the previous kernel from GRUB's Advanced options. If Bluetooth works there, the new kernel or firmware is at fault; keep using the old kernel and report it with ubuntu-bug linux until a fix arrives.
Spotted a mistake or a command that no longer works? Send a correction — pages are re-checked when reports come in.