Realtek RTL8761B/BU USB Bluetooth sees WH-CH520 but cannot connect

Hi,

I’m having trouble with my USB Bluetooth adapter on Garuda Linux. My adapter is Realtek RTL8761B/BU (USB ID 0bda:8771) and my headphones are Sony WH-CH520. The headphones are detected in bluetoothctl scan on, but pairing and connecting always fail. They work fine with my phone, so the problem seems specific to this setup.

What happens:

  • bluetoothctl pair <MAC> fails with org.bluez.Error.AuthenticationCanceled
  • bluetoothctl connect <MAC> fails with org.bluez.Error.Failed br-connection-canceled
  • Logs show [SIGNAL] BREDR.Disconnected - org.bluez.Reason.Local, Connection terminated by local host

Steps I’ve tried:
sudo systemctl restart bluetooth
systemctl --user restart pipewire pipewire-pulse wireplumber
bluetoothctl remove
sudo modprobe -r btusb && sudo modprobe btusb
rfkill list bluetooth

  • Verified headphones work with other devices
  • Checked that adapter is detected by lsusb and bluetoothctl list
  • Confirmed kernel modules loaded: btusb, btrtl, btintel, btbcm, btmtk, bluetooth

Additional details:

  • PipeWire 1.4.8 with pipewire-pulse running
  • BlueZ 5.84
  • Kernel: latest Garuda kernel
  • Headphones: WH-CH520

Questions:

  • How can I troubleshoot why the adapter sees the headphones but cannot pair/connect?
  • What additional logs or commands should I provide to help diagnose this?
  • Any tips from users who have successfully paired WH-CH520 with RTL8761B/BU on Garuda?

Output of garuda-inxi:

System:
Kernel: 6.17.1-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 15.2.1
clocksource: tsc avail: hpet,acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=3b2c00da-0d18-42e0-b656-b4389d7ada49 rw rootflags=subvol=@
vt.default_red=30,243,166,249,137,245,148,186,88,243,166,249,137,245,148,166
vt.default_grn=30,139,227,226,180,194,226,194,91,139,227,226,180,194,226,173
vt.default_blu=46,168,161,175,250,231,213,222,112,168,161,175,250,231,213,200
quiet loglevel=3
Desktop: KDE Plasma v: 6.4.5 tk: Qt v: N/A info: frameworks v: 6.19.0
wm: kwin_wayland vt: 2 dm: SDDM Distro: Garuda base: Arch Linux
Machine:
Type: Desktop System: ASUS product: N/A v: N/A serial: <superuser required>
Mobo: ASUSTeK model: PRIME B550M-A v: Rev X.0x
serial: <superuser required> part-nu: SKU uuid: <superuser required>
UEFI: American Megatrends v: 3607 date: 03/22/2024
CPU:
Info: model: AMD Ryzen 5 5600G with Radeon Graphics bits: 64 type: MT MCP
arch: Zen 3 gen: 3 level: v3 note: check built: 2021-22
process: TSMC n7 (7nm) family: 0x19 (25) model-id: 0x50 (80) stepping: 0
microcode: 0xA500012
Topology: cpus: 1x dies: 1 clusters: 1 cores: 6 threads: 12 tpc: 2
smt: enabled cache: L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 3 MiB
desc: 6x512 KiB L3: 16 MiB desc: 1x16 MiB
Speed (MHz): avg: 2991 min/max: 404/4466 boost: enabled scaling:
driver: amd-pstate-epp governor: powersave cores: 1: 2991 2: 2991 3: 2991
4: 2991 5: 2991 6: 2991 7: 2991 8: 2991 9: 2991 10: 2991 11: 2991 12: 2991
bogomips: 93597
Flags-basic: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a
ssse3 svm
Vulnerabilities: <filter>
Graphics:
Device-1: Advanced Micro Devices [AMD/ATI] Cezanne [Radeon Vega Series /
Radeon Mobile Series] vendor: ASUSTeK driver: amdgpu v: kernel arch: GCN-5
code: Vega process: GF 14nm built: 2017-20 pcie: gen: 3 speed: 8 GT/s
lanes: 16 ports: active: DP-1 empty: DVI-D-1,HDMI-A-1 bus-ID: 0b:00.0
chip-ID: 1002:1638 class-ID: 0300 temp: 41.0 C
Display: wayland server: X.org v: 1.21.1.18 with: Xwayland v: 24.1.8
compositor: kwin_wayland driver: gpu: amdgpu display-ID: 0
Monitor-1: DP-1 model: Dell E2723HN serial: <filter> built: 2021 res:
mode: 1920x1080 hz: 60 scale: 100% (1) dpi: 82 gamma: 1.2
size: 598x336mm (23.54x13.23") diag: 686mm (27") ratio: 16:9 modes:
max: 1920x1080 min: 720x400
API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
device: 1 drv: swrast gbm: drv: kms_swrast surfaceless: drv: radeonsi
wayland: drv: radeonsi x11: drv: radeonsi
API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 25.2.4-arch1.2
glx-v: 1.4 direct-render: yes renderer: AMD Radeon Graphics (radeonsi
renoir ACO DRM 3.64 6.17.1-zen1-1-zen) device-ID: 1002:1638
memory: 3.91 GiB unified: no display-ID: :0.0
API: Vulkan v: 1.4.328 layers: 9 device: 0 type: integrated-gpu name: AMD
Radeon Graphics (RADV RENOIR) driver: mesa radv v: 25.2.4-arch1.2
device-ID: 1002:1638 surfaces: N/A device: 1 type: cpu name: llvmpipe
(LLVM 20.1.8 256 bits) driver: mesa llvmpipe v: 25.2.4-arch1.2 (LLVM
20.1.8) device-ID: 10005:0000 surfaces: N/A
Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
de: kscreen-console,kscreen-doctor wl: wayland-info
x11: xdpyinfo, xprop, xrandr
Audio:
Device-1: Advanced Micro Devices [AMD/ATI] Renoir/Cezanne HDMI/DP Audio
vendor: ASUSTeK driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s
lanes: 16 bus-ID: 0b:00.1 chip-ID: 1002:1637 class-ID: 0403
Device-2: Advanced Micro Devices [AMD] Family 17h/19h/1ah HD Audio
vendor: ASUSTeK driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s
lanes: 16 bus-ID: 0b:00.6 chip-ID: 1022:15e3 class-ID: 0403
API: ALSA v: k6.17.1-zen1-1-zen status: kernel-api tools: N/A
Server-1: PipeWire v: 1.4.9 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: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
vendor: ASUSTeK RTL8111H driver: r8169 v: kernel pcie: gen: 1
speed: 2.5 GT/s lanes: 1 port: f000 bus-ID: 09:00.0 chip-ID: 10ec:8168
class-ID: 0200
IF: enp9s0 state: up speed: 100 Mbps duplex: full mac: <filter>
Info: services: NetworkManager, smbd, systemd-timesyncd
Bluetooth:
Device-1: Realtek Bluetooth Radio driver: btusb v: 0.8 type: USB rev: 1.1
speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-3:5 chip-ID: 0bda:8771
class-ID: e001 serial: <filter>
Report: btmgmt ID: hci0 rfk-id: 2 state: up address: <filter> bt-v: 5.1
lmp-v: 10 status: discoverable: no pairing: no class-ID: 6c0104
Drives:
Local Storage: total: 465.76 GiB used: 106.13 GiB (22.8%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: KIOXIA model: EXCERIA SSD
size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
lanes: 4 tech: SSD serial: <filter> fw-rev: ECFA12.b temp: 40.9 C
scheme: GPT
Partition:
ID-1: / raw-size: 465.47 GiB size: 465.47 GiB (100.00%)
used: 106.13 GiB (22.8%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 632 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 465.47 GiB size: 465.47 GiB (100.00%)
used: 106.13 GiB (22.8%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 465.47 GiB size: 465.47 GiB (100.00%)
used: 106.13 GiB (22.8%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 465.47 GiB size: 465.47 GiB (100.00%)
used: 106.13 GiB (22.8%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 11.47 GiB used: 12 KiB (0.0%) priority: 100
comp: zstd avail: lzo-rle,lzo,lz4,lz4hc,deflate,842 dev: /dev/zram0
Sensors:
System Temperatures: cpu: 48.5 C mobo: N/A gpu: amdgpu temp: 42.0 C
Fan Speeds (rpm): N/A
Info:
Memory: total: 12 GiB note: est. available: 11.47 GiB used: 5.92 GiB (51.6%)
Processes: 380 Power: uptime: 44m states: freeze,mem,disk suspend: deep
avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
suspend, test_resume image: 4.56 GiB services: org_kde_powerdevil,
power-profiles-daemon, upowerd Init: systemd v: 258 default: graphical
tool: systemctl
Packages: 1345 pm: nix-default pkgs: 0 pm: nix-sys pkgs: 0 pm: nix-usr
pkgs: 0 pm: pacman pkgs: 1335 libs: 336 tools: octopi,paru pm: flatpak
pkgs: 10 Compilers: gcc: 15.2.1 Shell: Bash v: 5.3.3 default: fish
v: 4.1.2 running-in: konsole inxi: 3.3.39
Garuda (2.11.1-1):
System install date:     2025-09-30
Garuda release:          250916
Last full system update: 2025-10-14
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut garuda-hardware-profile-standard
Windows dual boot:       No/Undetected
Failed units:
--- System Health Check Report ---
23/24 checks run in 1.02 seconds ⌛
Powered by garuda-health 🦅

✅ System health check passed. No issues found.

Hi and welcome

Have a look here.

2 Likes

Have you referenced:

Quote from Archwiki:

Bluetooth is infamous for being unreliable

Try some different kernel versions, as the kernel in use often affects Bluetooth operation. Be sure to test at least the linux-mainline and linux-rt kernels.

Are you sure the head phones are in pairing mode?

Have you tried resetting the headphones to the factory state?

4 Likes

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