You are not logged in.
Hey guys, hope you're all doing good!
Recently I was away from my laptop for about 4 months, which means I had about 4000 packages to update when I got back. It took some time and I had to manually tweak some things for everything to update properly, but I eventually had everything back to normal... Or so I thought.
One thing I hadn't realized is that I couldn't use bluetooth anymore, so I started investigating.
First of all, here is some relevant information about my setup:
My laptop is a CyberPowerPC TRACER IV GK7MR0R
I am running Arch with i3wm. I tried installing KDE/Plasma, but to my surprise it did not fix the issue.
$ uname -r
6.10.14-hardened1-1-hardened
Note: I also tried with the
6.11.6-arch1-1
kernel, where everything was exactly the same.
$ pacman -Qs blue
local/blueman 2.4.3-1
GTK+ Bluetooth Manager
local/bluetui 0.5.1-1
TUI for managing bluetooth devices
local/bluetui-debug 0.5.1-1
Detached debugging symbols for bluetui
local/bluez 5.79-1
Daemons for the bluetooth protocol stack
local/bluez-deprecated-tools 5.79-1
Deprecated tools that are no longer maintained
local/bluez-libs 5.79-1
Deprecated libraries for the bluetooth protocol stack
local/bluez-tools 0.2.0-6
A set of tools to manage Bluetooth devices for Linux
local/bluez-utils 5.79-1
Development and debugging utilities for the bluetooth protocol stack
local/hidapi 0.14.0-3
Simple library for communicating with USB and Bluetooth HID devices
local/libldac 2.0.2.3-2
LDAC Bluetooth encoder library
local/python-bleak 0.22.3-1
Bluetooth Low Energy platform Agnostic Klient for Python
local/qt6-connectivity 6.8.0-1 (qt6)
Provides access to Bluetooth hardware
local/sbc 2.0-2
Bluetooth Subband Codec (SBC) library
Currently loaded bluetooth-related kernel modules:
$ lsmod | grep -i blue
bluetooth 1056768 34 btrtl,btmtk,btintel,btbcm,bnep,btusb,rfcomm
rfkill 40960 9 iwlmvm,asus_wmi,bluetooth,cfg80211
crc16 12288 2 bluetooth,ext4
Bluetooth.service is usually fine, but is just now displaying an error:
$ sudo systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; disabled; preset: disabled)
Active: active (running) since Fri 2024-11-08 18:13:34 EST; 32min ago
Invocation: 5bc37255cbaa4d67a114f23e520eddc5
Docs: man:bluetoothd(8)
Main PID: 366715 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 38235)
Memory: 2.4M (peak: 2.9M)
CPU: 118ms
CGroup: /system.slice/bluetooth.service
└─366715 /usr/lib/bluetooth/bluetoothd
Nov 08 18:13:34 Bepis-Laptop bluetoothd[366715]: Endpoint registered: sender=:1.73 path=/MediaEndpoint/A2DPSource/aptx_ll_0
Nov 08 18:13:34 Bepis-Laptop bluetoothd[366715]: Endpoint registered: sender=:1.73 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_1
Nov 08 18:13:34 Bepis-Laptop bluetoothd[366715]: Endpoint registered: sender=:1.73 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_0
Nov 08 18:13:34 Bepis-Laptop bluetoothd[366715]: Endpoint registered: sender=:1.73 path=/MediaEndpoint/A2DPSource/faststream
Nov 08 18:13:34 Bepis-Laptop bluetoothd[366715]: Endpoint registered: sender=:1.73 path=/MediaEndpoint/A2DPSource/faststream_duplex
Nov 08 18:13:34 Bepis-Laptop bluetoothd[366715]: Endpoint registered: sender=:1.73 path=/MediaEndpoint/A2DPSink/opus_05
Nov 08 18:13:34 Bepis-Laptop bluetoothd[366715]: Endpoint registered: sender=:1.73 path=/MediaEndpoint/A2DPSource/opus_05
Nov 08 18:13:34 Bepis-Laptop bluetoothd[366715]: Endpoint registered: sender=:1.73 path=/MediaEndpoint/A2DPSink/opus_05_duplex
Nov 08 18:13:34 Bepis-Laptop bluetoothd[366715]: Endpoint registered: sender=:1.73 path=/MediaEndpoint/A2DPSource/opus_05_duplex
Nov 08 18:13:34 Bepis-Laptop bluetoothd[366715]: Failed to set mode: Failed (0x03)
Now here is where things start getting interesting: When I try starting bluetui, I get the following error message:
$ bluetui
The bluetooth device is soft blocked
Run the following command to unblock it
$ sudo rfkill unblock bluetooth
Which I then try, but of course it doesn't work:
$ sudo rfkill list bluetooth
2: hci0: Bluetooth
Soft blocked: yes
Hard blocked: no
$ sudo rfkill unblock bluetooth
$ sudo rfkill list bluetooth
2: hci0: Bluetooth
Soft blocked: yes
Hard blocked: no
This is the start of me banging my head against my monitor for about the past month...
Here is the data I could gather about my bluetooth adapter's behavior during some tests that I did:
When I boot my laptop, I have to start the kernel modules and bluetooth.service manually (intentional).
Commands:
sudo modprobe bluetooth
sudo modprobe btusb
sudo systemctl start bluetooth.service
sudo rfkill unblock bluetooth
Output of dmesg after these commands:
$ sudo dmesg --color=always -w | grep -i blue
[ 205.336576] Bluetooth: Core ver 2.22
[ 205.336595] NET: Registered PF_BLUETOOTH protocol family
[ 205.336596] Bluetooth: HCI device and connection manager initialized
[ 205.336599] Bluetooth: HCI socket layer initialized
[ 205.336600] Bluetooth: L2CAP socket layer initialized
[ 205.336602] Bluetooth: SCO socket layer initialized
[ 209.051905] Bluetooth: hci0: Bootloader revision 0.3 build 0 week 24 2017
[ 209.052899] Bluetooth: hci0: Device revision is 1
[ 209.052903] Bluetooth: hci0: Secure boot is enabled
[ 209.052905] Bluetooth: hci0: OTP lock is enabled
[ 209.052908] Bluetooth: hci0: API lock is enabled
[ 209.052910] Bluetooth: hci0: Debug lock is disabled
[ 209.052913] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[ 209.075883] Bluetooth: hci0: Found device firmware: intel/ibt-20-1-3.sfi
[ 209.076009] Bluetooth: hci0: Boot Address: 0x24800
[ 209.076013] Bluetooth: hci0: Firmware Version: 132-3.24
[ 210.697150] Bluetooth: hci0: Waiting for firmware download to complete
[ 210.697853] Bluetooth: hci0: Firmware loaded in 1583996 usecs
[ 210.697948] Bluetooth: hci0: Waiting for device to boot
[ 210.712885] Bluetooth: hci0: Device booted in 14624 usecs
[ 210.712891] Bluetooth: hci0: Malformed MSFT vendor event: 0x02
[ 210.713219] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-20-1-3.ddc
[ 210.714884] Bluetooth: hci0: Applying Intel DDC parameters completed
[ 210.715889] Bluetooth: hci0: Firmware revision 0.3 build 132 week 3 2024
[ 210.717896] Bluetooth: hci0: HCI LE Coded PHY feature bit is set, but its usage is not supported.
[ 527.416833] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 527.416837] Bluetooth: BNEP filters: protocol multicast
[ 527.416840] Bluetooth: BNEP socket layer initialized
[ 527.417686] Bluetooth: MGMT ver 1.23
[ 527.450232] Bluetooth: RFCOMM TTY layer initialized
[ 527.450238] Bluetooth: RFCOMM socket layer initialized
[ 527.450240] Bluetooth: RFCOMM ver 1.11
[ 619.896526] Bluetooth: hci0: Opcode 0x2037 failed: -22
[ 621.914757] Bluetooth: hci0: command tx timeout
Note those last two lines, they show up anytime I try to unblock hci0 with rfkill or anytime I try to start bluetooth from a GUI application.
Another thing I tried is to enable it directly in sysfs, which did not work either:
# cd /sys/class/bluetooth/hci0/rfkill2
# cat soft
1
# echo 0 >soft
# cat soft
Another note: Sometimes when I try to unblock bluetooth, its (rfkill ID?) goes up by 1. For example rfkill2 just became rfkill3 as I ran the command above.
Output from bluetoothctl show:
$ bluetoothctl show
Controller 8C:C6:81:E2:4F:72 (public)
Manufacturer: 0x0002 (2)
Version: 0x0b (11)
Name: Bepis-Laptop
Alias: Bepis-Laptop
Class: 0x00000000 (0)
Powered: no
PowerState: off-blocked
Discoverable: no
DiscoverableTimeout: 0x000000b4 (180)
Pairable: yes
UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb)
UUID: Handsfree Audio Gateway (0000111f-0000-1000-8000-00805f9b34fb)
UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb)
UUID: Audio Source (0000110a-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: Device Information (0000180a-0000-1000-8000-00805f9b34fb)
UUID: Handsfree (0000111e-0000-1000-8000-00805f9b34fb)
Modalias: usb:v1D6Bp0246d054F
Discovering: no
Roles: central
Roles: peripheral
Advertising Features:
ActiveInstances: 0x00 (0)
SupportedInstances: 0x0c (12)
SupportedIncludes: tx-power
SupportedIncludes: appearance
SupportedIncludes: local-name
SupportedSecondaryChannels: 1M
SupportedSecondaryChannels: 2M
SupportedCapabilities.MinTxPower: 0xffffffde (-34)
SupportedCapabilities.MaxTxPower: 0x0007 (7)
SupportedCapabilities.MaxAdvLen: 0xfb (251)
SupportedCapabilities.MaxScnRspLen: 0xfb (251)
SupportedFeatures: CanSetTxPower
SupportedFeatures: HardwareOffload
Oh, I almost forgot that yes, my bluetooth adapter is functional. I got it working flawlessly on a Debian 12 LiveOS and even an archinstall USB stick...
I also tried reinstalling most bluetooth-related packages, which didn't do anything for me.
And last thing before I hope someone out there can help me figure this out: my bluetooth configuration:
/etc/bluetooth/main.conf:
[General]
Name = Bluepis
[Policy]
ReconnectAttempts=3
ReconnectIntervals=2,5,5
Yep, my bluetooth configuration only has three lines. I don't think the issue is there though.
So yeah... If anyone here feels like banging their head too, I will be super grateful because honestly my next step is probably going to be reinstalling Arch...
Last edited by Bepis (Yesterday 16:25:55)
vim
Offline
Well, it seems I have been looking everywhere except the right place...
I had completely forgotten about a custom udev rule that disables Bluetooth (why did I even do that?). I commented it out and it immediately let me unblock the interface and use my bluetooth adapter.
Problem solved, I guess.
vim
Offline