Bluetooth Failing After Windows Logon

After a recent kernel update a reoccurring issue with bluetooth appeared that I’ve never had before.

Bluetooth can’t get enabled, and bluetoothctl power on gives “No default controller available” response. Arch Wiki has a section on this error (6.3.2.) , and, by the looks of it, it’s a “bug with the motherboard bluetooth controller”, as output of journalctl | grep hci produces things like “command tx timeout”. Unplugging the cord for a couple of seconds resolves the problem and bluetooth starts working.

However, every time I log onto Windows and then reboot to go back to Linux the issue reappears, and I have to unplug my computer again. Notably, the problem appeared with the recent kernel update, maybe two weeks ago? Before that I had no problem with dual booting. I also don’t think I’ve had any updates on the Windows part.

What I’ve tried based on the forums:

  • disable secure and fast boot in BIOS;
  • disable fast boot in Windows 10 (I don’t think there is an option to disable secure boot inside Windows itself);
  • disable bluetooth in Windows;
  • update BIOS;
  • Not tried - reverting, because I don’t think I have a snapshot for before the update - I’ve done too many updates since waiting for this to be patched.

I would really appreciate some guidance, and I apologize upfront for being nooby.

inxi (note that currently bluetooth is working, I can report this when it’s not):

System:
Kernel: 6.8.2-zen2-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
clocksource: tsc avail: hpet,acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=3509ddc8-52d8-4e6c-bdb2-a9c2be68362f rw rootflags=subvol=@
quiet quiet rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3
ibt=off
Desktop: KDE Plasma v: 6.0.3 tk: Qt v: N/A info: frameworks v: 6.0.0
wm: kwin_wayland with: krunner vt: 1 dm: SDDM Distro: Garuda
base: Arch Linux
Machine:
Type: Desktop Mobo: ASUSTeK model: ROG STRIX X570-E GAMING v: Rev X.0x
serial: <superuser required> part-nu: SKU uuid: <superuser required>
UEFI: American Megatrends v: 5013 date: 03/18/2024
CPU:
Info: model: AMD Ryzen 9 5900X bits: 64 type: MT MCP arch: Zen 3+ gen: 4
level: v3 note: check built: 2022 process: TSMC n6 (7nm) family: 0x19 (25)
model-id: 0x21 (33) stepping: 0 microcode: 0xA20102B
Topology: cpus: 1x cores: 12 tpc: 2 threads: 24 smt: enabled cache:
L1: 768 KiB desc: d-12x32 KiB; i-12x32 KiB L2: 6 MiB desc: 12x512 KiB
L3: 64 MiB desc: 2x32 MiB
Speed (MHz): avg: 3691 high: 3700 min/max: 2200/4950 boost: enabled
scaling: driver: acpi-cpufreq governor: performance cores: 1: 3700 2: 3700
3: 3700 4: 3700 5: 3700 6: 3700 7: 3700 8: 3700 9: 3700 10: 3700 11: 3700
12: 3700 13: 3700 14: 3700 15: 3700 16: 3700 17: 3700 18: 3593 19: 3700
20: 3700 21: 3612 22: 3700 23: 3700 24: 3700 bogomips: 177254
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3
Vulnerabilities: <filter>
Graphics:
Device-1: AMD Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] vendor: ASRock
driver: amdgpu v: kernel arch: RDNA-2 code: Navi-2x process: TSMC n7 (7nm)
built: 2020-22 pcie: gen: 4 speed: 16 GT/s lanes: 16 ports: active: DP-2
empty: DP-1, DP-3, HDMI-A-1, Writeback-1 bus-ID: 0d:00.0
chip-ID: 1002:73bf class-ID: 0300
Device-2: Logitech BRIO Ultra HD Webcam
driver: hid-generic,snd-usb-audio,usbhid,uvcvideo type: USB rev: 3.1
speed: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 bus-ID: 2-4:2 chip-ID: 046d:085e
class-ID: 0300 serial: <filter>
Display: wayland server: X.org v: 1.21.1.12 with: Xwayland v: 23.2.5
compositor: kwin_wayland driver: X: loaded: amdgpu
unloaded: modesetting,radeon alternate: fbdev,vesa dri: radeonsi
gpu: amdgpu display-ID: 0
Monitor-1: DP-2 res: 2954x1662 size: N/A modes: N/A
API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
device: 1 drv: swrast surfaceless: drv: radeonsi wayland: drv: radeonsi x11:
drv: radeonsi inactive: gbm
API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.0.4-arch1.2
glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 6800 XT (radeonsi
navi21 LLVM 17.0.6 DRM 3.57 6.8.2-zen2-1-zen) device-ID: 1002:73bf
memory: 15.62 GiB unified: no display-ID: :1.0
API: Vulkan v: 1.3.279 layers: 15 device: 0 type: discrete-gpu
name: AMD Radeon RX 6800 XT driver: amd v: 2024.Q1.3 (LLPC)
device-ID: 1002:73bf surfaces: xcb,xlib,wayland
Audio:
Device-1: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel pcie:
gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 0d:00.1 chip-ID: 1002:ab28
class-ID: 0403
Device-2: AMD Starship/Matisse HD Audio vendor: ASUSTeK
driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
bus-ID: 0f:00.4 chip-ID: 1022:1487 class-ID: 0403
Device-3: Logitech BRIO Ultra HD Webcam
driver: hid-generic,snd-usb-audio,usbhid,uvcvideo type: USB rev: 3.1
speed: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 bus-ID: 2-4:2 chip-ID: 046d:085e
class-ID: 0300 serial: <filter>
API: ALSA v: k6.8.2-zen2-1-zen status: kernel-api with: aoss
type: oss-emulator tools: N/A
Server-1: PipeWire v: 1.0.4 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
Device-1: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel pcie: gen: 2
speed: 5 GT/s lanes: 1 bus-ID: 05:00.0 chip-ID: 8086:2723 class-ID: 0280
IF: wlp5s0 state: up mac: <filter>
Device-2: Realtek RTL8125 2.5GbE vendor: ASUSTeK driver: r8169 v: kernel
pcie: gen: 2 speed: 5 GT/s lanes: 1 port: e000 bus-ID: 06:00.0
chip-ID: 10ec:8125 class-ID: 0200
IF: enp6s0 state: down mac: <filter>
Device-3: Intel I211 Gigabit Network vendor: ASUSTeK driver: igb v: kernel
pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: d000 bus-ID: 07:00.0
chip-ID: 8086:1539 class-ID: 0200
IF: enp7s0 state: down mac: <filter>
Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
Bluetooth:
Device-1: Intel AX200 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-6:5 chip-ID: 8087:0029
class-ID: e001
Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.2
lmp-v: 11 status: discoverable: no pairing: no class-ID: 6c0104
Drives:
Local Storage: total: 1.82 TiB used: 792.94 GiB (42.6%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:3 vendor: Samsung model: SSD 980 PRO 1TB
size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
lanes: 4 tech: SSD serial: <filter> fw-rev: 2B2QGXA7 temp: 48.9 C
scheme: GPT
ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Samsung model: SSD 980 PRO 1TB
size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
lanes: 4 tech: SSD serial: <filter> fw-rev: 2B2QGXA7 temp: 55.9 C
scheme: GPT
Partition:
ID-1: / raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
used: 792.93 GiB (85.2%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 588 KiB (0.2%) fs: vfat dev: /dev/nvme1n1p1 maj-min: 259:1
ID-3: /home raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
used: 792.93 GiB (85.2%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
used: 792.93 GiB (85.2%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
used: 792.93 GiB (85.2%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 31.24 GiB used: 23 MiB (0.1%) priority: 100
comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 24 dev: /dev/zram0
Sensors:
System Temperatures: cpu: 37.0 C mobo: 48.0 C gpu: amdgpu temp: 56.0 C
mem: 56.0 C
Fan Speeds (rpm): N/A gpu: amdgpu fan: 0
Info:
Memory: total: 32 GiB available: 31.24 GiB used: 7.9 GiB (25.3%)
Processes: 461 Power: uptime: 1h 50m states: freeze,mem,disk suspend: deep
avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
suspend, test_resume image: 12.46 GiB services: org_kde_powerdevil,upowerd
Init: systemd v: 255 default: graphical tool: systemctl
Packages: pm: pacman pkgs: 2413 libs: 588 tools: octopi,paru Compilers:
clang: 17.0.6 gcc: 13.2.1 Shell: garuda-inxi default: Zsh v: 5.9
running-in: konsole inxi: 3.3.33
Garuda (2.6.24-1):
System install date:     2022-07-30
Last full system update: 2024-04-05
Is partially upgraded:   No
Relevant software:       snapper NetworkManager mkinitcpio
Windows dual boot:       Probably (Run as root to verify)
Failed units:
1 Like

It sounds like it may be a kernel regression. Test by installing the LTS kernel:

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

Boot to Windows, then reboot and choose the LTS kernel from the advanced boot options of the Grub menu.

7 Likes

To prevent Win from hijacking hardware during a reboot, you should always shut down the M$ OS. Then restart the computer to grub and boot Linux.

3 Likes

Make sure to give a garuda-update also.
I remember from another topic that a bluetooth bug in kernel 6.8.2 was recently fixed in kernel 6.8.3.
Not necessarily your issue, anyway…
https://bugzilla.kernel.org/show_bug.cgi?id=218651

2 Likes

Thanks, but this didn’t work. Although I imagine it’s valuable advice going forward in general.

Yes!

I forgot to mention that I did try LTS, however what I didn’t try was switching to it while rebooting from Windows. That seems to have done the trick.

As far as I understand, I should stay on LTS for a while now (I set it as default now) and then try switching back to zen to see whether the issue has been resolved?

2 Likes

I must congratulate @sometimesabird on a very in-depth and concise opening post. The OP included a garuda-inxi as well as all the research and steps they’d already tried to correct their issue.

We often see complaints from users when they are admonished for not including all this important information on their Opening Post (OP). The reason we insist users provide this type of information on their OP becomes readily apparent when you see how long it took for @filo to resolve this issue.

@filo did not need to ask a bunch of questions from the user and the issue was resolved immediately on his first reply. This is why an in-depth OP is so important. No muss, no fuss, issue resolved with zero time wasted for all involved.

This should be what all users strive for when creating their OP. Don’t be lazy, and your thread will likely attract very competent forum assistants. This is a perfect example of how your issue can be resolved ASAP with the correct information provided right off the hop.

Again congrats to @sometimesabird for an excellently formatted opening post.

2 Likes

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