Weak Bluetooth Signal on Manjaro Specifically

Hello,
As my motherboard lacks a Bluetooth interface, I’ve purchased a dongle quite a long while ago (specifically a TP-Link UB500). At the time, I was using it happily with no issues on my Windows system.

After initially switching to Manjaro Gnome, I was unable to get Bluetooth working at all, so this was not an issue. However, I have recently switched to Xfce and Bluetooth does work, but the signal is much weaker than it was on Windows. It is to the point where I can put my hand over the left side of the headphones and it will start cutting out.

Thanks for any help in advance and please let me know if there are other details that would help in a potential solution.

System Information
inxi -Fazy                                                       ✔ 

System:
  Kernel: 6.12.34-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 15.1.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-6.12-x86_64
    root=UUID=ef679738-937f-44ba-a303-bcdc5bfea7a0 rw rootflags=subvol=@ quiet
    splash apparmor=1 security=apparmor udev.log_priority=3
  Desktop: Xfce v: 4.20.1 tk: Gtk v: 3.24.48 wm: xfwm4 v: 4.20.0
    with: xfce4-panel tools: xscreensaver,xscreensaver-systemd
    avail: xfce4-screensaver vt: 7 dm: LightDM v: 1.32.0 Distro: Manjaro
    base: Arch Linux
Machine:
  Type: Desktop Mobo: Micro-Star model: PRO B660M-P DDR4 (MS-7D24) v: 1.0
    serial: <superuser required> uuid: <superuser required> UEFI: American
    Megatrends LLC. v: 2.00 date: 03/14/2022
CPU:
  Info: model: 12th Gen Intel Core i7-12700KF bits: 64 type: MST AMCP
    arch: Alder Lake gen: core 12 level: v3 note: check built: 2021+
    process: Intel 7 (10nm ESF) family: 6 model-id: 0x97 (151) stepping: 2
    microcode: 0x3A
  Topology: cpus: 1x dies: 1 clusters: 9 cores: 12 threads: 20 mt: 8 tpc: 2
    st: 4 smt: enabled cache: L1: 1024 KiB desc: d-4x32 KiB, 8x48 KiB; i-8x32
    KiB, 4x64 KiB L2: 12 MiB desc: 8x1.2 MiB, 1x2 MiB L3: 25 MiB desc: 1x25 MiB
  Speed (MHz): avg: 895 min/max: 800/4900:5000:3800 scaling:
    driver: intel_pstate governor: powersave cores: 1: 895 2: 895 3: 895 4: 895
    5: 895 6: 895 7: 895 8: 895 9: 895 10: 895 11: 895 12: 895 13: 895 14: 895
    15: 895 16: 895 17: 895 18: 895 19: 895 20: 895 bogomips: 144440
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: indirect_target_selection status: Not affected
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: reg_file_data_sampling mitigation: Clear Register File
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Enhanced / Automatic IBRS; IBPB: conditional;
    PBRSB-eIBRS: SW sequence; BHI: BHI_DIS_S
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: NVIDIA GA104 [GeForce RTX 3070 Lite Hash Rate] driver: nvidia
    v: 575.64 alternate: nouveau,nvidia_drm non-free: 550-570.xx+ status: current
    (as of 2025-04; EOL~2026-12-xx) arch: Ampere code: GAxxx
    process: TSMC n7 (7nm) built: 2020-2023 pcie: gen: 2 speed: 5 GT/s
    lanes: 16 link-max: gen: 4 speed: 16 GT/s ports: active: none
    off: DP-1,DP-3 empty: DP-2,HDMI-A-1 bus-ID: 01:00.0 chip-ID: 10de:2488
    class-ID: 0300
  Device-2: Logitech Webcam C270 driver: snd-usb-audio,uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-8.4:10
    chip-ID: 046d:0825 class-ID: 0102 serial: <filter>
  Display: x11 server: X.org v: 1.21.1.18 compositor: xfwm4 v: 4.20.0 driver:
    X: loaded: nvidia gpu: nvidia,nvidia-nvswitch display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 3840x1080 s-size: <missing: xdpyinfo>
  Monitor-1: DP-1 mapped: DP-0 note: disabled pos: left model: Dell S2319H
    serial: <filter> built: 2020 res: mode: 1920x1080 hz: 60 scale: 100% (1)
    dpi: 96 gamma: 1.2 size: 509x286mm (20.04x11.26") diag: 584mm (23")
    ratio: 16:9 modes: max: 1920x1080 min: 640x480
  Monitor-2: DP-3 mapped: DP-4 note: disabled pos: primary,right
    model: Samsung LS24AG30x serial: <filter> built: 2022 res: mode: 1920x1080
    hz: 144 scale: 100% (1) dpi: 93 gamma: 1.2 size: 527x296mm (20.75x11.65")
    diag: 604mm (23.8") ratio: 16:9 modes: max: 1920x1080 min: 640x480
  API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2
    drv: swrast gbm: drv: nvidia surfaceless: drv: nvidia x11: drv: nvidia
    inactive: wayland,device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 575.64 glx-v: 1.4
    direct-render: yes renderer: NVIDIA GeForce RTX 3070/PCIe/SSE2
    memory: 7.81 GiB
  Info: Tools: api: eglinfo,glxinfo de: xfce4-display-settings
    gpu: nvidia-settings,nvidia-smi x11: xprop,xrandr
Audio:
  Device-1: Intel Alder Lake-S HD Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel alternate: snd_soc_avs,snd_sof_pci_intel_tgl
    bus-ID: 00:1f.3 chip-ID: 8086:7ad0 class-ID: 0403
  Device-2: NVIDIA GA104 High Definition Audio driver: snd_hda_intel
    v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 01:00.1
    chip-ID: 10de:228b class-ID: 0403
  Device-3: Trust GXT 232 Microphone driver: hid-generic,snd-usb-audio,usbhid
    type: USB rev: 1.1 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-3.3:4
    chip-ID: 145f:0254 class-ID: 0300
  Device-4: Logitech Webcam C270 driver: snd-usb-audio,uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-8.4:10
    chip-ID: 046d:0825 class-ID: 0102 serial: <filter>
  API: ALSA v: k6.12.34-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 1.4.5 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: Micro-Star MSI driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: 3000 bus-ID: 04:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp4s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Info: services: NetworkManager,systemd-timesyncd
Bluetooth:
  Device-1: TP-Link Bluetooth USB Adapter driver: btusb v: 0.8 type: USB
    rev: 1.1 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-4:3 chip-ID: 2357:0604
    class-ID: e001 serial: <filter>
  Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends
Drives:
  Local Storage: total: 1.82 TiB used: 664.54 GiB (35.7%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung model: SSD 980 1TB
    size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: 2B4QFXO7 temp: 35.9 C
    scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Western Digital
    model: WD1002FAEX-00Z3A0 size: 931.51 GiB block-size: physical: 512 B
    logical: 512 B speed: 6.0 Gb/s tech: N/A serial: <filter> fw-rev: 1D05
    scheme: MBR
Partition:
  ID-1: / raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
    used: 118.15 GiB (12.7%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 616 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
    used: 118.15 GiB (12.7%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/log raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
    used: 118.15 GiB (12.7%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 35.0 C mobo: N/A gpu: nvidia temp: 36 C
  Fan Speeds (rpm): N/A gpu: nvidia fan: 37%
Info:
  Memory: total: 32 GiB available: 31.2 GiB used: 8.92 GiB (28.6%)
  Processes: 448 Power: uptime: 4h 24m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 12.45 GiB services: upowerd,xfce4-power-manager
    Init: systemd v: 257 default: graphical tool: systemctl
  Packages: 1405 pm: pacman pkgs: 1398 libs: 407 tools: pamac,yay pm: flatpak
    pkgs: 7 Compilers: clang: 20.1.6 gcc: 15.1.1 Shell: Zsh v: 5.9
    running-in: xfce4-terminal inxi: 3.3.38

lsusb

Note that the dongle is not attached to either of the hubs, but is on a USB port of its own.

lsusb                                                            ✔ 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 003: ID 2357:0604 TP-Link TP-Link Bluetooth USB Adapter
Bus 001 Device 004: ID 145f:0254 Trust Trust GXT 232 Microphone
Bus 001 Device 005: ID 0bda:5411 Realtek Semiconductor Corp. RTS5411 Hub
Bus 001 Device 006: ID 1ea7:0066 SHARKOON Technologies GmbH [Mediatrack Edge Mini Keyboard]
Bus 001 Device 007: ID 28bd:0924 XP-Pen M708
Bus 001 Device 008: ID 248a:8367 Maxxter Telink Wireless Receiver
Bus 001 Device 009: ID 04d9:1818 Holtek Semiconductor, Inc. Keyboard [Diatec Filco Majestouch 2]
Bus 001 Device 010: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 05e3:0626 Genesys Logic, Inc. Hub
Bus 002 Device 003: ID 05e3:0749 Genesys Logic, Inc. SD Card Reader and Writer
Bluetooth Service
systemctl status bluetooth.service                                                                                                                                     ✔  13s  
● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: disabled)
     Active: active (running) since Thu 2025-06-26 13:19:00 JST; 4h 26min ago
 Invocation: 608c2303ab674f438d9f1889af0e8fe6
       Docs: man:bluetoothd(8)
   Main PID: 908 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 38066)
     Memory: 3M (peak: 4M)
        CPU: 467ms
     CGroup: /system.slice/bluetooth.service
             └─908 /usr/lib/bluetooth/bluetoothd

 6月 26 16:20:43 magi bluetoothd[908]: profiles/audio/avdtp.c:avdtp_connect_cb() connect to 30:53:C1:0E:D1:30: Host is down (112)
 6月 26 16:21:15 magi bluetoothd[908]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Host is down
 6月 26 16:22:27 magi bluetoothd[908]: profiles/audio/avdtp.c:cancel_request() Discover: Connection timed out (110)
 6月 26 16:22:36 magi bluetoothd[908]: profiles/audio/avctp.c:avctp_connect_cb() HUP or ERR on socket: Connection timed out (110)
 6月 26 16:22:36 magi bluetoothd[908]: profiles/audio/avdtp.c:avdtp_connect_cb() connect to 30:53:C1:0E:D1:30: Connection timed out (110)
 6月 26 16:22:36 magi bluetoothd[908]: src/profile.c:ext_io_disconnected() Unable to get io data for Hands-Free Voice gateway: getpeername: Transport endpoint is not connected (107)
 6月 26 16:22:36 magi bluetoothd[908]: src/device.c:search_cb() 30:53:C1:0E:D1:30: error updating services: Connection timed out (110)
 6月 26 16:23:12 magi bluetoothd[908]: src/profile.c:ext_connect() Hands-Free Voice gateway failed connect to 30:53:C1:0E:D1:30: Connection timed out (110)
 6月 26 16:23:13 magi bluetoothd[908]: profiles/audio/avdtp.c:avdtp_connect_cb() connect to 30:53:C1:0E:D1:30: Function not implemented (38)
 6月 26 16:23:58 magi bluetoothd[908]: /org/bluez/hci0/dev_30_53_C1_0E_D1_30/sep2/fd3: fd(31) ready
 lsmod | grep bluetooth                                                                                                                                                         ✔ 
bluetooth            1101824  42 btrtl,btmtk,btintel,btbcm,bnep,btusb,rfcomm
rfkill                 40960  4 bluetooth
crc16                  12288  1 bluetooth

All details taken while bluetooth is active, connected, and transmitting audio.

I’ve already tried:

  • Moving the dongle around into different ports.
  • Changing the codec.
  • Turn off my phone’s Bluetooth to potentially mitigate interference.

Not much in the way my room or my house is set up has changed since I was using Windows. I can’t imagine “interference” becoming this large of an issue.

I have not tried installing additional packages or messing with config files as I am relatively new to Linux and don’t want to make things worse than they are (at least it works when im sitting right in front of my computer right now!)

So the kernel didn’t support the device

This points towards newer kernel may have some some support

It is impossible to say.

bluetooth is just that - there is really not much more to it.

A specific device may be well supported by Microsoft Windows but it may not work at all on LInux.

A quick search shows the device in question needs special attention to get it working with the Linux kernel. I suggest you check the results… if you can find something useful

https://sx.nix.dk/search?q=linux+support+for+tplink+ub500

This device has 6 hardware versions, without knowing exactly which one, support is also a blindshot. You need to get to know what chipset is used, though it could very well be V3 due to it being damn new that only similarly new kernels have rudimentary support. Which in this case, waiting is the only thing you can do. Keep using the latest kernel and someday it will be well supported. That’s the best thing that can happen to a device whose manufacturer doesn’t support Linux officially.

USB Hardware devices can be identified by 4-digit Vendor ID and 4-digit Product ID

Bus 001 Device 003: ID 2357:0604 TP-Link TP-Link Bluetooth USB Adapter

Linux-Kernel Archive: [PATCH 1/2] Bluetooth: btusb: RTL8761BUV consistent naming
Based on photos available from the FCC, all currently supported RTL8761B
series USB dongles have the same chip: RTL8761BUV.

rtl8761bu is often used to refer to this chip.
rtl8761b sometimes refers to this chip, and other times to its
UART variant (RTL8761BTV).

Dongle USB VID USB PID FCC ID
TP-Link UB500 0x2357 0x0604 2AXJ4UB500
- /* Additional Realtek 8761B Bluetooth devices */
+ /* Additional Realtek 8761BUV Bluetooth devices */
{ USB_DEVICE(0x2357, 0x0604), .driver_info = BTUSB_REALTEK |
BTUSB_WIDEBAND_SPEECH },

[SOLVED]USB Bluetooth 5.0 tp-link UB500 / Kernel & Hardware / Arch Linux Forums

Solved with kernel 5.15.4-arch1-1

But the chipID says: TP-Link TP-Link UB5A Adapter :thinking:

However. The only thing you could do here is swap the firmware file for another, perhaps older one. This is because the strength of the signal is controlled by the firmware.

TP-Link screenshots show 2 devices with the same FCC ID

UB5A | Bluetooth 5.3 Nano USB Adapter | TP-Link United Kingdom
FCC ID - 2AJX4UB500

UB500 | Bluetooth 5.3 Nano USB Adapter | TP-Link United Kingdom
FCC ID - 2AJX4UB500

and HWprobes show devices with pid:vid [2357:0004] can have different product names in different diagnostic commands

HW probe of Gigabyte B450 AORUS ELITE Desktop Computer #1a960af612

BUS ID / Class Vendor Device Type Driver Status
USB 2357:0604 / e0-01-01 TP-Link TP-Link UB5A Adapter bluetooth btusb works

HW probe of Gigabyte B450 AORUS ELITE Desktop Computer #1a960af612: inxi

Bluetooth:
  Device-1: TP-Link UB500 Adapter driver: btusb v: 0.8 type: USB rev: 1.1
    speed: 12 Mb/s lanes: 1 bus-ID: 1-10:5 chip-ID: 2357:0604 class-ID: e001

Thanks for all the responses everyone. I love Manjaro because forums usually gets answers pretty quick and well. Sorry for late response.

I stated the model number from the Amazon page that I bought it from (the vendor of which was the official TP-Link page, so I had no reason to doubt it). I had bought it before I had thought of switching to Linux, so it has been more than a year atp.

This seems to be the only actionable suggestion here, and I will look up how to do this and try giving it a go.

Otherwise all I can think of is to buy a dongle that is explicitly compatible with Linux. This one wasnt too terribly expensive so it would not be a bad option.

Again thanks everyone!