Disconnection after a removal event on Redmi Buds 3 Pro
- PipeWire version (
pipewire --version
): 0.3.79 - Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
): Fedora Linux 38.20230912.0 (Bazzite) - Desktop Environment: KDE Plasma
- Kernel version (
uname -r
): 6.4.14-200.fc38.x86_64 - BlueZ version (
bluetoothctl --version
): 5.69 -
lsusb
:
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 13d3:3553 IMC Networks Bluetooth Radio
Bus 003 Device 002: ID 28de:1205 Valve Software Steam Deck Controller
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 005: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 004: ID 2109:0817 VIA Labs, Inc. USB3.0 Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 28de:2001 Valve Software USB Billboard Device
Bus 001 Device 004: ID 2109:2817 VIA Labs, Inc. USB2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- Bluetooth devices:
Device F4:73:35:83:99:20 Keyboard K480
Device 6C:D3:EE:31:A3:3F Redmi Buds 3 Pro
Device C4:0A:CF:61:6F:5B MX Master 3 Mac
Description of Problem:
I think I've found a Bluetooth multipoint audio bug, but I'm not sure if the issue is in Bluez or here, so this has an equivalent post on the bluez bugtracker with packet captures here.
I have basically two issues with this audio buds, but I have the feeling that they are interlinked together (the cause of both issues stems from the same root cause).
Issues:
- After a random time interval (usually between one hour and four hours), the buds stop reproducing audio for 10 seconds before disconnecting and then sometimes reconnecting fine (typically one of the two sync first and the other then sync back). Other times they begin a dance of one connects and not the other and then the two swaps roles, until the end state which can be one of this two:
- The two buds resync and resume playback fine
- Both buds disconnect and no audio comes out even forcing a reconnect. This is usually fixed by either cycling the host bluetooth adapter or by putting them inside the case and pulling them out again.
- If I pull one of the two buds out, sometimes the above trigger in the same way. If I only use one of the two this doesn't seems to happen (after 10 events of removal and reinsert nothing happens, this usually is triggered after one of two tries).
- Regardless of the issues above, no events for audio pause and resume are generated on removal.
How Reproducible:
Quite easily reproducible on my Steam Deck (and this do not happens on my Qualcomm Android Device).
Steps to Reproduce:
- Buy a pair of Redmi Buds 3 Pro
- Connect to a computer
- Play music while wearing both
- Try to pull one out of your ear a couple of times
Actual Results:
Audio stop playing and the buds disconnect from the host
Expected Results:
The music pauses correctly and resume on reinsertion.
Additional Info (as attachments):
-
pw-dump > pw-dump.log
:pw-dump.tar.gz - Bluetooth debug log, see here:pipewire-bluez.tar.gz