Skip to content

AirPods Pro 2 sporadically suspends on Ubuntu 24.04 #323

@lailoken

Description

@lailoken

This has happened only since running Librepods, it would play for around 1 minute or so, then audio would just stop.

It's still connected on Bluetooth, and if I disconnect and reconnect it works again (once for a few minutes and another time for hours).

I will be doing more tests, but since this is sporadic, I'll post this here so long. Today it did it again, and I tried to get all the diagnostics I could:

$ journalctl --user -u pipewire --since "5 minutes ago" | tail -50

# Check Bluetooth daemon logs
-- No entries --

$ sudo journalctl -u bluetooth --since "5 minutes ago" | tail -50
Nov 25 08:06:44roots-linux bluetoothd[2041]: /org/bluez/hci0/dev_D0_3E_07_D8_C6_DF/fd8: fd(45) ready

$ pactl list sinks | grep -A 30 "Name:.*bluez"
        Name: bluez_output.D0_3E_07_D8_C6_DF.1
        Description: Roots AirPods Pro
        Driver: PipeWire
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 4294967295
        Mute: no
        Volume: front-left: 52429 /  80% / -5.81 dB,   front-right: 52429 /  80% / -5.81 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: bluez_output.D0_3E_07_D8_C6_DF.1.monitor
        Latency: 0 usec, configured 0 usec
        Flags: HARDWARE HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
        Properties:
                api.bluez5.address = "D0:3E:07:D8:C6:DF"
                api.bluez5.codec = "sbc_xq"
                api.bluez5.profile = "a2dp-sink"
                api.bluez5.transport = ""
                card.profile.device = "1"
                device.id = "109"
                device.routes = "1"
                factory.name = "api.bluez5.a2dp.sink"
                device.description = "Roots AirPods Pro"
                node.name = "bluez_output.D0_3E_07_D8_C6_DF.1"
                node.pause-on-idle = "false"
                priority.driver = "1010"
                priority.session = "1010"
                factory.id = "8"
                clock.quantum-limit = "8192"
                device.api = "bluez5"
                media.class = "Audio/Sink"

$ pactl list sinks short
70      alsa_output.pci-0000_00_1f.3.analog-stereo      PipeWire        s32le 2ch 48000Hz       SUSPENDED
1421    bluez_output.D0_3E_07_D8_C6_DF.1        PipeWire        s16le 2ch 44100Hz       SUSPENDED

It's that last one stating SUSPENDED which might be a clue... not sure what caused it.

Some more logs:

$ pactl list sinks | grep -A 5 -B 5 "Suspended\|State\|pause-on-idle"
Sink #70
        State: SUSPENDED
        Name: alsa_output.pci-0000_00_1f.3.analog-stereo
        Description: Built-in Audio Analog Stereo
        Driver: PipeWire
        Sample Specification: s32le 2ch 48000Hz
        Channel Map: front-left,front-right
--
                factory.name = "api.alsa.pcm.sink"
                media.class = "Audio/Sink"
                device.description = "Built-in Audio"
                node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo"
                node.nick = "ALC289 Analog"
                node.pause-on-idle = "false"
                object.path = "alsa:pcm:0:front:0:playback"
                priority.driver = "1009"
                priority.session = "1009"
                factory.id = "18"
                clock.quantum-limit = "8192"
--
        Active Port: analog-output-headphones
        Formats:
                pcm

Sink #1421
        State: SUSPENDED
        Name: bluez_output.D0_3E_07_D8_C6_DF.1
        Description: Roots AirPods Pro
        Driver: PipeWire
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
--
                device.id = "109"
                device.routes = "1"
                factory.name = "api.bluez5.a2dp.sink"
                device.description = "Roots AirPods Pro"
                node.name = "bluez_output.D0_3E_07_D8_C6_DF.1"
                node.pause-on-idle = "false"
                priority.driver = "1010"
                priority.session = "1010"
                factory.id = "8"
                clock.quantum-limit = "8192"
                device.api = "bluez5"

Seemed like not only the Bluetooth channel being suspended...

I did a:

pactl list clients | grep -A 10 -B 2 "application\|Sink Input"

And did see WirePlumber, Pipewire and LibrePods (among others)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions