Bluetooth adapter not detected after suspend (randomly)

Hello,

I originally posted this under “Languages > French” (my native language) but got no answer, so I’m posting it again here and translating it as best as I can.

After waking up from suspend, sometimes, my PC’s integrated Bluetooth adapter isn’t detected anymore. When opening GNOME settings, under “Bluetooth” it says : “No Bluetooth found”.

Apart from this, Bluetooth is working perfectly on my computer, even after suspending. But it seems that the adapter disappears from my system after certain randomly selected wake-up times. I have to reboot my PC to get Bluetooth back.

Here is what rfkill gives me when Bluetooth is working :

ID TYPE      DEVICE      SOFT      HARD
 0 wlan      phy0   unblocked unblocked
 1 bluetooth hci0   unblocked unblocked

And here is what it gives me after waking up from suspend when the Bluetooth adapter isn’t detected anymore :

ID TYPE      DEVICE      SOFT      HARD
 0 wlan      phy0   unblocked unblocked

Here are lspci, lsusb and inxi outputs, in that order (these are the same when the adapter is detected as when the adapter stops being detected) :

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 07)
00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem (rev 31)
00:16.0 Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 (rev 31)
00:17.0 SATA controller: Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #5 (rev f1)
00:1c.5 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #6 (rev f1)
00:1f.0 ISA bridge: Intel Corporation H110 Chipset LPC/eSPI Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)
00:1f.3 Audio device: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller (rev 31)
00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)
01:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 730] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
03:00.0 Network controller: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter (rev 01)
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 006: ID 0cf3:e005 Qualcomm Atheros Communications 
Bus 001 Device 003: ID 04b3:3025 IBM Corp. NetVista Full Width Keyboard
Bus 001 Device 002: ID 413c:301a Dell Computer Corp. Dell MS116 Optical Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
CPU: quad core Intel Core i5-6400 (-MCP-) speed/min/max: 3208/800/3300 MHz
Kernel: 6.2.12-1-MANJARO x86_64 Up: 2h 0m Mem: 4285.6/7889.9 MiB (54.3%)
Storage: 1.36 TiB (45.9% used) Procs: 290 Shell: Zsh inxi: 3.3.26

My PC is a 2016 Dell Inspiron 3650 desktop.

I also had this problem when running Ubuntu 18.04, 20.04 and Manjaro KDE, so it doesn’t seem to be distro specific.

I copied the outputs above when running Linux 6.2, but the problem persists with Linux 5.15.

Thanks in advance !

Hello @Antux :wink:

It is probably related to this issue:

Solution is reloading the module.

Hello @megavolt, and thank you for helping !

Unlike “outsidefactor” from the thread you mentioned, I’m not getting this in dmesg output :

[   15.980086] Bluetooth: hci0: command 0xfc05 tx timeout
[   15.980093] Bluetooth: hci0: Reading Intel version command failed (-110)

Instead, I’m getting this :

[    6.242358] Bluetooth: Core ver 2.22
[    6.243001] NET: Registered PF_BLUETOOTH protocol family
[    6.243003] Bluetooth: HCI device and connection manager initialized
[    6.243006] Bluetooth: HCI socket layer initialized
[    6.243009] Bluetooth: L2CAP socket layer initialized
[    6.243013] Bluetooth: SCO socket layer initialized
[   11.939960] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   11.939964] Bluetooth: BNEP filters: protocol multicast
[   11.939967] Bluetooth: BNEP socket layer initialized
[   17.764430] Bluetooth: RFCOMM TTY layer initialized
[   17.764437] Bluetooth: RFCOMM socket layer initialized
[   17.764440] Bluetooth: RFCOMM ver 1.11
[ 1377.018057] Bluetooth: Can't get version to change to load ram patch err
[ 1377.018062] Bluetooth: Loading patch file failed

I tried the solution from the answer you shared anyway, but it didn’t solve my issue…

Just to be clear, I ran the following, which didn’t do anything :

sudo systemctl stop bluetooth.service
sudo modprobe -rv btusb && sleep 10 && sudo modprobe -v btusb
sudo systemctl start bluetooth.service

Well, seems to be a widely known problem, but no real solution. At least, there is a problem with the proprietary firmware. That’s for sure.

If that only happens on suspend wake-ups, then maybe add this to the modprobe config:

options btusb enable_autosuspend=0

and reboot. Autosuspend is enabled it by default and will disable it with this config.

1 Like

Thanks, I added the line to a bluetooth-fix.conf file in /etc/modprobe.d, I’ll see if it works.

Unfortunately, it didn’t work : the problem occurred again today :confused:

But the output of dmesg is slightly different this time :

[    6.113759] Bluetooth: Core ver 2.22
[    6.113819] NET: Registered PF_BLUETOOTH protocol family
[    6.113820] Bluetooth: HCI device and connection manager initialized
[    6.113823] Bluetooth: HCI socket layer initialized
[    6.113825] Bluetooth: L2CAP socket layer initialized
[    6.113828] Bluetooth: SCO socket layer initialized
[   11.911552] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   11.911555] Bluetooth: BNEP filters: protocol multicast
[   11.911559] Bluetooth: BNEP socket layer initialized
[   28.904862] Bluetooth: RFCOMM TTY layer initialized
[   28.904886] Bluetooth: RFCOMM socket layer initialized
[   28.904889] Bluetooth: RFCOMM ver 1.11
[10695.630980] Bluetooth: Can't change to loading configuration err
[10695.630996] Bluetooth: Loading patch file failed

It says Can't change to loading configuration err instead of Can't get version to change to load ram patch err.

Happened again today, with Can't get version to change to load ram patch err instead of Can't change to loading configuration err.

I don’t understand what is happening…

Maybe a forced reset helps after a wake-up:

sudo systemctl stop bluetooth.service
sleep 3
sudo modprobe -rv btusb 
sleep 10 
sudo modprobe -v btusb enable_autosuspend=0 reset=1
sleep 3
sudo systemctl start bluetooth.service

Check again dmesg.

Anyway, it is just a guess. More infos: modinfo btusb

Unfortunately, it doesn’t work either… I also tried by replacing btusb with ath9k, which seems to be my Bluetooth driver, according to the output of lspci -k.

The output of dmesg also remains the same :

[33495.479539] Bluetooth: Can't get version to change to load ram patch err
[33495.479542] Bluetooth: Loading patch file failed

I doubt that… it is the wifi module…

inxi -Eazy

Here is the output of inxi -Eazy :

Bluetooth:
  Device-1: Qualcomm Atheros driver: btusb v: 0.8 type: USB rev: 1.1
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-5:6 chip-ID: 0cf3:e005
    class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 1 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: see --recommends

So it seems to be btusb. Sorry for the confusion…