Sony WH1000XM3 (bluetooth) will not register as an audio device, so no sound is played

Problem

For the past few days, I have been trying to connect my bluetooth Sony WH1000XM3 headphones to my PC with no success. My headphones are able to connect to bluetooth successfully, and is displayed as an audio device in the KDE bluetooth manager, but does not show up as an audio device in any of the audio configuration tools I have used (Manjaro’s built in audio controls, pavucontrol, easyeffects). My headphones work perfectly fine with other devices, so I think the problem is with drivers or software, not my headphones. I have also connected bluetooth earbuds successfully with decent audio and connected my headphones via 3.5mm audio cable with success (with crackly/poor audio quality, but that’s a different issue). This problem appears to only affect my WH1000XM3 via bluetooth connection.

Attempted solutions

  • updating system
  • restarting computer
  • restarting pipewire
  • reinstalling manjaro-pipewire

None of which have made a difference

Logs

inxi -SMAa
System:
  Host: 0yster Kernel: 6.12.4-1-MANJARO arch: x86_64 bits: 64 compiler: gcc
    v: 14.2.1 clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.12-x86_64
    root=UUID=0f60c715-f056-4f3b-83a1-a8d503a9e3e4 rw quiet splash
    udev.log_priority=3
  Desktop: KDE Plasma v: 6.2.4 tk: Qt v: N/A info: frameworks v: 6.8.0
    wm: kwin_x11 vt: 2 dm: SDDM Distro: Manjaro base: Arch Linux
Machine:
  Type: Desktop Mobo: Micro-Star model: PRO Z790-A MAX WIFI (MS-7E07) v: 4.0
    serial: <superuser required> uuid: <superuser required> UEFI: American
    Megatrends LLC. v: M.70 date: 09/30/2024
Audio:
  Device-1: Intel Raptor Lake High Definition Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel alternate: snd_soc_avs,snd_sof_pci_intel_tgl
    bus-ID: 00:1f.3 chip-ID: 8086:7a50 class-ID: 0403
  Device-2: NVIDIA AD104 High Definition Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 01:00.1 chip-ID: 10de:22bc class-ID: 0403
  Device-3: Micro Star USB Audio driver: hid-generic,snd-usb-audio,usbhid
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-5:4
    chip-ID: 0db0:d1d7 class-ID: 0300
  API: ALSA v: k6.12.4-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: PipeWire v: 1.2.7 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
journalctl | grep blue
Dec 27 16:25:17 0yster bluetoothd[690]: Bluetooth management interface 1.23 initialized
Dec 27 16:25:17 0yster bluetoothd[690]: Battery Provider Manager created
Dec 27 16:25:17 0yster bluetoothd[690]: src/device.c:device_set_wake_support() Unable to set wake_support without RPA resolution
Dec 27 16:25:17 0yster NetworkManager[688]: <info>  [1735345517.6328] Loaded device plugin: NMBluezManager (/usr/lib/NetworkManager/1.50.0-1/libnm-device-plugin-bluetooth.so)
Dec 27 16:25:30 0yster kded6[930]: kf.bluezqt: PendingCall Error: "The name is not activatable"
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSource/ldac
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSink/aptx_hd
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSource/aptx_hd
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSink/aptx
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSource/aptx
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSink/aac
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSource/aac
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSink/opus_g
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSource/opus_g
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSink/sbc
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSource/sbc
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSource/aptx_ll_1
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSource/aptx_ll_0
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_1
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_0
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSource/faststream
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSource/faststream_duplex
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSink/opus_05
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSource/opus_05
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSink/opus_05_duplex
Dec 27 16:25:30 0yster bluetoothd[690]: Endpoint registered: sender=:1.47 path=/MediaEndpoint/A2DPSource/opus_05_duplex
Dec 27 16:25:41 0yster wireplumber[958]: spa.bluez5.native: RFCOMM receive command but modem not available: AT+NREC=0
Dec 27 16:32:14 0yster bluetoothd[690]: src/profile.c:ext_io_disconnected() Unable to get io data for Hands-Free Voice gateway: getpeername: Transport endpoint is not connected (107)
Dec 27 16:32:14 0yster kded6[930]: org.kde.pulseaudio: No object for name "bluez_input.34:DF:2A:71:D6:44"
Dec 27 16:32:14 0yster plasmashell[951]: org.kde.pulseaudio: No object for name "bluez_input.34:DF:2A:71:D6:44"
pamac list -i | grep -i -e pipe -e audio -e pulse -e blue
audiocd-kio                        24.08.3-1                    extra     2.5 MB
bluedevil                          1:6.2.4-1                    extra     2.2 MB
bluez                              5.79-1                       extra     1.6 MB
bluez-libs                         5.79-1                       extra     319.5 kB
bluez-qt                           6.8.0-1                      extra     2.6 MB
bluez-utils                        5.79-1                       extra     3.5 MB
gst-plugin-pipewire                1:1.2.7-1                    extra     138.6 kB
kpipewire                          6.2.4-1                      extra     478.9 kB
lib32-libpipewire                  1:1.2.7-1                    multilib  691.8 kB
lib32-libpulse                     17.0+r43+g3e2bb8a1e-1        multilib  898.6 kB
lib32-pipewire                     1:1.2.7-1                    multilib  4.1 MB
libpipeline                        1.5.8-1                      core      94.5 kB
libpipewire                        1:1.2.7-1                    extra     1.6 MB
libpulse                           17.0+r43+g3e2bb8a1e-1        extra     1.5 MB
manjaro-pipewire                   20231009-1                   extra     1.6 kB
pipewire                           1:1.2.7-1                    extra     2.9 MB
pipewire-alsa                      1:1.2.7-1                    extra     1.2 kB
pipewire-audio                     1:1.2.7-1                    extra     4.6 MB
pipewire-jack                      1:1.2.7-1                    extra     651.2 kB
pipewire-pulse                     1:1.2.7-1                    extra     504.8 kB
pipewire-session-manager           1:1.2.7-1                    extra     
pipewire-v4l2                      1:1.2.7-1                    extra     87.0 kB
pipewire-x11-bell                  1:1.2.7-1                    extra     20.2 kB
pipewire-zeroconf                  1:1.2.7-1                    extra     360.1 kB
portaudio                          1:19.7.0-3                   extra     345.0 kB
pulseaudio-qt                      1.6.1-1                      extra     803.8 kB
webrtc-audio-processing-1          1.3-3                        extra     1.5 MB

From your System Settings > Bluetooth, what is your settings for your XM3?

Also, from System Settings > Sound, what do you have?

FYI, I use a WH-1000XM3 and WF-1000XM5 on my Manjaro device.
And I did a comparison of my output:

pamac list -i | grep -i -e pipe -e audio -e pulse -e blue

against yours, and the followings are not present in my output:

lib32-libpipewire
lib32-pipewire
pipewire-jack
pipewire-v4l2
pipewire-x11-bell
pipewire-zeroconf

I’m not sure if the following interferes with your sound.

System Settings > Bluetooth
Since I can’t post a screenshot, here’s the closest verbose description of what I have in bluetooth settings.

bluetoothctl# info CC:98:8B:A7:EB:3F
Device CC:98:8B:A7:EB:3F (public)
        Name: WH-1000XM3
        Alias: WH-1000XM3
        Class: 0x00240404 (2360324)
        Icon: audio-headset
        Paired: yes
        Bonded: yes
        Trusted: yes
        Blocked: no
        Connected: yes
        LegacyPairing: no
        UUID: Vendor specific           (00000000-deca-fade-deca-deafdecacaff)
        UUID: Headset                   (00001108-0000-1000-8000-00805f9b34fb)
        UUID: Audio Sink                (0000110b-0000-1000-8000-00805f9b34fb)
        UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
        UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
        UUID: Handsfree                 (0000111e-0000-1000-8000-00805f9b34fb)
        UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
        UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
        UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
        UUID: Amazon.com Services, Inc. (0000fe03-0000-1000-8000-00805f9b34fb)
        UUID: Vendor specific           (5b833e05-6bc7-4802-8e9a-723ceca4bd8f)
        UUID: Vendor specific           (5b833e06-6bc7-4802-8e9a-723ceca4bd8f)
        UUID: Vendor specific           (69a7f243-e52f-4443-a7f9-cb4d053c74d6)
        UUID: Vendor specific           (7b265b0e-2232-4d45-bef4-bb8ae62f813d)
        UUID: Vendor specific           (81c2e72a-0591-443e-a1ff-05f988593351)
        UUID: Vendor specific           (91c10d9c-aaef-42bd-b6d6-8a648c19213d)
        UUID: Vendor specific           (931c7e8a-540f-4686-b798-e8df0a2ad9f7)
        UUID: Vendor specific           (96cc203e-5068-46ad-b32d-e316f5e069ba)
        UUID: Vendor specific           (b9b213ce-eeab-49e4-8fd9-aa478ed1b26b)
        UUID: Vendor specific           (f8d1fbe4-7966-4334-8024-ff96c9330e15)
        UUID: Vendor specific           (fe59bfa8-7fe3-4a05-9d94-99fadc69faff)
        Modalias: usb:v054Cp0CD3d0411
        ManufacturerData.Key: 0x012d (301)
        ManufacturerData.Value:
  04 00 01 31 00 01 66 4a 88 1f 00 60 d0 00 00 00  ...1..fJ...`....
  00 00 00                                         ...             
        ServiceData.0000fe26-0000-1000-8000-00805f9b34fb:
  0a c9 5c                                         ..\             
        ServiceData.0000fe2c-0000-1000-8000-00805f9b34fb:
  0a c9 5c                                         ..\             
        AdvertisingFlags:
  02

System Settings > Sound
This information is while my headphones are connected.

Playback devices

  • Easy Effects Sink
  • USB Audio S/PDIF Output
  • [selected] AD104 High Definition Audio Controller Digital Stereo (HDMI)

Recording Devices

  • Easy Effects Source

Inactive Cards

  • Built In Audio (options: Off/Pro Audio)
    I tried messing around with this option with no effect.

Playback Streams

  • Notification Sounds

As for the libraries, lib32* is a steam dependency, pipewire-jack is an Audacity dependency, and the rest I removed with no effect. My audio problems existed before I installed Steam and Audacity, so I don’t think these libraries are part of the problem.

Your output for
systemctl --user status pipewire{,-pulse} pulseaudio wireplumber
and
systemctl status bluetooth

systemctl --user status pipewire{,-pulse} pulseaudio wireplumber
Unit pulseaudio.service could not be found.
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; preset: enabled)
     Active: active (running) since Sat 2024-12-28 13:17:35 PST; 5h 39min ago
 Invocation: 1dc82e3eae624952871a363481b12c44
TriggeredBy: ● pipewire.socket
   Main PID: 970 (pipewire)
      Tasks: 3 (limit: 37927)
     Memory: 33.4M (peak: 36.4M)
        CPU: 2min 53.832s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─970 /usr/bin/pipewire

Dec 28 18:54:08 0yster pipewire[970]: pw.node: (alsa_output.usb-Generic_USB_Audio-00.HiFi__SPDIF__sink-114) graph xrun not-triggered (64 suppressed)
Dec 28 18:54:08 0yster pipewire[970]: pw.node: (alsa_output.usb-Generic_USB_Audio-00.HiFi__SPDIF__sink-114) xrun state:0x7913d1bf3008 pending:1/2 s:13836018096848 a:13836049310105 f:13836049362758 waiting:31213257 process:52653 status:triggered
Dec 28 18:54:10 0yster pipewire[970]: pw.node: (alsa_output.usb-Generic_USB_Audio-00.HiFi__SPDIF__sink-114) graph xrun not-triggered (64 suppressed)
Dec 28 18:54:10 0yster pipewire[970]: pw.node: (alsa_output.usb-Generic_USB_Audio-00.HiFi__SPDIF__sink-114) xrun state:0x7913d1bf3008 pending:1/2 s:13838047315044 a:13838078507125 f:13838078607273 waiting:31192081 process:100148 status:triggered
Dec 28 18:54:12 0yster pipewire[970]: pw.node: (alsa_output.usb-Generic_USB_Audio-00.HiFi__SPDIF__sink-114) graph xrun not-triggered (64 suppressed)
Dec 28 18:54:12 0yster pipewire[970]: pw.node: (alsa_output.usb-Generic_USB_Audio-00.HiFi__SPDIF__sink-114) xrun state:0x7913d1bf3008 pending:1/2 s:13840076766409 a:13840107977356 f:13840108078908 waiting:31210947 process:101552 status:triggered
Dec 28 18:54:14 0yster pipewire[970]: pw.node: (alsa_output.usb-Generic_USB_Audio-00.HiFi__SPDIF__sink-114) graph xrun not-triggered (64 suppressed)
Dec 28 18:54:14 0yster pipewire[970]: pw.node: (alsa_output.usb-Generic_USB_Audio-00.HiFi__SPDIF__sink-114) xrun state:0x7913d1bf3008 pending:1/2 s:13842106238193 a:13842137468627 f:13842137567138 waiting:31230434 process:98511 status:triggered
Dec 28 18:54:14 0yster pipewire[970]: pw.node: (alsa_output.pci-0000_01_00.1.hdmi-stereo-61) graph xrun not-triggered (0 suppressed)
Dec 28 18:54:14 0yster pipewire[970]: pw.node: (alsa_output.pci-0000_01_00.1.hdmi-stereo-61) xrun state:0x7913d30eb008 pending:1/1 s:13696004271712 a:13696004275615 f:13696004285582 waiting:3903 process:9967 status:triggered

● pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; disabled; preset: enabled)
     Active: active (running) since Sat 2024-12-28 13:17:35 PST; 5h 39min ago
 Invocation: b398177b05ed475ca4319c56add6e5f6
TriggeredBy: ● pipewire-pulse.socket
   Main PID: 973 (pipewire-pulse)
      Tasks: 3 (limit: 37927)
     Memory: 29.4M (peak: 47M)
        CPU: 7min 6.696s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
             └─973 /usr/bin/pipewire-pulse

Dec 28 13:17:35 0yster systemd[837]: Started PipeWire PulseAudio.

● wireplumber.service - Multimedia Service Session Manager
     Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
     Active: active (running) since Sat 2024-12-28 13:17:35 PST; 5h 39min ago
 Invocation: 0a4cffa6f2fd458c893d8bfb890510f8
   Main PID: 972 (wireplumber)
      Tasks: 6 (limit: 37927)
     Memory: 17.5M (peak: 23.1M)
        CPU: 2.323s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
             └─972 /usr/bin/wireplumber

Dec 28 13:17:35 0yster systemd[837]: Started Multimedia Service Session Manager.
Dec 28 13:17:35 0yster wireplumber[972]: wp-internal-comp-loader: Loading profile 'main'
Dec 28 13:17:36 0yster wireplumber[972]: wp-device: SPA handle 'api.libcamera.enum.manager' could not be loaded; is it installed?
Dec 28 13:17:36 0yster wireplumber[972]: s-monitors-libcamera: PipeWire's libcamera SPA plugin is missing or broken. Some camera types may not be supported.
systemctl status bluetooth
● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: disabled)
     Active: active (running) since Sat 2024-12-28 13:17:24 PST; 5h 38min ago
 Invocation: 7d7356c5e45045779c7576c51a98d854
       Docs: man:bluetoothd(8)
   Main PID: 707 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 37927)
     Memory: 2.5M (peak: 3.4M)
        CPU: 72ms
     CGroup: /system.slice/bluetooth.service
             └─707 /usr/lib/bluetooth/bluetoothd

Dec 28 18:51:39 0yster bluetoothd[707]: Endpoint registered: sender=:1.357 path=/MediaEndpoint/A2DPSource/aptx_ll_1
Dec 28 18:51:39 0yster bluetoothd[707]: Endpoint registered: sender=:1.357 path=/MediaEndpoint/A2DPSource/aptx_ll_0
Dec 28 18:51:39 0yster bluetoothd[707]: Endpoint registered: sender=:1.357 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_1
Dec 28 18:51:39 0yster bluetoothd[707]: Endpoint registered: sender=:1.357 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_0
Dec 28 18:51:39 0yster bluetoothd[707]: Endpoint registered: sender=:1.357 path=/MediaEndpoint/A2DPSource/faststream
Dec 28 18:51:39 0yster bluetoothd[707]: Endpoint registered: sender=:1.357 path=/MediaEndpoint/A2DPSource/faststream_duplex
Dec 28 18:51:39 0yster bluetoothd[707]: Endpoint registered: sender=:1.357 path=/MediaEndpoint/A2DPSink/opus_05
Dec 28 18:51:39 0yster bluetoothd[707]: Endpoint registered: sender=:1.357 path=/MediaEndpoint/A2DPSource/opus_05
Dec 28 18:51:39 0yster bluetoothd[707]: Endpoint registered: sender=:1.357 path=/MediaEndpoint/A2DPSink/opus_05_duplex
Dec 28 18:51:39 0yster bluetoothd[707]: Endpoint registered: sender=:1.357 path=/MediaEndpoint/A2DPSource/opus_05_duplex

The “... xrun not-triggered” messages are interesting, although I have no idea what they mean.

Your XM3 is recognized by your system.

But your Pipewire cannot “see” the presence of XM3.

Can you check your bluetooth config in Pipewire, as per guideline here:
https://wiki.archlinux.org/title/PipeWire#Bluetooth_devices

ArchWiki - PipeWire - Low audio quality on Bluetooth

try mSBC support (fixes mic on Sony 1000XM3, i.e. Headphones WH-1000XM3 and Earbuds WF-1000XM3), and the SBC-XQ codec.

Note: Headphones like the WH-1000XM3 refuse to advertise any codecs other than SBC/SBC-XQ if “Sound Quality Mode” is set to “Priority On Stable Connection” instead of “Prioritize Sound Quality” in the companion app.

With wireplumber:

/etc/wireplumber/wireplumber.conf.d/51-bluez-config.conf (or ~/.config/wireplumber/wireplumber.conf.d/51-bluez-config.conf)
monitor.bluez.properties = {
  bluez5.enable-sbc-xq = true
  bluez5.enable-msbc = true
  bluez5.codecs = [ sbc sbc_xq ]
}

Restart PipeWire by restarting the pipewire.service user unit for the changes to take effect.

Check this out:

I did make sure to unpair with all other devices when troubleshooting. I wouldn’t put it past myself to make silly mistakes, so thanks for the tip.

Just for reference, this is from a working system and I have no issues with Bluetooth audio using Pipewire:

pamac search pipewire | grep -i installed
manjaro-pipewire  20231009-1 [Installed]                                   extra
libpipewire  1:1.2.7-1 [Installed]                                         extra
lib32-pipewire  1:1.2.7-1 [Installed]                                   multilib
lib32-libpipewire  1:1.2.7-1 [Installed]                                multilib
kpipewire  6.2.4-1 [Installed]                                             extra
gst-plugin-pipewire  1:1.2.7-1 [Installed]                                 extra
pipewire-pulse  1:1.2.7-1 [Installed]                                      extra
pipewire-media-session  1:0.4.2-3 [Installed]                              extra
pipewire-audio  1:1.2.7-1 [Installed]                                      extra
pipewire-alsa  1:1.2.7-1 [Installed]                                       extra
pipewire  1:1.2.7-1 [Installed]                                            extra

and

pamac list -i | grep -i -e pipe -e audio -e pulse -e blue
audiofile                                    0.3.6-9                         extra     384.3 kB
bluedevil                                    1:6.2.4-1                       extra     2.2 MB
bluez                                        5.79-1                          extra     1.6 MB
bluez-libs                                   5.79-1                          extra     319.5 kB
bluez-obex                                   5.79-1                          extra     563.0 kB
bluez-qt                                     6.8.0-1                         extra     2.6 MB
bluez-qt5                                    5.116.0-1                       extra     2.3 MB
faudio                                       24.03-1                                   382.8 kB
gst-plugin-pipewire                          1:1.2.7-1                       extra     138.6 kB
kpipewire                                    6.2.4-1                         extra     478.9 kB
lib32-faudio                                 23.12-1                                   294.1 kB
lib32-libpipewire                            1:1.2.7-1                       multilib  691.8 kB
lib32-libpulse                               17.0+r43+g3e2bb8a1e-1           multilib  898.6 kB
lib32-pipewire                               1:1.2.7-1                       multilib  4.1 MB
lib32-portaudio                              1:19.7.0-3                      multilib  248.8 kB
libpipeline                                  1.5.8-1                         core      94.5 kB
libpipewire                                  1:1.2.7-1                       extra     1.6 MB
libpulse                                     17.0+r43+g3e2bb8a1e-1           extra     1.5 MB
manjaro-pipewire                             20231009-1                      extra     1.6 kB
pcaudiolib                                   1.2-3                           extra     25.3 kB
pipewire                                     1:1.2.7-1                       extra     2.9 MB
pipewire-alsa                                1:1.2.7-1                       extra     1.2 kB
pipewire-audio                               1:1.2.7-1                       extra     4.6 MB
pipewire-media-session                       1:0.4.2-3                       extra     420.2 kB
pipewire-pulse                               1:1.2.7-1                       extra     504.8 kB
portaudio                                    1:19.7.0-3                      extra     345.0 kB
pulseaudio-qt                                1.6.1-1                         extra     803.8 kB
webrtc-audio-processing                      0.3.1-5                         extra     850.1 kB
webrtc-audio-processing-1                    1.3-3                           extra     1.5 MB

This is on my Lenovo T440 running Manjaro KDE. Wonder if it’s worth using e.g. meld to compare with yours? I may do that if my :smiley_cat: stops distracting me. :wink:

Archwiki - PipeWire - Session Manager

WirePlumber is the recommended session manager

pipewire-media-session is deprecated and no longer recommended

Latest Manjaro KDE ISO 24.2.1 includes the following packages for PipeWire
https://download.manjaro.org/kde/24.2.1/manjaro-kde-24.2.1-241216-linux612.iso.pkgs

alsa-card-profiles 1:1.2.7-1
gst-plugin-pipewire 1:1.2.7-1
kpipewire 6.2.4-1
libpipewire 1:1.2.7-1
libwireplumber 0.5.7-1
manjaro-pipewire 20231009-1
pipewire 1:1.2.7-1
pipewire-alsa 1:1.2.7-1
pipewire-audio 1:1.2.7-1
pipewire-pulse 1:1.2.7-1
pipewire-session-manager 1:1.2.7-1
wireplumber 0.5.7-1

I am unsure what you mean with meld. I’ll see if installing the same packages as you fixes the problem.

I searched for /etc/wireplumber/, ~/.config/wireplumber/ and /usr/share/wireplumber/* and none of the config files existed. I’m wondering if there’s some sort of setup that I missed. I tried creating the config file in both of the suggested directories, unfortunately without success. Additionally, I tried connecting after setting the “Sound Quality Mode” to both “Priority On Stable Connection” and “Prioritize Sound Quality” on the mobile app with no difference in the result.

EDIT:

I’m not sure what I did, but in the middle of downgrading bluez packages to test it out (check out [SOLVED] Bluetooth connect failed: br-connection-profile-unavailable. (Page 2) / Newbie Corner / Arch Linux Forums), I noticed that my WH-1000XM3 showed up as an audio device with the following possible codecs: Headset Head Unit (HSP/HF, codec mSBC) and Headset Head Unit (HSP/HF, codec mSBC). I think downgrading in combination with @nikgnomic’s answer got these audio profiles to show up (THANKS SO MUCH). However, there isn’t any audio coming from my music sources. Instead it sounds like I’m listening to myself through the headset microphone, which is a very strange feeling. It seems like I’m getting closer to the solution, but I’m not quite there yet.

wireplumber includes configuration files in /usr/share/wireplumber/
ArchWiki - WirePlumber - Configuration file layout

Modifying the configuration

The recommended way to configure WirePlumber is to add a SPA-JSON file to the appropriate wireplumber.conf.d/ directory within /etc/wireplumber/ or ~/.config/wireplumber/


WH-1000XM3 showed up as an audio device with the following possible codecs: Headset Head Unit (HSP/HF, codec mSBC) and Headset Head Unit (HSP/HF, codec mSBC)

Please post more information about audio profiles available in PipeWire

pactl list cards

and also

Obtain interface name for rules matching

Use the command wpctl status to show all objects managed by WirePlumber. Find the ID assigned to the target interface. Then use command wpctl inspect ID to get a needed property.

In the past few days, I still haven’t had any success after pipewire initially recognized the XM3. I did the following config (hopefully adding the extra codecs doesn’t break things). Sometimes the XM3 headphones are recognized as an audio device, and sometimes they just connect to bluetooth without an audio profile being created. At some point I was able to get some sound with the mSBC profile, but it was extremely distorted and the headphones disconnected within 10 seconds.

monitor.bluez.properties = {
  bluez5.enable-sbc-xq = true
  bluez5.enable-msbc = true
  bluez5.codecs = [ ldac aac sbc sbc_xq msbc ]
}
monitor.alsa.rules = [
  {
    matches = [
      {
        node.name = "~alsa_output.*"
      }
    ]
    actions = {
      update-props = {
        api.alsa.period-size   = 1024
        api.alsa.headroom      = 8192
      }
    }
  }
]

Logs

pactl list cards
Card #44
        Name: alsa_card.pci-0000_01_00.1
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "2"
                api.alsa.card.longname = "HDA NVidia at 0x82080000 irq 17"
                api.alsa.card.name = "HDA NVidia"
                api.alsa.path = "hw:2"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio2"
                api.dbus.ReserveDevice1.Priority = "-20"
                device.api = "alsa"
                device.bus = "pci"
                device.bus_path = "pci-0000:01:00.1"
                device.description = "AD104 High Definition Audio Controller"
                device.enum.api = "udev"
                device.icon_name = "audio-card-analog-pci"
                device.name = "alsa_card.pci-0000_01_00.1"
                device.nick = "HDA NVidia"
                device.plugged.usec = "5637935"
                device.product.id = "0x22bc"
                device.product.name = "AD104 High Definition Audio Controller"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card2"
                device.vendor.id = "0x10de"
                device.vendor.name = "NVIDIA Corporation"
                media.class = "Audio/Device"
                factory.id = "15"
                client.id = "40"
                object.id = "44"
                object.serial = "44"
                object.path = "alsa:acp:NVidia"
                alsa.card = "2"
                alsa.card_name = "HDA NVidia"
                alsa.long_card_name = "HDA NVidia at 0x82080000 irq 17"
                alsa.driver_name = "snd_hda_intel"
                alsa.mixer_name = "Nvidia GPU a5 HDMI/DP"
                alsa.components = "HDA:10de00a5,14625137,00100100"
                alsa.id = "NVidia"
                device.string = "2"
        Profiles:
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
                output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: yes)
                output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
                pro-audio: Pro Audio (sinks: 4, sources: 0, priority: 1, available: yes)
        Active Profile: output:hdmi-stereo
        Ports:
                hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability group: Legacy 1, available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 1"
                                device.icon_name = "video-display"
                                card.profile.port = "0"
                                device.product.name = "VG27AQ1A"
                        Part of profile(s): output:hdmi-stereo
                hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, availability group: Legacy 2, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 2"
                                device.icon_name = "video-display"
                                card.profile.port = "1"
                        Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-surround-extra1, output:hdmi-surround71-extra1
                hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, latency offset: 0 usec, availability group: Legacy 3, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 3"
                                device.icon_name = "video-display"
                                card.profile.port = "2"
                        Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-surround-extra2, output:hdmi-surround71-extra2
                hdmi-output-3: HDMI / DisplayPort 4 (type: HDMI, priority: 5600, latency offset: 0 usec, availability group: Legacy 4, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 4"
                                device.icon_name = "video-display"
                                card.profile.port = "3"
                        Part of profile(s): output:hdmi-stereo-extra3, output:hdmi-surround-extra3, output:hdmi-surround71-extra3

Card #45
        Name: alsa_card.usb-Generic_USB_Audio-00
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "0"
                api.alsa.card.longname = "Generic USB Audio at usb-0000:00:14.0-5, high speed"
                api.alsa.card.name = "USB Audio"
                api.alsa.path = "hw:0"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio0"
                api.dbus.ReserveDevice1.Priority = "-20"
                device.api = "alsa"
                device.bus = "usb"
                device.bus-id = "usb-Generic_USB_Audio-00"
                device.bus_path = "pci-0000:00:14.0-usb-0:5:1.0"
                device.description = "USB Audio"
                device.enum.api = "udev"
                device.icon_name = "audio-card-analog-usb"
                device.name = "alsa_card.usb-Generic_USB_Audio-00"
                device.nick = "USB Audio"
                device.plugged.usec = "9208274"
                device.product.id = "0xd1d7"
                device.product.name = "USB Audio"
                device.serial = "Generic_USB_Audio"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/sound/card0"
                device.vendor.id = "0x0db0"
                device.vendor.name = "Micro Star International"
                media.class = "Audio/Device"
                factory.id = "15"
                client.id = "40"
                object.id = "45"
                object.serial = "45"
                object.path = "alsa:acp:Audio"
                alsa.card = "0"
                alsa.card_name = "USB Audio"
                alsa.long_card_name = "Generic USB Audio at usb-0000:00:14.0-5, high speed"
                alsa.driver_name = "snd_usb_audio"
                alsa.mixer_name = "USB Mixer"
                alsa.components = "USB0db0:d1d7"
                alsa.id = "Audio"
                device.string = "0"
        Profiles:
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
                HiFi: HiFi 2.0 channels (sinks: 3, sources: 2, priority: 9000, available: yes)
                HiFi 7+1: HiFi 7.1 channels (sinks: 3, sources: 2, priority: 1000, available: yes)
                HiFi 5+1: HiFi 5.1 channels (sinks: 3, sources: 2, priority: 1000, available: yes)
                pro-audio: Pro Audio (sinks: 4, sources: 3, priority: 1, available: yes)
        Active Profile: HiFi
        Ports:
                [Out] SPDIF: S/PDIF Output (type: SPDIF, priority: 100, latency offset: 0 usec, availability unknown)
                        Properties:
                                port.type = "spdif"
                                device.icon_name = "audio-speakers"
                                card.profile.port = "0"
                        Part of profile(s): HiFi 7+1, HiFi 5+1, HiFi
                [Out] Headphones: Front Headphones (type: Headphones, priority: 300, latency offset: 0 usec, availability group: Headphone - Output, not available)
                        Properties:
                                port.type = "headphones"
                                port.availability-group = "Headphone - Output"
                                device.icon_name = "audio-headphones"
                                card.profile.port = "1"
                        Part of profile(s): HiFi 7+1, HiFi 5+1, HiFi
                [Out] Speaker: Speakers (type: Speaker, priority: 200, latency offset: 0 usec, availability group: Speaker - Output, not available)
                        Properties:
                                port.type = "speaker"
                                port.availability-group = "Speaker - Output"
                                device.icon_name = "audio-speakers"
                                card.profile.port = "2"
                        Part of profile(s): HiFi 7+1, HiFi 5+1, HiFi
                [In] Mic1: Microphone (type: Mic, priority: 300, latency offset: 0 usec, availability group: Mic - Input, not available)
                        Properties:
                                port.type = "mic"
                                port.availability-group = "Mic - Input"
                                device.icon_name = "audio-input-microphone"
                                card.profile.port = "3"
                        Part of profile(s): HiFi 7+1, HiFi 5+1, HiFi
                [In] Line1: Line Input (type: Line, priority: 100, latency offset: 0 usec, availability group: Line - Input, not available)
                        Properties:
                                port.type = "line"
                                port.availability-group = "Line - Input"
                                device.icon_name = "audio-input-microphone"
                                card.profile.port = "4"
                        Part of profile(s): HiFi 7+1, HiFi 5+1, HiFi

Card #46
        Name: alsa_card.pci-0000_00_1f.3
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "1"
                api.alsa.card.longname = "HDA Intel PCH at 0x6403120000 irq 163"
                api.alsa.card.name = "HDA Intel PCH"
                api.alsa.path = "hw:1"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio1"
                api.dbus.ReserveDevice1.Priority = "-20"
                device.api = "alsa"
                device.bus = "pci"
                device.bus_path = "pci-0000:00:1f.3"
                device.description = "Built-in Audio"
                device.enum.api = "udev"
                device.form_factor = "internal"
                device.icon_name = "audio-card-analog-pci"
                device.name = "alsa_card.pci-0000_00_1f.3"
                device.nick = "HDA Intel PCH"
                device.plugged.usec = "8664686"
                device.product.id = "0x7a50"
                device.product.name = "Raptor Lake High Definition Audio Controller"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card1"
                device.vendor.id = "0x8086"
                device.vendor.name = "Intel Corporation"
                media.class = "Audio/Device"
                factory.id = "15"
                client.id = "40"
                object.id = "46"
                object.serial = "46"
                object.path = "alsa:acp:PCH"
                alsa.card = "1"
                alsa.card_name = "HDA Intel PCH"
                alsa.long_card_name = "HDA Intel PCH at 0x6403120000 irq 163"
                alsa.driver_name = "snd_hda_intel"
                alsa.mixer_name = "Intel Alderlake HDMI"
                alsa.components = "HDA:80862815,80860101,00100000"
                alsa.id = "PCH"
                device.string = "1"
        Profiles:
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
                output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: no)
                output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
                output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
                output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
                pro-audio: Pro Audio (sinks: 4, sources: 0, priority: 1, available: yes)
        Active Profile: off
        Ports:
                hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability group: Legacy 1, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 1"
                                device.icon_name = "video-display"
                                card.profile.port = "0"
                        Part of profile(s): output:hdmi-stereo, output:hdmi-surround, output:hdmi-surround71
                hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, availability group: Legacy 2, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 2"
                                device.icon_name = "video-display"
                                card.profile.port = "1"
                        Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-surround-extra1, output:hdmi-surround71-extra1
                hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, latency offset: 0 usec, availability group: Legacy 3, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 3"
                                device.icon_name = "video-display"
                                card.profile.port = "2"
                        Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-surround-extra2, output:hdmi-surround71-extra2
                hdmi-output-3: HDMI / DisplayPort 4 (type: HDMI, priority: 5600, latency offset: 0 usec, availability group: Legacy 4, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 4"
                                device.icon_name = "video-display"
                                card.profile.port = "3"
                        Part of profile(s): output:hdmi-stereo-extra3, output:hdmi-surround-extra3, output:hdmi-surround71-extra3

Card #258
        Name: bluez_card.CC_98_8B_A7_EB_3F
        Driver: module-bluez5-device.c
        Owner Module: n/a
        Properties:
                api.bluez5.address = "CC:98:8B:A7:EB:3F"
                api.bluez5.class = "0x000000"
                api.bluez5.connection = "connected"
                api.bluez5.device = ""
                api.bluez5.id = "5"
                api.bluez5.path = "/org/bluez/hci0/dev_CC_98_8B_A7_EB_3F"
                bluez5.profile = "off"
                device.alias = "WH-1000XM3"
                device.api = "bluez5"
                device.bus = "bluetooth"
                device.description = "WH-1000XM3"
                device.form_factor = "unknown"
                device.icon_name = "audio-card-bluetooth"
                device.name = "bluez_card.CC_98_8B_A7_EB_3F"
                device.product.id = "0x0cd3"
                device.string = "CC:98:8B:A7:EB:3F"
                device.vendor.id = "usb:054c"
                media.class = "Audio/Device"
                factory.id = "15"
                client.id = "40"
                object.id = "178"
                object.serial = "258"
        Profiles:
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
                a2dp-sink-sbc: High Fidelity Playback (A2DP Sink, codec SBC) (sinks: 1, sources: 0, priority: 18, available: yes)
                a2dp-sink-sbc_xq: High Fidelity Playback (A2DP Sink, codec SBC-XQ) (sinks: 1, sources: 0, priority: 17, available: yes)
                a2dp-sink-aac: High Fidelity Playback (A2DP Sink, codec AAC) (sinks: 1, sources: 0, priority: 19, available: yes)
                a2dp-sink: High Fidelity Playback (A2DP Sink, codec LDAC) (sinks: 1, sources: 0, priority: 20, available: yes)
        Active Profile: a2dp-sink-aac
        Ports:
                bluetooth-output: Bluetooth (type: Bluetooth, priority: 0, latency offset: 0 usec, available)
                        Properties:
                                port.type = "bluetooth"
                        Part of profile(s): a2dp-sink-sbc, a2dp-sink-sbc_xq, a2dp-sink-aac, a2dp-sink
systemctl status bluetooth
● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: disabled)
     Active: active (running) since Sat 2025-01-04 10:58:55 PST; 26min ago
 Invocation: 37654ed7f75e4cde9e88eb8089e02c60
       Docs: man:bluetoothd(8)
   Main PID: 714 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 37965)
     Memory: 2.7M (peak: 3.2M)
        CPU: 82ms
     CGroup: /system.slice/bluetooth.service
             └─714 /usr/lib/bluetooth/bluetoothd

Jan 04 11:23:12 0yster bluetoothd[714]: src/profile.c:ext_io_disconnected() Unable to get io data for Hands-Free Voice gateway: getpeername: Transport endpoint is not connected (107)
Jan 04 11:23:13 0yster bluetoothd[714]: profiles/audio/avdtp.c:cancel_request() Discover: Connection timed out (110)
Jan 04 11:23:57 0yster bluetoothd[714]: src/profile.c:ext_io_disconnected() Unable to get io data for Hands-Free Voice gateway: getpeername: Transport endpoint is not connected (107)
Jan 04 11:23:58 0yster bluetoothd[714]: profiles/audio/avdtp.c:cancel_request() Discover: Connection timed out (110)
Jan 04 11:24:02 0yster bluetoothd[714]: profiles/audio/avdtp.c:avdtp_connect_cb() connect to CC:98:8B:A7:EB:3F: Connection reset by peer (104)
Jan 04 11:24:43 0yster bluetoothd[714]: profiles/audio/avdtp.c:cancel_request() SetConfiguration: Connection timed out (110)
Jan 04 11:24:43 0yster bluetoothd[714]: src/profile.c:ext_io_disconnected() Unable to get io data for Hands-Free Voice gateway: getpeername: Transport endpoint is not connected (107)
Jan 04 11:25:17 0yster bluetoothd[714]: profiles/audio/avdtp.c:avdtp_connect_cb() connect to CC:98:8B:A7:EB:3F: Connection timed out (110)
Jan 04 11:25:28 0yster bluetoothd[714]: profiles/audio/avdtp.c:cancel_request() Discover: Connection timed out (110)
Jan 04 11:25:31 0yster bluetoothd[714]: src/profile.c:ext_io_disconnected() Unable to get io data for Hands-Free Voice gateway: getpeername: Transport endpoint is not connected (107)

pactl data shows SBC, SBC_XQ, AAC, LDAC codecs available, but not mSBC

WH-1000XM3 Specifications | Over-ear Headphones | Sony United Kingdom

Bluetooth® Specification
SUPPORTED AUDIO FORMAT(S)
SBC, AAC, aptX, aptX HD, LDAC