No bluetooth: Down to the bluetooth card

Hello, everybody!

Bluetooth stopped working at some point during my current session. This happens every now and then, and I am now trying to understand why instead of just rebooting. So, I started troubleshooting:

doas systemctl list-units | rg -i blue
bluetooth.service loaded active running Bluetooth service

Only the bluetooth service is running. Elsewhere, I have seen that probably, there should be children services running as well.

The modules are loaded:

lsmod | rg btusb
btusb 77824 0
btrtl 32768 1 btusb
btintel 69632 1 btusb
btbcm 24576 1 btusb
btmtk 32768 1 btusb
bluetooth 1101824 17 btrtl,btmtk,btintel,btbcm,bnep,btusb,rfcomm

β€œbluetoothctl list”, β€œlspci | rg -i blue” and β€œlsusb --tree” show no bluetooth devices.

Dmesg shows that there was an error powering off the bluetooth card:

doas dmesg | doas rg -i blue
[343267.478039] Bluetooth: hci0: HCI reset during shutdown failed
[343267.589959] Bluetooth: hci0: Error when powering off device on rfkill (-19)

rfkill seems to be the only command listing a bluetooth device:

rfkill list
0: tpacpi_bluetooth_sw: Bluetooth
Soft blocked: no
Hard blocked: no
2: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no

but β€œrfkill toggle 0” doesn’t seem to do anything, as nothing changes after running it.

Does anybody have any hints?

Same. Bluetooth was working last night. Put the system to sleep. Woke up in the morning and saw that bluetooth is missing entirely. Weird, it just like… vanished!

Manjaro Unstable, Kernel 6.15.0 rc5

1 Like

So, when Bluetooth is actually working, there is a difference in the amount of units running, which now include the HCI:

doas systemctl list-units | rg -i β€˜(blue|DESCRIPTION)’
UNIT LOAD ACTIVE SUB DESCRIPTION
sys-devices-pci0000:00-0000:00:14.0-usb3-3\x2d10-3\x2d10:1.0-bluetooth-hci0.device loaded active plugged /sys/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.0/bluetooth/hci0
sys-subsystem-bluetooth-devices-hci0.device loaded active plugged /sys/subsystem/bluetooth/devices/hci0
bluetooth.service loaded active running Bluetooth service
bluetooth.target loaded active active Bluetooth Support

The list of loaded modules seems to be the same. I have now filtered for Bluetooth too, though:

lsmod | rg -i β€˜(blue|btusb)’
btusb 81920 0
btrtl 32768 1 btusb
btintel 73728 1 btusb
btbcm 24576 1 btusb
btmtk 32768 1 btusb
bluetooth 1110016 34 btrtl,btmtk,btintel,btbcm,bnep,btusb,rfcomm
rfkill 45056 12 iwlmvm,bluetooth,thinkpad_acpi,cfg80211

lsusb and rfkill also list the HCI device even when Bluetooth is switched off

lsusb --tree
/: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 480M
/: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/3p, 20000M/x2
/: Bus 003.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/12p, 480M
|__ Port 003: Dev 028, If 0, Class=Vendor Specific Class, Driver=[none], 12M
|__ Port 004: Dev 003, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 004: Dev 003, If 1, Class=Video, Driver=uvcvideo, 480M
|__ Port 004: Dev 003, If 2, Class=Video, Driver=uvcvideo, 480M
|__ Port 004: Dev 003, If 3, Class=Video, Driver=uvcvideo, 480M
|__ Port 004: Dev 003, If 4, Class=Application Specific Interface, Driver=[none], 480M
|__ Port 008: Dev 004, If 0, Class=Chip/SmartCard, Driver=[none], 12M
/: Bus 004.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/4p, 10000M

rfkill list
0: tpacpi_bluetooth_sw: Bluetooth
Soft blocked: yes
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
9: hci0: Bluetooth
Soft blocked: no
Hard blocked: no

So, it seems that the error was the HCI device being brought down at some point during the session for whatever reason and not being brought back up. I am still curious in case someone understands this stack better.

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