Bluetooth breaking after update - No default controller available

Hardware information: https://0x0.st/XP4r.txt
Boot Log: https://0x0.st/XP4z.txt

Hi there. After a recent update, my device’s Bluetooth stopped functioning. I tried to use sudo bluetoothctl to see what the issue was and when I ran power on this was the output No default controller available.

I looked up possible solutions like installing bluez-hid2hci and running sudo modprobe -r btusb then sudo rmmod btusb but the issue is still persisting.

Are there any steps that I can take to solve this issue?

2024-05-19T14:30:00Z

Welcome @SmartFridge :wave::sunglasses:

Just as something to try, does Bluetooth still fail if you use the LTS kernel?

Looking at other reports of the issue, it does seem to be related to a kernel update, so the LTS kernel may prove beneficial. An upstream patch has been reported (suggesting a fix is on the way).

These lines from your boot log may relate to the issue:

kernel: bluetooth hci0: Direct firmware load for mediatek/BT_RAM_CODE_MT7961_1a_2_hdr.bin failed with error -2
kernel: Bluetooth: hci0: Failed to load firmware file (-2)
kernel: Bluetooth: hci0: Failed to set up firmware (-2)

Others report similar issues.

Dan_Folescu says:

And bnjns says:

Hi there Bink, Thanks for responding. I just tried to install the LTS kernal to see if it would fix the bluetooth issue. However, pacman failed to download the package

$ sudo pacman -S linux-lts
error: failed to init transaction (unable to lock database)
error: could not lock database: File exists
if you're sure a package manager is not already
running, you can remove /var/lib/pacman/db.lck

Wait I just read the error and removed db.lck I will download the LTS kernal now

1 Like

You might also install the LTS kernel headers, as these are needed for some drivers and such, like Nvidia (DKMS version). Having the headers installed ensures those get properly built into the kernel.

It’s safe to install them, even if you’re not sure whether you need them or not.

sudo pacman -S linux-lts-headers

Hi there sorry for the delay, I tried to install using this command and well, I think there is an error with depmod. the terminal is filled with errors all following the same pattern. In the code box below I have put a section of the error as an example.

depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/snd-intel8x0.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/snd-intel8x0m.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/snd-maestro3.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/snd-rme32.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/snd-rme96.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/snd-sonicvibes.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/snd-via82xx.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/snd-via82xx-modem.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/ac97/snd-ac97-codec.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/ali5451/snd-ali5451.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/asihpi/snd-asihpi.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/au88x0/snd-au8810.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/au88x0/snd-au8820.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/au88x0/snd-au8830.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/aw2/snd-aw2.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/ctxfi/snd-ctxfi.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/ca0106/snd-ca0106.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/cs46xx/snd-cs46xx.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/lola/snd-lola.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/lx6464es/snd-lx6464es.ko.zst: Invalid argument
depmod: ERROR: failed to load symbols from /lib/modules/6.6.31-1-lts/kernel/sound/pci/echoaudio/snd-darla20.ko.zst: Invalid argument

It seems like the LTS kernel didn’t installed properly. Make sure you can boot into a different kernel (such as the standard kernel), then remove and then re-install the LTS kernel + headers.

sudo pacman -R linux-lts linux-lts-headers
sudo pacman -S linux-lts linux-lts-headers

I removed linux-lts and linux-lts-headers but after running sudo pacman -S linux-lts linux-lts-headers a wall of errors appeared filling up konsole. Here is a small section:

linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/usb/6fire/snd-usb-6fire.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/usb/bcd2000/snd-bcd2000.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/usb/caiaq/snd-usb-caiaq.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/usb/hiface/snd-usb-hiface.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/usb/line6/snd-usb-line6.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/usb/line6/snd-usb-pod.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/usb/line6/snd-usb-podhd.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/usb/line6/snd-usb-toneport.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/usb/line6/snd-usb-variax.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/usb/misc/snd-ua101.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/usb/snd-usb-audio.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/usb/snd-usbmidi-lib.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/usb/usx2y/snd-usb-us122l.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/usb/usx2y/snd-usb-usx2y.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/virtio/virtio_snd.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/x86/snd-hdmi-lpe-audio.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/sound/xen/snd_xen_front.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/kernel/virt/lib/irqbypass.ko.zst exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/modules.builtin exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/modules.builtin.modinfo exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/modules.order exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/pkgbase exists in filesystem
linux-lts: /usr/lib/modules/6.6.31-1-lts/vmlinuz exists in filesystem
linux-lts: /usr/share/licenses/linux-lts/BSD-2-Clause exists in filesystem
linux-lts: /usr/share/licenses/linux-lts/BSD-3-Clause exists in filesystem
linux-lts: /usr/share/licenses/linux-lts/BSD-3-Clause-Clear exists in filesystem
linux-lts: /usr/share/licenses/linux-lts/GCC-exception-2.0 exists in filesystem
linux-lts: /usr/share/licenses/linux-lts/GPL-1.0 exists in filesystem
linux-lts: /usr/share/licenses/linux-lts/ISC exists in filesystem
linux-lts: /usr/share/licenses/linux-lts/Linux-OpenIB exists in filesystem
linux-lts: /usr/share/licenses/linux-lts/Linux-syscall-note exists in filesystem
linux-lts: /usr/share/licenses/linux-lts/MIT exists in filesystem
linux-lts: /usr/share/licenses/linux-lts/X11 exists in filesystem
linux-lts: /usr/share/licenses/linux-lts/Zlib exists in filesystem
Errors occurred, no packages were upgraded.

I ran pacman -Qs linux-lts to see if the packages were still locally installed on my system and non were found

Ok, I know we are supposed to figure out the problem here but I gave up and decided to downgrade my kernel to 6.8.9. I ran:

sudo pacman -U file:///var/cache/pacman/pkg/linux-headers-6.8.9.arch1-2-x86_64.pkg.tar.zst file:///var/cache/pacman/pkg/linux-6.8.9.arch1-2-x86_64.pkg.tar.zst

And this resolved the bluetooth issues.
Thanks for your help and I will just wait until the patches are applied upstream before upgrading. Is this happening in the closest upcoming version of the kernel?

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.