Repeated connect / disconnect cycles eventually break audio playback
Bluetooth Radio, Bluetooth Headset, Desktop Environment, Distribution, Version (Bluez, Kernel, and PipeWire):
- Broadcom BCM2045 (USB)
- BSH-1701 (Monoprice branded)
- Gnome 40-beta
- Fedora 34 compose 20210302.n.1, fully updated as of 2021-03-03
- Bluez 5.56
- Kernel 5.11.2
- PipeWire 0.3.22
Description of Problem: Repeatedly connecting and disconnecting Bluetooth headset through gnome-control-center eventually breaks playback through non-Bluetooth sink.
How Reproducible: Every time, though number of connect / disconnect cycles varies.
Steps to Reproduce:
- Pair Bluetooth headset, ensure it shows as "Connected" in gnome-control-center
- Disconnect Bluetooth headset, ensure it shows as "Disconnected" in gnome-control-center
- Start playback of a sound file long enough to cycle multiple times (I used pw-cat -p and a ~3 minute wav)
- Connect Bluetooth headset through gnome-control-center, wait for playback to transfer to headset
- Disconnect headset through gnome-control-center, wait for playback to transfer to onboard audio
- Repeat steps 4, 5, eventually playback will no longer resume on onboard audio, Bluetooth will continue to work for awhile but eventually seems to break as well (can no longer connect headset), often pw-cat will hang
Actual Results: Playback will eventually no longer transfer to the onboard audio, Bluetooth playback eventually breaks, pw-cat hangs. Playing test sounds in gnome-control-center will hang, though other system sounds continue to work.
Expected Results: Playback to switch back and forth between devices indefinitely, pw-cat to exit cleanly when it reaches the end of the audio file.
Additional Info Eg. Additional Kernel Patches, pw-dump > file (As Attachment Please): Possible duplicate of #807, I have not had a chance to test a master build. I have seen this fail in as little as 1 connect / disconnect cycle.
I have attached pw-dump_20210303, which is output of pw-dump from a "completely broken" state, meaning pw-cat has hung, gnome-control-center cannot play test sounds through the onboard audio, and connecting the headset no longer works.
I can reproduce similar behavior on a Fedora 33 system with a different USB Bluetooth adapter.