Why Is Bluetooth Not Working on Ubuntu Desktop?
Bluetooth failures on Ubuntu Desktop fall into four categories: the Bluetooth service is not running, the adapter is soft-blocked by rfkill, a kernel driver is missing or loaded incorrectly, or the BlueZ stack has a corrupted configuration. Ubuntu 22.04 LTS and Ubuntu 24.04 LTS both use BlueZ as the Bluetooth stack — the fixes below apply to both versions.
Before starting, confirm whether the issue affects all devices (no adapter visible) or just pairing/connecting (adapter visible but devices won't connect). This narrows the diagnostic significantly.
Step 1: Check if the Bluetooth Service Is Running
Open a terminal and run:
sudo systemctl status bluetooth
If the service is inactive, dead, or failed, that's your problem. Start it with:
sudo systemctl enable bluetooth
sudo systemctl start bluetooth
Then check again with systemctl status bluetooth. If it shows active (running), try connecting your device. If it fails to start, continue to the diagnosis steps below.
Fix 1: Unblock Bluetooth with rfkill
rfkill is a Linux subsystem that can soft-block wireless adapters — including Bluetooth — independently of the BlueZ service. Even if the service is running, a soft block prevents the adapter from functioning.
Step 1. Check the block status:
rfkill list
Look for a Bluetooth entry. If it shows Soft blocked: yes, unblock it:
sudo rfkill unblock bluetooth
If it shows Hard blocked: yes, a physical switch or BIOS setting is disabling the adapter — check your laptop's Fn keys for a wireless toggle or look in BIOS settings.
Fix 2: Restart the Bluetooth Service
A simple service restart resolves most temporary BlueZ failures:
sudo systemctl restart bluetooth
After restarting, open the Bluetooth settings panel (Settings → Bluetooth) and check whether the toggle appears and devices are discoverable. If the toggle is greyed out even after a service restart, proceed to Fix 3.
Fix 3: Enable AutoEnable in BlueZ Configuration
By default, some Ubuntu configurations don't automatically enable the Bluetooth adapter on boot. Setting AutoEnable=true in the BlueZ main configuration file fixes this.
Step 1. Open the configuration file:
sudo nano /etc/bluetooth/main.conf
Step 2. Find the [Policy] section and set:
[Policy]
AutoEnable=true
Step 3. Save (Ctrl + X, Y, Enter) and restart the Bluetooth service:
sudo systemctl restart bluetooth
Fix 4: Check Hardware Recognition
If the Bluetooth adapter is not visible in software at all, first verify whether Ubuntu recognises the hardware:
inxi -EJxxxz
This shows Bluetooth and wireless hardware details including the driver loaded. If no Bluetooth device appears in the output, the adapter may not have a supported driver.
Alternatively, run:
hciconfig -a
If this returns no devices, the kernel cannot see the adapter. For USB Bluetooth adapters, also check:
lsusb | grep -i bluetooth
Fix 5: Install or Reinstall Bluetooth Firmware
Many Bluetooth chipsets require non-free firmware to operate. On Ubuntu, the linux-firmware package contains most of these — installing or reinstalling it often resolves an adapter that was previously working but stopped after a kernel update.
sudo apt update
sudo apt install --reinstall linux-firmware bluez
sudo systemctl restart bluetooth
For Intel WiFi/Bluetooth combo adapters (common in laptops), also install:
sudo apt install firmware-iwlwifi
Fix 6: Reinstall BlueZ
If the BlueZ stack itself is corrupted — which can happen after interrupted package updates or conflicting Bluetooth applications — a clean reinstall resolves it:
sudo apt remove --purge bluez bluez-utils
sudo apt autoremove
sudo apt install bluez
sudo systemctl enable bluetooth
sudo systemctl start bluetooth
After reinstalling, open Bluetooth settings and test pairing a device.
Fix 7: Fix Bluetooth After Ubuntu Update (Kernel Regression)
Kernel updates occasionally introduce regressions that break Bluetooth on specific chipsets. If your Bluetooth stopped working immediately after a system update, check the kernel version:
uname -r
If the issue started with a specific kernel, boot into an older kernel from the GRUB menu (hold Shift during boot → Advanced options for Ubuntu → select a previous kernel version).
Also check the kernel logs for Bluetooth errors immediately after boot:
dmesg | grep -i bluetooth | head -30
Common log messages and their meanings:
- "Bluetooth: hci0: Firmware not found" — missing firmware, see Fix 5
- "Bluetooth: hci0: command 0x0c03 tx timeout" — adapter initialisation failure, often fixed by disabling/re-enabling USB power management
- "Failed to load Intel Bluetooth firmware" — install firmware-iwlwifi
Fix 8: Fix Bluetooth Device Not Pairing (Device Shows But Won't Connect)
If your adapter is visible and the Bluetooth panel shows, but a specific device won't pair or keep disconnecting, the issue is likely with the pairing database rather than the adapter itself.
Step 1. Remove the device from Ubuntu's saved pairings:
bluetoothctl
remove XX:XX:XX:XX:XX:XX
(Replace with your device's MAC address — find it by running paired-devices inside bluetoothctl.)
Step 2. If the device is also paired to other machines, remove the Ubuntu pairing from the device side as well (usually via holding its pairing button).
Step 3. Re-pair fresh:
scan on
pair XX:XX:XX:XX:XX:XX
trust XX:XX:XX:XX:XX:XX
connect XX:XX:XX:XX:XX:XX
Fix 9: USB Bluetooth Adapter Specific Fixes
External USB Bluetooth adapters are often affected by USB power management, which suspends the adapter to save power and causes it to stop responding.
Disable USB autosuspend for your specific adapter:
echo 'ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="XXXX", ATTR{idProduct}=="XXXX", TEST=="power/autosuspend", ATTR{power/autosuspend}="-1"' | sudo tee /etc/udev/rules.d/50-usb-bluetooth.rules
Replace XXXX with your adapter's vendor and product IDs from lsusb. Run sudo udevadm control --reload-rules and replug the adapter.
Still Not Working? Get Expert Linux Help
Some Bluetooth failures — particularly those involving firmware binary blobs for proprietary chipsets — require kernel module debugging and manual driver compilation. CloudHouse Technologies offers remote Ubuntu support with certified Linux engineers who handle Bluetooth, driver, and kernel-level issues in a single session.
