This is my first post here so apologies for any errors.
Problem
I encountered an issue where I could not turn on my Bluetooth in spite of toggling it to the on position in Settings (see image below).
Context
rfkill list all
initially showed Bluetooth being Soft Blocked but unblocking that did not resolve the issue.
The output of inxi -Fxz
returns
System:
Kernel: 6.0.7-202.fsync.fc36.x86_64 arch: x86_64 bits: 64 compiler: gcc
v: 2.37-36.fc36 Desktop: GNOME v: 42.3.1 Distro: Nobara release 36 (Thirty
Six)
Machine:
Type: Laptop System: LENOVO product: 82DS v: Yoga Creator 7 15IMH05
serial: <superuser required>
Mobo: LENOVO model: LNVNB161216 v: SDK0J40700 WIN
serial: <superuser required> UEFI: LENOVO v: DNCN29WW date: 05/26/2021
Battery:
ID-1: BAT1 charge: 13.4 Wh (22.1%) condition: 60.6/70.0 Wh (86.6%)
volts: 14.7 min: 15.4 model: SMP L19M4PF2 status: discharging
CPU:
Info: quad core model: Intel Core i5-10300H bits: 64 type: MT MCP
arch: Comet Lake rev: 2 cache: L1: 256 KiB L2: 1024 KiB L3: 8 MiB
Speed (MHz): avg: 1099 high: 2500 min/max: 800/4500 cores: 1: 896 2: 900
3: 900 4: 900 5: 900 6: 900 7: 2500 8: 900 bogomips: 39999
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
Device-1: Intel CometLake-H GT2 [UHD Graphics] vendor: Lenovo driver: i915
v: kernel arch: Gen-9.5 bus-ID: 00:02.0
Device-2: NVIDIA TU117M vendor: Lenovo driver: nvidia v: 520.56.06
arch: Turing bus-ID: 01:00.0
Device-3: IMC Networks Integrated Camera type: USB driver: uvcvideo
bus-ID: 1-6:2
Display: wayland server: X.Org v: 1.22.1.3 with: Xwayland v: 22.1.3
compositor: gnome-shell driver: X: loaded: modesetting unloaded: fbdev,vesa
dri: iris gpu: i915 resolution: 1920x1080~60Hz
OpenGL: renderer: Mesa Intel UHD Graphics (CML GT2) v: 4.6 Mesa 22.2.2
direct render: Yes
Audio:
Device-1: Intel Comet Lake PCH cAVS vendor: Lenovo
driver: sof-audio-pci-intel-cnl bus-ID: 00:1f.3
Device-2: NVIDIA vendor: Lenovo driver: snd_hda_intel v: kernel
bus-ID: 01:00.1
Sound API: ALSA v: k6.0.7-202.fsync.fc36.x86_64 running: yes
Sound Server-1: PulseAudio v: 15.0 running: no
Sound Server-2: PipeWire v: 0.3.59 running: yes
Network:
Device-1: Intel Comet Lake PCH CNVi WiFi driver: iwlwifi v: kernel
bus-ID: 00:14.3
IF: wlp0s20f3 state: up mac: <filter>
Bluetooth:
Device-1: Intel AX201 Bluetooth type: USB driver: btusb v: 0.8
bus-ID: 1-14:3
Report: hciconfig ID: hci0 rfk-id: 3 state: down
bt-service: enabled,running rfk-block: hardware: no software: no
address: <filter>
Drives:
Local Storage: total: 476.94 GiB used: 34.16 GiB (7.2%)
ID-1: /dev/nvme0n1 vendor: SK Hynix model: HFS512GD9TNG-L3A0B
size: 476.94 GiB temp: 37.9 C
Partition:
ID-1: / size: 198.65 GiB used: 33.83 GiB (17.0%) fs: btrfs
dev: /dev/nvme0n1p6
ID-2: /boot size: 973.4 MiB used: 275.5 MiB (28.3%) fs: ext4
dev: /dev/nvme0n1p5
ID-3: /boot/efi size: 256 MiB used: 59.9 MiB (23.4%) fs: vfat
dev: /dev/nvme0n1p1
Swap:
ID-1: swap-1 type: zram size: 7.47 GiB used: 0 KiB (0.0%) dev: /dev/zram0
Sensors:
System Temperatures: cpu: 46.0 C pch: 37.0 C mobo: N/A
Fan Speeds (RPM): N/A
Info:
Processes: 317 Uptime: 6m Memory: 7.47 GiB used: 3.13 GiB (41.9%)
Init: systemd target: graphical (5) Compilers: gcc: 12.2.1 clang: 14.0.5
Packages: 20 note: see --rpm Shell: Bash v: 5.2.2 inxi: 3.3.22
Note the distro being Nobara 36, which is a, “modified version of Fedora Linux”. I have seen this same issue posted to various forums from people using Fedora so believe it is relevant to post it here.
Cause
Missing file(s) in the /lib/firmware/intel directory.
Solution
For me, the solution came first by inputting dmesg | grep -i bluetooth
into ternminal:
$ dmesg | grep -i bluetooth
[ 6.203687] Bluetooth: Core ver 2.22
[ 6.203710] NET: Registered PF_BLUETOOTH protocol family
[ 6.203711] Bluetooth: HCI device and connection manager initialized
[ 6.203715] Bluetooth: HCI socket layer initialized
[ 6.203717] Bluetooth: L2CAP socket layer initialized
[ 6.203723] Bluetooth: SCO socket layer initialized
[ 6.451214] Bluetooth: hci0: Bootloader revision 0.4 build 0 week 30 2018
[ 6.452225] Bluetooth: hci0: Device revision is 2
[ 6.452228] Bluetooth: hci0: Secure boot is enabled
[ 6.452229] Bluetooth: hci0: OTP lock is enabled
[ 6.452230] Bluetooth: hci0: API lock is enabled
[ 6.452231] Bluetooth: hci0: Debug lock is disabled
[ 6.452232] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[ 6.452799] Bluetooth: hci0: Failed to load Intel firmware file intel/ibt-19-0-4.sfi (-2)
[ 6.453206] Bluetooth: hci0: Failed to read MSFT supported features (-56)
[ 7.006319] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 7.006323] Bluetooth: BNEP filters: protocol multicast
[ 7.006327] Bluetooth: BNEP socket layer initialized
Note:
Bluetooth: hci0: Failed to load Intel firmware file intel/ibt-19-0-4.sfi (-2)
(I found a Debian bug report that summarised the solution to the issue in 2020: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=975726)
I downloaded the ibt-19-0-4.sfi and ibt-19-0-4.ddc files (download the ones relevant to your error) from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/intel
Next I copied those files from my downloads folder to /lib/firmware/intel with:
sudo cp /home/[name]/Downloads/[file] /lib/firmware/intel
- [file] in my case is ibt-19-0-4.sfi and ibt-19-0-4.ddc
To verify they copied over I ran ls /lib/firmware/intel
$ ls /lib/firmware/intel
ibt-19-0-4.ddc ibt-19-0-4.sfi sof sof-tplg
After rebooting it works as expected, I used bluetoothctl
to manage my bluetooth connections.