Fedora Bluetooth “No default controller available” on ThinkPad X1 Aura / Intel 8086:a876

Includes significant AI-generated content. I personally experienced this issue. The troubleshooting and solutions below successfully resolved my problem.

Summary

On a Lenovo ThinkPad X1 Aura Edition running Fedora, Bluetooth would immediately toggle back off in GNOME Settings. bluetooth.service was running and rfkill showed Bluetooth was not blocked, but bluetoothctl returned:

No default controller available

The issue was not the mouse or BlueZ service. The Intel Bluetooth controller existed at the kernel/PCI layer but was not exposed as a usable Bluetooth controller until the relevant Intel firmware files were decompressed and the PCIe Bluetooth device was rescanned.

Environment

Fedora release 43Kernel: 6.19.14-200.fc43.x86_64Laptop: Lenovo ThinkPad X1 Aura EditionBluetooth device:00:14.7 Bluetooth [0d11]: Intel Corporation Device [8086:a876] (rev 10)Driver path: btintel_pcie

The key symptom was that the device existed under /sys/class/bluetooth/hci0, but btmgmt info showed zero usable controllers:

bluetoothctl show# No default controller availablesudo btmgmt info# Index list with 0 items

The kernel logs showed repeated Intel PCIe Bluetooth power-state failures:

Bluetooth: hci0: Timeout (200 ms) on alive interrupt for D2 entrybtintel_pcie 0000:00:14.7: PM: pci_pm_suspend(): btintel_pcie_suspend [btintel_pcie] returns -16btintel_pcie 0000:00:14.7: PM: failed to suspend async: error -16

The affected machine showed Intel Bluetooth PCI device 8086:a876 and repeated btintel_pcie D2/suspend failures.

Diagnosis Commands

bluetoothctl showrfkill list allsystemctl status bluetooth --no-pagerls -la /sys/class/bluetoothsudo btmgmt infosudo lspci -nn -s 00:14.7lsmod | grep -Ei 'bluetooth|btintel|btintel_pcie|btusb'sudo dmesg -T | grep -Ei 'bluetooth|btintel|btintel_pcie|hci|firmware|rfkill' | tail -150

Important distinction: this machine used btintel_pcie, not btusb. A typical btusb reload fix did not apply.

Fix

First, decompress the relevant Intel Bluetooth firmware files:

cd /usr/lib/firmware/intelsudo xz -dk ibt-0190-0291-pci.sfi.xz 2>/dev/null || truesudo xz -dk ibt-0190-0291-pci.ddc.xz 2>/dev/null || truesudo xz -dk ibt-0190-0291.sfi.xz 2>/dev/null || truesudo xz -dk ibt-0190-0291.ddc.xz 2>/dev/null || truesudo xz -dk ibt-0190-0291-iml.sfi.xz 2>/dev/null || truels -l ibt-0190-0291*

Then remove and rescan the PCIe Bluetooth device:

sudo systemctl stop bluetoothecho 1 | sudo tee /sys/bus/pci/devices/0000:00:14.7/removesleep 3echo 1 | sudo tee /sys/bus/pci/rescansleep 3sudo systemctl start bluetoothbluetoothctl showsudo btmgmt info

After this, Bluetooth appeared correctly:

Controller 84:D1:C1:09:4D:3A (public) Powered: yes Pairable: yesIndex list with 1 itemhci0: Primary controller

Reusable Repair Script

Adjust 0000:00:14.7 if your Bluetooth PCI address is different.

sudo tee /usr/local/sbin/fix-intel-bluetooth-x1-aura.sh >/dev/null <<'EOF'#!/usr/bin/env bashset -euo pipefailcd /usr/lib/firmware/intelxz -dk ibt-0190-0291-pci.sfi.xz 2>/dev/null || truexz -dk ibt-0190-0291-pci.ddc.xz 2>/dev/null || truexz -dk ibt-0190-0291.sfi.xz 2>/dev/null || truexz -dk ibt-0190-0291.ddc.xz 2>/dev/null || truexz -dk ibt-0190-0291-iml.sfi.xz 2>/dev/null || truesystemctl stop bluetoothecho 1 > /sys/bus/pci/devices/0000:00:14.7/removesleep 3echo 1 > /sys/bus/pci/rescansleep 3systemctl start bluetoothbluetoothctl showbtmgmt infoEOFsudo chmod +x /usr/local/sbin/fix-intel-bluetooth-x1-aura.sh

Run later with:

sudo /usr/local/sbin/fix-intel-bluetooth-x1-aura.sh

Notes

This appears to be an Intel PCIe Bluetooth firmware/driver issue, not a generic BlueZ issue. The key indicators were:

  1. bluetooth.service was active.
  2. rfkill showed no soft or hard block.
  3. /sys/class/bluetooth/hci0 existed.
  4. btmgmt info still showed no usable controllers.
  5. dmesg showed repeated btintel_pcie D2 power-state failures.

Future linux-firmware package updates may remove the decompressed firmware files, so the repair script may need to be rerun after system updates.

Leave a comment