Bug 1943924

Summary: no sound on bluetooth headphones after turning off and on
Product: [Fedora] Fedora Reporter: Zbigniew JÄ™drzejewski-Szmek <zbyszek>
Component: pipewireAssignee: Wim Taymans <wtaymans>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 34CC: awilliam, bcotton, brunovern.a, hiredman, joepesco2020, vquintans, wtaymans
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: pipewire-0.3.26-4.fc34 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-05-02 02:03:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Zbigniew Jędrzejewski-Szmek 2021-03-28 13:12:36 UTC
Description of problem:

I have Sony WH-1000XM3 headphones. Connecting over bloothtooth works fine. But after I turn them off and on and reconnect, there is no sound. In pavucontrol, in the "Playback" tab, "Firefox: AudioStream on WH-1000XM3" shows a moving bar, so the sound seems to be produced. But in the "Output Devices", there is no moving bar next to WH-1000XM3, it seems that the stream does not reach the output device. When I move the stream to another output device, sound works. Changing the Profile in "Configuration" tab has no effect. If I restart everything: bluetooth.service, pipewire.service, and firefox, sound works again.

Version-Release number of selected component (if applicable):
bluez-5.56-4.fc34.x86_64
pipewire-0.3.24-1.fc34.x86_64

How reproducible:
Seems fairly consistent.

Comment 1 Ben Cotton 2021-04-27 12:27:35 UTC
Same behavior here with MPow H10 headset on a Lenovo ThinkPad X1 Carbon (6th gen). Restarting the bluetooth service was sufficient to get audio from Chrome. The Spotify flatkpak played audio with no issues. Both Chrome and Spotify were left open from last night.

Packages:
pipewire-0.3.26-1.fc34.x86_64
bluez-5.58-1.fc34.x86_64

Information from `pactl`:
Sink #174
        State: RUNNING
        Name: bluez_output.88_88_88_88_AB_D9.a2dp-sink
        Description: Mpow H10 
        Driver: PipeWire
        Sample Specification: s16le 2ch 48000Hz
        Channel Map: front-left,front-right
        Owner Module: 4294967295
        Mute: no
        Volume: front-left: 50463 /  77% / -6.81 dB,   front-right: 50463 /  77% / -6.81 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: bluez_output.88_88_88_88_AB_D9.a2dp-sink.monitor
        Latency: 0 usec, configured 0 usec
        Flags: HARDWARE DECIBEL_VOLUME LATENCY 
        Properties:
                api.bluez5.transport = ""
                api.bluez5.profile = "a2dp-sink"
                api.bluez5.codec = "sbc"
                api.bluez5.address = "88:88:88:88:AB:D9"
                device.routes = "1"
                card.profile.device = "1"
                device.form_factor = "headset"
                device.bus = "bluetooth"
                device.id = "173"
                device.description = "Mpow H10 "
                node.name = "bluez_output.88_88_88_88_AB_D9.a2dp-sink"
                factory.name = "api.bluez5.a2dp.sink"
                priority.driver = "1010"
                priority.session = "1010"
                device.icon_name = "audio-headset-bluetooth"
                node.pause-on-idle = "false"
                factory.id = "8"
                device.api = "bluez5"
                media.class = "Audio/Sink"
                node.driver = "true"
                node.latency = "512/48000"
                factory.mode = "merge"
                audio.adapt.follower = ""
                library.name = "audioconvert/libspa-audioconvert"
                object.id = "174"
                client.id = "29"
        Ports:
                headset-output: Headset (type: Headset, priority: 0, available)
        Active Port: headset-output
        Formats:
                pcm


Note that the only difference between before and after restarting the bluetooth service was the Flags. Before (semi-broken) was "HARDWARE HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY". After (working) was "HARDWARE DECIBEL_VOLUME LATENCY".

Tagging this for CommonBugs because it seems like it will be a common bug. :-)

Comment 2 Ben Cotton 2021-04-27 15:36:38 UTC
I just lost audio again (although I don't think my headphones disconnected). It was working in a Zoom call that ended around 10:30 and by the start of a Google Meet session at 11, I had no sound. I didn't check other apps this time.

Restarting bluetooth was insufficient. I restarted pipewire (which caused KDE Plasma to crash) and it worked after that.

There are no pipewire related logs in the journal during my time inbetween meetings, but about the time my 11:00 meeting started I see this:

Apr 27 11:01:09 fpgm pipewire[3704]: 'CHECK_PORT(this, direction, port_id)' failed at ../spa/plugins/audiomixer/mixer-dsp.c:625 impl_node_port_set_io()
Apr 27 11:01:09 fpgm pipewire[3704]: 'CHECK_PORT(this, direction, port_id)' failed at ../spa/plugins/audiomixer/mixer-dsp.c:625 impl_node_port_set_io()
Apr 27 11:01:09 fpgm pipewire-media-session[3704]: port 0x562486793210: set_io: Invalid argument
Apr 27 11:01:09 fpgm pipewire-media-session[3704]: port 0x562486793298: set_io: Invalid argument
Apr 27 11:01:09 fpgm pipewire[3696]: impl-core 0x562332e13b20: error -22 for resource 14: port_set_io failed: Invalid argument
Apr 27 11:01:09 fpgm pipewire[3696]: client-node 0x562333b190e0: error seq:17490 -22 (port_set_io failed: Invalid argument)
Apr 27 11:01:09 fpgm pipewire[3696]: impl-core 0x562332e13b20: error -22 for resource 14: port_set_io failed: Invalid argument
Apr 27 11:01:09 fpgm pipewire[3696]: client-node 0x562333b190e0: error seq:17491 -22 (port_set_io failed: Invalid argument)

It repeats a few dozen times in immediate succession.

Comment 3 Kevin Downey 2021-04-28 22:59:18 UTC
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/759 is the upstream bug for this. It appears to be just fixed on pipewire master, the commit is https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/a76032a6373982e708fdbd38e0c9daec3f898ef9.

Comment 4 Fedora Update System 2021-04-29 07:57:13 UTC
FEDORA-2021-03756cf274 has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-03756cf274

Comment 5 Fedora Update System 2021-04-29 17:10:56 UTC
FEDORA-2021-03756cf274 has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-03756cf274`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-03756cf274

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2021-05-02 02:03:11 UTC
FEDORA-2021-03756cf274 has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 7 Adam Williamson 2021-09-24 21:29:39 UTC
Since an update went stable and no-one complained, dropping CommonBugs.