Bluetooth stopped working after update

Hi, I recently just performed a dup on tumbleweed, and while everything seems to work, bluetooth for some reason isn’t enabled on startup and cannot be enabled in settings. Rebooting didn’t help. I tried a rollback to before the update but it didn’t fix the issue, my bluetooth still couldn’t be enabled. Using bluetoothctl and ‘power on’ gave ‘No default controller available’, which leads me to believe its a driver issue, although that could be wrong. Some searching led me to try:

sudo journalctl -b -p 0..3

which revealed three different bluetooth errors (partially censored since they showed personal info):

[date] [pcname.provider] kernel: Bluetooth: hci0: Execution of wmt command timed out

[date] [pcname.provider] kernel: Bluetooth: hci0: Failed to send wmt patch dwnld (-110)

[date] [pcname.provider] kernel: Bluetooth: hci0: Failed to set up firmware (-110)

No fixes I could find online seemed to be my specific problem. Is there anything else I should try?

Seems like there is a problem with loading the firmware. Can you share the output of inxi:

> inxi -E -xxx
Bluetooth:
  Device-1: Cambridge Silicon Radio Bluetooth Dongle (HCI mode) driver: btusb
    v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 bus-ID: 1-3:3
    chip-ID: 0a12:0001 class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: 0D:1A:75:D3:71:A3
    bt-v: 4.0 lmp-v: 6 class-ID: 7c0104

Please also share more of the journal:

> sudo journalctl -b | grep -oP 'kernel: Bluetooth.*'
kernel: Bluetooth: Core ver 2.22
kernel: Bluetooth: HCI device and connection manager initialized
kernel: Bluetooth: HCI socket layer initialized
kernel: Bluetooth: L2CAP socket layer initialized
kernel: Bluetooth: SCO socket layer initialized
kernel: Bluetooth: hci0: CSR: Setting up dongle with HCI ver=6 rev=22bb
kernel: Bluetooth: hci0: LMP ver=6 subver=22bb; manufacturer=10
kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3
kernel: Bluetooth: BNEP filters: protocol multicast
kernel: Bluetooth: BNEP socket layer initialized
kernel: Bluetooth: MGMT ver 1.23
kernel: Bluetooth: RFCOMM TTY layer initialized
kernel: Bluetooth: RFCOMM socket layer initialized
kernel: Bluetooth: RFCOMM ver 1.11
1 Like

I went to get these, but this time I opened opensuse, the bluetooth was enabled, despite doing nothing differently in opensuse. The only possible thing that I could’ve done to change it was boot into my windows OS that was on a different drive. I’ll still share the outputs in case something is still wrong, since I wouldn’t want this issue to repeat, otherwise this is solved.

inxi:
Bluetooth: Device-1: MediaTek Wireless_Device driver: btusb v: 0.8 type: USB rev: 2.1 speed: 480 Mb/s lanes: 1 bus-ID: 1-12:10 chip-ID: 0e8d:0717 class-ID: e001 serial: 000000000 Report: btmgmt ID: hci1 rfk-id: 2 state: up address: 4C:23:38:A7:A4:B8 bt-v: 5.4 lmp-v: 13 class-ID: 7c0104

journalctl with the arguments you gave didn’t output anything, only a ‘hint’:
> sudo journalctl -b | grep -oP 'kernel: Bluetooth:*'
Hint: You are currently not seeing messages from other users and the system. Users in the 'systemd-journal' group can see all messages. Pass -q to turn off this notice.

It looks to me something is seriously wrong on your system, sudo should execute jorunalctl as root and root should able to see the journal.

The other way to do this:

> su
Password: 
# journalctl -b | grep -oP 'kernel: Bluetooth:.*'
kernel: Bluetooth: Core ver 2.22
kernel: Bluetooth: HCI device and connection manager initialized
kernel: Bluetooth: HCI socket layer initialized
kernel: Bluetooth: L2CAP socket layer initialized
kernel: Bluetooth: SCO socket layer initialized
kernel: Bluetooth: hci0: CSR: Setting up dongle with HCI ver=6 rev=22bb
kernel: Bluetooth: hci0: LMP ver=6 subver=22bb; manufacturer=10
kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3
kernel: Bluetooth: BNEP filters: protocol multicast
kernel: Bluetooth: BNEP socket layer initialized
kernel: Bluetooth: MGMT ver 1.23
kernel: Bluetooth: RFCOMM TTY layer initialized
kernel: Bluetooth: RFCOMM socket layer initialized
kernel: Bluetooth: RFCOMM ver 1.11

Would be good to get this output for your system also in the good situation so you can use it as reference for a bad boot.

I got the output, a little worried now that you say that the previous output I got was a problem. Do you know what I could look into to address that?

Here’s the new jounralctl output while it is functioning, in case anything is off.

journalctl -b | grep -oP 'kernel: Bluetooth:.*'
kernel: Bluetooth: Core ver 2.22
kernel: Bluetooth: HCI device and connection manager initialized
kernel: Bluetooth: HCI socket layer initialized
kernel: Bluetooth: L2CAP socket layer initialized
kernel: Bluetooth: SCO socket layer initialized
kernel: Bluetooth: hci0: HW/SW Version: 0x00000000, Build Time: 20260106153314
kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3
kernel: Bluetooth: BNEP filters: protocol multicast
kernel: Bluetooth: BNEP socket layer initialized
kernel: Bluetooth: hci0: Device setup in 1841708 usecs
kernel: Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is advertised, but not supported.
kernel: Bluetooth: hci0: AOSP extensions version v1.00
kernel: Bluetooth: hci0: AOSP quality report is supported
kernel: Bluetooth: MGMT ver 1.23
kernel: Bluetooth: RFCOMM TTY layer initialized
kernel: Bluetooth: RFCOMM socket layer initialized
kernel: Bluetooth: RFCOMM ver 1.11

Good you got the output, would be better if you included the command you executed to get the output just like I did so we/I know if it was done suing su or sudo. The output is like I wrote mainly helpful for the case things are not working once more.

On sudo not working, can you try:

> sudo id
[sudo] password for root: 
uid=0(root) gid=0(root) groups=0(root)

Sorry, meant to show that I had used su to obtain the last output. sudo id gives me this:

> sudo id
[sudo] password for root: 
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

Thanks for the clarification that you used su to get the output of the journal.

For the output of sudo id, remarkable to see selinux attributes, I got my output on a machine that runs an older install of Tumbleweed and as you see I do not get these selinux attributes.

Is selinux enabled for you, for me it is not (on this machine):

> sestatus 
SELinux status:                 disabled

It seems to me that selinux is enabled. I honestly am not that knowledgeable about this stuff, should it not be?

> sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      35
1 Like

Good to know selinux is enabled on your machine.

There is nowadays a link to the SELinux portal on the left sidebar of the forum:

I’ll look into researching more abt SELinux/Opensuse in general but I’m glad you could help me with my problem, even if it sort of fixed itself.

Above you wrote:

Since then did it not work again? If so, did you capture the output of the journal for Bluetooth for that boot?

On SELinux, start with searching for all SELinux violations since boot:

$ ausearch -ts boot -m avc,user_avc,selinux_err,user_selinux_err

But if you find other SELinux problems not related to this BT problem better open a separate topic for that.

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