You are not logged in.
Hi all,
I’m having persistent issues with my Logitech M720 Triathlon mouse when used over Bluetooth with my Arch Linux desktop. The mouse supports switching between three paired devices, the first device is the usb dongle, which is connected to my laptop, and the third device is my arch desktop. I typically alternate between my desktop and laptop. After switching between the two about 10 or so times, the connection to the desktop starts failing or becomes extremely slow to re-establish.
❯ System Setup
Mouse: Logitech M720 Triathlon
Bluetooth Adapter: TP-Link UB500
Bus 001 Device 005: ID 2357:0604 TP-Link TP-Link UB500 Adapter
OS: Arch Linux (fully updated)
Bluetooth Stack: bluez 5.82-1
Kernel: 6.13.8-arch1-1❯ What I’ve Done So Far
Disabled USB autosuspend
Manually verified after reboot:
$ cat /sys/bus/usb/devices/1-3/power/control
on
$ cat /sys/bus/usb/devices/1-3/power/autosuspend
-1I also created a persistent udev rule and a systemd service to ensure autosuspend remains disabled across reboots.
Confirmed USB device path:
$ lsusb
Bus 001 Device 005: ID 2357:0604 TP-Link TP-Link UB500 AdapterObserved error during reconnect attempt in dmesg:
[28713.180800] Bluetooth: hci0: unexpected cc 0x0c2d length: 3 < 4This error appears when the mouse fails to reconnect to the desktop. Resetting the bluetooth.service temporarily fixes the problem.
Followed relevant steps in:
https://wiki.archlinux.org/title/Bluetooth_mouse
Including:
Manual pairing and trust via bluetoothctl
Udev rule to prevent power saving
❯ Problem Summary
Initial pairing and switching works fine between laptop and desktop.
After ~10 switches (via button on mouse), reconnecting to the desktop takes 10+ seconds or fails entirely.
No problems with other Bluetooth devices (keyboard, speaker) using the same adapter.
The issue does not occur when switching from the desktop to the laptop—only on the return path. The connection to the dongle is always fine, its the bluetooth connection that seems to get problems.
❯ Questions
Has anyone seen this behavior specifically with multi-device switching and Bluetooth mice?
Is this a known issue with the TP-Link UB500 or the btusb driver?
Any kernel/btusb debug flags or sysfs entries I should inspect further?
Any insight would be appreciated—this is killing my productivity at this point. Happy to provide further logs or test patches.
Thanks!
Last edited by blind_melon (2025-04-09 11:56:17)
Offline
have you tried with the LTS kernel? I only ask because my bluetooth mouse stopped working after the kernel upgrade to 6.14.1. Switching to the LTS kernel restored functionality.
Offline
have you tried with the LTS kernel? I only ask because my bluetooth mouse stopped working after the kernel upgrade to 6.14.1. Switching to the LTS kernel restored functionality.
Thanks for the response, will give this a try after work!
Offline
Just had it happen again, and noticed some new output from `systemctl status bluetooth.service`:
bluetoothd[20497]: profiles/input/hog-lib.c:report_reference_cb() Read Report Reference descriptor failed: Request attribute has encountered an unlikely error
bluetoothd[20497]: profiles/input/hog-lib.c:report_reference_cb() Read Report Reference descriptor failed: Request attribute has encountered an unlikely error
bluetoothd[20497]: profiles/input/hog-lib.c:report_reference_cb() Read Report Reference descriptor failed: Request attribute has encountered an unlikely error
bluetoothd[20497]: profiles/input/hog-lib.c:proto_mode_read_cb() Protocol Mode characteristic read failed: Request attribute has encountered an unlikely error
bluetoothd[20497]: profiles/input/hog-lib.c:set_report_cb() Error setting Report value: Request attribute has encountered an unlikely error
bluetoothd[20497]: profiles/input/hog-lib.c:ccc_read_cb() Error reading CCC value: Request attribute has encountered an unlikely errorLast edited by blind_melon (2025-04-09 11:56:43)
Offline
Issue is still persisting on LTS kernel
uname -r
6.12.21-1-ltsOffline
Same on me. Same Logitech M720 Triathlon mouse. Same error log. It will show up in every third or forth reboot. I can only temporarily fix it by manually sudo systemctl restart bluetooth.service
Offline
Same problem here with kernel 6.14.5 and a brand new HP 715 mouse (Bluetooth 5.3!)
Initial pairing and connection work fine, but switching between the multipoint devices (2 BT + 1 dongle) using the small button on the mouse breaks the reconnection logic.
Sometimes it works, sometimes it doesn’t.
USB autosuspend is disabled.
bluetoothctl does not show very much when a reconnection through multipoint switching fails:
[CHG] Device CE:77:11:D9:1A:E7 Connected: yes
[CHG] Device CE:77:11:D9:1A:E7 Connected: noBoth entries pop up simultaneously.
I started the bluetooth.service with its --debug flag and found out that the reconnection actually does work for a millisec but cancels immediately because it cannot 'bond':
Mai 05 20:43:22 home bluetoothd[111092]: src/shared/mgmt.c:can_read_data() [0x0000] event 0x000b
Mai 05 20:43:22 home bluetoothd[111092]: src/adapter.c:connected_callback() hci0 device CE:77:11:D9:1A:E7 connected eir_len 3
Mai 05 20:43:22 home bluetoothd[111092]: [signal] org.freedesktop.DBus.Properties.PropertiesChanged
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_call] > org.freedesktop.DBus.Properties.Get [#2201]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_return] < [#2201]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_call] > org.freedesktop.DBus.Properties.Get [#2202]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:error] < org.freedesktop.DBus.Error.InvalidArgs [#2202]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_call] > org.freedesktop.DBus.Properties.Get [#2203]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_return] < [#2203]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_call] > org.freedesktop.DBus.Properties.Get [#2204]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_return] < [#2204]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_call] > org.freedesktop.DBus.Properties.Get [#2205]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_return] < [#2205]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_call] > org.freedesktop.DBus.Properties.Get [#2206]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_return] < [#2206]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_call] > org.freedesktop.DBus.Properties.Get [#2207]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_return] < [#2207]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_call] > org.freedesktop.DBus.Properties.Get [#2208]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_return] < [#2208]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_call] > org.freedesktop.DBus.Properties.Get [#2209]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_return] < [#2209]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_call] > org.freedesktop.DBus.Properties.Get [#2210]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_return] < [#2210]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_call] > org.freedesktop.DBus.Properties.Get [#2211]
Mai 05 20:43:22 home bluetoothd[111092]: [:1.49:method_return] < [#2211]
Mai 05 20:43:22 home bluetoothd[111092]: src/shared/mgmt.c:can_read_data() [0x0000] event 0x000c
Mai 05 20:43:22 home bluetoothd[111092]: src/adapter.c:dev_disconnected() Device CE:77:11:D9:1A:E7 disconnected, reason 0
Mai 05 20:43:22 home bluetoothd[111092]: src/adapter.c:adapter_remove_connection()
Mai 05 20:43:22 home bluetoothd[111092]: plugins/policy.c:disconnect_cb() reason 0
Mai 05 20:43:22 home bluetoothd[111092]: src/adapter.c:bonding_attempt_complete() hci0 bdaddr CE:77:11:D9:1A:E7 type 2 status 0xe
Mai 05 20:43:22 home bluetoothd[111092]: src/device.c:device_bonding_complete() bonding (nil) status 0x0e
Mai 05 20:43:22 home bluetoothd[111092]: src/device.c:device_bonding_failed() status 14
Mai 05 20:43:22 home bluetoothd[111092]: src/adapter.c:resume_discovery()
Mai 05 20:43:22 home bluetoothd[111092]: [signal] org.freedesktop.DBus.Properties.PropertiesChangedGPT says that the mouse seems to not complete the GATT handshake (whatever that means) and recommended to disable the GATT cache in /etc/bluetooth/main.conf and/or start the bluetooth.service with --compat.
But none of that helped.
Additionally I found out:
The reconnection only fails on the 1st multipoint slot at the mouse. But when pairing is made on the 2nd slot the reconnection always works perfect
Reconnection on 1st multipoint slot when turning the mouse off and on actually does work every time. The problem is just the reconnection when pressing the multipoint button
With the latest experimental kernel 6.15 rc5-1 the os crashs immediately as soon as I press the multipoint button on the mouse
Offline