Bug 2394042 - No sound after disconnecting Sony SRS-X11 bluetooth speaker
Summary: No sound after disconnecting Sony SRS-X11 bluetooth speaker
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: wireplumber
Version: 42
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Wim Taymans
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-09-09 11:24 UTC by Yi Hao
Modified: 2025-10-08 15:27 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)
wireplumber.service output after bluetooth connect (1.15 KB, text/plain)
2025-09-09 11:32 UTC, Yi Hao
no flags Details
wireplumber.service after bluetooth disconnected (1.86 KB, text/plain)
2025-09-09 11:33 UTC, Yi Hao
no flags Details
wireplumber.service when reconnected to bluetooth after disconnect. (2.49 KB, text/plain)
2025-09-09 11:35 UTC, Yi Hao
no flags Details
lsusb -vt output for bluetooth ID (1.84 KB, text/plain)
2025-09-09 11:37 UTC, Yi Hao
no flags Details
coredump for PID 1218 bluetoothd (118.66 KB, application/octet-stream)
2025-09-09 11:46 UTC, Yi Hao
no flags Details
coredump for PID 9285 bluetoothd (118.12 KB, application/octet-stream)
2025-09-09 11:50 UTC, Yi Hao
no flags Details

Description Yi Hao 2025-09-09 11:24:15 UTC
While on wireplumber-0.5.10-1.fc42, this problem do not exist.
After upgrading to wireplumber-0.5.11-1.fc42, problem starts to appear.

Callstack in disconnected.txt:
stack traceback:
  [string "device-info-cache.lua"]:36: in function 'device-info-cache.get_device_info'
  [string "state-routes.lua"]:185: in function <[string "state-routes.lua"]:179>
  [C]: in ?
  [C]: in method 'advance'
  [string "state-routes.lua"]:172: in function <[string "state-routes.lua"]:167>

When the laptop boots, there is playback and microphone seems to be working.

After connecting to the bluetooth speaker, there's still playback. However, the microphone from the bluetooth speaker no longer works although it shows up in GNOME Sound setting.
Manually changing the microphone to the laptop's microphone didn't work either.

Upon disconnecting the bluetooth speaker, there is no playback and no microphone, even when GNOME Sound setting properly show the laptop internal speaker and microphone.

Reconnecting the bluetooth speaker shows the volume slider at 100%, without the ability to playback and microphone.

Workaround:
systemctl --user restart wireplumber.service

Note that restarting wireplumber service while bluetooth is connected will playback garbled sound. GNOME Sound will only shows a center speaker in this case.

Reproducible: Always

Steps to Reproduce:
1. Connect bluetooth speaker
2. Disconnect bluetooth speaker
Actual Results:
No playback. No microphone.
Software like Firefox will hang when it tries to playback.

Expected Results:
Playback and microphone works.

Laptop:
Thinkpad T14 Gen 3 AMD with Qualcomm 
DMI: LENOVO 21CFCT01WW/21CFCT01WW, BIOS R23ET84W (1.60 ) 06/09/2025
Bluetooth: hci0: using rampatch file: qca/rampatch_usb_00130201.bin
Bluetooth: hci0: QCA: patch rome 0x130201 build 0x81b9, firmware rome 0x130201 build 0x38e6
Bluetooth: hci0: using NVM file: qca/nvm_usb_00130201_gf.bin
Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is advertised, but not supported.

Comment 1 Yi Hao 2025-09-09 11:32:47 UTC
Created attachment 2106108 [details]
wireplumber.service output after bluetooth connect

Comment 2 Yi Hao 2025-09-09 11:33:31 UTC
Created attachment 2106109 [details]
wireplumber.service after bluetooth disconnected

Comment 3 Yi Hao 2025-09-09 11:35:19 UTC
Created attachment 2106111 [details]
wireplumber.service when reconnected to bluetooth after disconnect.

Volume slider is pegged at 100% in this case.

Note that I did try SBC-XQ during reconnect, and get "Invalid method call" during org.bluez.GattManager1.RegisterApplication()
Manually reconnecting it the second time will get connected. But still no playback and microphone.

Comment 4 Yi Hao 2025-09-09 11:37:11 UTC
Created attachment 2106112 [details]
lsusb -vt output for bluetooth ID

Comment 5 Yi Hao 2025-09-09 11:46:46 UTC
Created attachment 2106113 [details]
coredump for PID 1218 bluetoothd

           PID: 1218 (bluetoothd)
           UID: 0 (root)
           GID: 0 (root)
        Signal: 11 (SEGV)
     Timestamp: Tue 2025-09-09 19:16:15 +08 (26min ago)
  Command Line: /usr/libexec/bluetooth/bluetoothd
    Executable: /usr/libexec/bluetooth/bluetoothd
 Control Group: /system.slice/bluetooth.service
          Unit: bluetooth.service
         Slice: system.slice
       Boot ID: 13244fe8ecad4874b911c62119b8b2a9
    Machine ID: ce9d8072ff3b4cd0996761005993337a
      Hostname: ycxe33
       Storage: /var/lib/systemd/coredump/core.bluetoothd.0.13244fe8ecad4874b911c62119b8b2a9.1218.1757416575000000.zst (present)
  Size on Disk: 118.6K
       Message: Process 1218 (bluetoothd) of user 0 dumped core.
                
                Module libcap.so.2 from rpm libcap-2.73-2.fc42.x86_64
                Module libsystemd.so.0 from rpm systemd-257.9-2.fc42.x86_64
                Module libpcre2-8.so.0 from rpm pcre2-10.45-1.fc42.x86_64
                Module libudev.so.1 from rpm systemd-257.9-2.fc42.x86_64
                Module libdbus-1.so.3 from rpm dbus-1.16.0-3.fc42.x86_64
                Module libglib-2.0.so.0 from rpm glib2-2.84.4-1.fc42.x86_64
                Stack trace of thread 1218:
                #0  0x000056026b19ccf2 n/a (/16/640e0f14d009378190a3c0a59c9843ad5b06f5fda0622ffc2468d66ea08d21.file + 0x30cf2)
                #1  0x000056026b188ffc n/a (/16/640e0f14d009378190a3c0a59c9843ad5b06f5fda0622ffc2468d66ea08d21.file + 0x1cffc)
                #2  0x000056026b25c7f1 n/a (/16/640e0f14d009378190a3c0a59c9843ad5b06f5fda0622ffc2468d66ea08d21.file + 0xf07f1)
                #3  0x00007f5abc6a984b g_timeout_dispatch (libglib-2.0.so.0 + 0x4684b)
                #4  0x00007f5abc6a3863 g_main_context_dispatch_unlocked.lto_priv.0 (libglib-2.0.so.0 + 0x40863)
                #5  0x00007f5abc6ac7a8 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0x497a8)
                #6  0x00007f5abc6aca4f g_main_loop_run (libglib-2.0.so.0 + 0x49a4f)
                #7  0x000056026b1715b0 n/a (/16/640e0f14d009378190a3c0a59c9843ad5b06f5fda0622ffc2468d66ea08d21.file + 0x55b0)
                #8  0x00007f5abc3d8575 __libc_start_call_main (libc.so.6 + 0x3575)
                #9  0x00007f5abc3d8628 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x3628)
                #10 0x000056026b1727f5 n/a (/16/640e0f14d009378190a3c0a59c9843ad5b06f5fda0622ffc2468d66ea08d21.file + 0x67f5)
                ELF object binary architecture: AMD x86-64

Comment 6 Yi Hao 2025-09-09 11:50:18 UTC
Created attachment 2106114 [details]
coredump for PID 9285 bluetoothd

           PID: 9285 (bluetoothd)
           UID: 0 (root)
           GID: 0 (root)
        Signal: 11 (SEGV)
     Timestamp: Tue 2025-09-09 19:19:44 +08 (22min ago)
  Command Line: /usr/libexec/bluetooth/bluetoothd
    Executable: /usr/libexec/bluetooth/bluetoothd
 Control Group: /system.slice/bluetooth.service
          Unit: bluetooth.service
         Slice: system.slice
       Boot ID: 13244fe8ecad4874b911c62119b8b2a9
    Machine ID: ce9d8072ff3b4cd0996761005993337a
      Hostname: ycxe33
       Storage: /var/lib/systemd/coredump/core.bluetoothd.0.13244fe8ecad4874b911c62119b8b2a9.9285.1757416784000000.zst (present)
  Size on Disk: 118.1K
       Message: Process 9285 (bluetoothd) of user 0 dumped core.
                
                Module libcap.so.2 from rpm libcap-2.73-2.fc42.x86_64
                Module libsystemd.so.0 from rpm systemd-257.9-2.fc42.x86_64
                Module libpcre2-8.so.0 from rpm pcre2-10.45-1.fc42.x86_64
                Module libudev.so.1 from rpm systemd-257.9-2.fc42.x86_64
                Module libdbus-1.so.3 from rpm dbus-1.16.0-3.fc42.x86_64
                Module libglib-2.0.so.0 from rpm glib2-2.84.4-1.fc42.x86_64
                Stack trace of thread 9285:
                #0  0x0000564b8b66b987 n/a (/16/640e0f14d009378190a3c0a59c9843ad5b06f5fda0622ffc2468d66ea08d21.file + 0x1f987)
                #1  0x0000564b8b672f66 n/a (/16/640e0f14d009378190a3c0a59c9843ad5b06f5fda0622ffc2468d66ea08d21.file + 0x26f66)
                #2  0x0000564b8b673156 n/a (/16/640e0f14d009378190a3c0a59c9843ad5b06f5fda0622ffc2468d66ea08d21.file + 0x27156)
                #3  0x00007f06ef056863 g_main_context_dispatch_unlocked.lto_priv.0 (libglib-2.0.so.0 + 0x40863)
                #4  0x00007f06ef05f7a8 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0x497a8)
                #5  0x00007f06ef05fa4f g_main_loop_run (libglib-2.0.so.0 + 0x49a4f)
                #6  0x0000564b8b6515b0 n/a (/16/640e0f14d009378190a3c0a59c9843ad5b06f5fda0622ffc2468d66ea08d21.file + 0x55b0)
                #7  0x00007f06eed8b575 __libc_start_call_main (libc.so.6 + 0x3575)
                #8  0x00007f06eed8b628 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x3628)
                #9  0x0000564b8b6527f5 n/a (/16/640e0f14d009378190a3c0a59c9843ad5b06f5fda0622ffc2468d66ea08d21.file + 0x67f5)
                ELF object binary architecture: AMD x86-64

Comment 7 pg_tips 2025-09-13 20:08:31 UTC
I get probably related issues, with Bluetooth disabled and USB headphones connected.

The symptoms appeared every time I resumed from suspend. What I saw was:

- YouTube videos hung in Firefox
- The KDE Plasma volume control / audio device selection widget behaved weirdly (for example, trying to change the default output device using the radio button would end up with both radio buttons highlighted, but no working audio)
- Whenever this happened, it was resolved by running: systemctl --user restart wireplumber pipewire pipewire-pulse

I could 100% reliably reproduce this behaviour by sleeping and then waking the PC.

This appeared after installing wireplumber-0.5.11-1.fc42 and disappeared after downgrading to wireplumber-0.5.10-1.fc42.

When the issue happened, the journal entries during the suspend process showed a very similar Lua stack trace to the one that the bug reporter got:

Sep 13 20:29:35 wireplumber[2497]: wplua: [string "device-info-cache.lua"]:36: attempt to call a nil value (field 'critical')
                                   stack traceback:
                                           [string "device-info-cache.lua"]:36: in function 'device-info-cache.get_device_info'
                                           [string "state-routes.lua"]:185: in function <[string "state-routes.lua"]:179>
                                           [C]: in ?
                                           [C]: in method 'advance'
                                           [string "state-routes.lua"]:172: in function <[string "state-routes.lua"]:167>

Comment 8 pg_tips 2025-10-08 15:27:00 UTC
The cause seems likely to be this upstream bug: https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/854

A fix is planned for 0.5.12.


Note You need to log in before you can comment on or make changes to this bug.