You are not logged in.
I have a pair of Bose Quiet Comfort Headphones. On my Arch laptop, I have no issues with them. On my desktop (running what I _think_ is an identical stack) they aren't properly detected/usable until I restart the bluetooth service.
When I boot the machine (or resume from suspend), the headphones do pair via bluetooth, but do not always show up in PavuControl at all. If they do show up in PavuControl, they appear in hfp configuration with the a2dp configuration disabled.
When I restart bluetooth, they re-connect and suddenly the a2dp profile is available and everything works as expected until the next suspend.
I'm running wireplumber, pipewire, and bluez all at the latest version at the time of this posting.
This the log from wireplumber after a fresh boot:
Apr 03 14:42:03 jetsam systemd[451]: Started Multimedia Service Session Manager.
Apr 03 14:42:03 jetsam wireplumber[745]: Can't find org.freedesktop.portal.Desktop. Is xdg-desktop-portal running?
Apr 03 14:42:03 jetsam wireplumber[745]: found session bus but no portal
Apr 03 14:42:03 jetsam wireplumber[745]: [0:00:24.022048842] [745] INFO Camera camera_manager.cpp:299 libcamera v0.0.4
Apr 03 14:42:05 jetsam wireplumber[745]: <WpPortalPermissionStorePlugin:0x5607107f4400> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
Apr 03 14:42:05 jetsam wireplumber[745]: <WpPortalPermissionStorePlugin:0x5607107f4400> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
Apr 03 14:42:12 jetsam wireplumber[745]: RFCOMM receive command but modem not available: AT+BTRH?
Apr 03 14:42:12 jetsam wireplumber[745]: RFCOMM receive command but modem not available: AT+XEVENT=Bose SoundLink,158
Apr 03 14:42:12 jetsam wireplumber[745]: Failed to register battery provider. Error: org.freedesktop.DBus.Error.UnknownMethod
Apr 03 14:42:12 jetsam wireplumber[745]: BlueZ Battery Provider is not available, won't retry to register it. Make sure you are running BlueZ 5.56+ with experimental features to use Battery Provider.
Here's the log from bluetooth from a fresh boot:
Apr 03 14:41:45 jetsam systemd[1]: Starting Bluetooth service...
Apr 03 14:41:45 jetsam bluetoothd[396]: Bluetooth daemon 5.66
Apr 03 14:41:45 jetsam bluetoothd[396]: Starting SDP server
Apr 03 14:41:45 jetsam bluetoothd[396]: profiles/audio/vcp.c:vcp_init() D-Bus experimental not enabled
Apr 03 14:41:45 jetsam bluetoothd[396]: src/plugin.c:plugin_init() Failed to init vcp plugin
Apr 03 14:41:45 jetsam bluetoothd[396]: profiles/audio/mcp.c:mcp_init() D-Bus experimental not enabled
Apr 03 14:41:45 jetsam bluetoothd[396]: src/plugin.c:plugin_init() Failed to init mcp plugin
Apr 03 14:41:45 jetsam bluetoothd[396]: profiles/audio/bap.c:bap_init() D-Bus experimental not enabled
Apr 03 14:41:45 jetsam bluetoothd[396]: src/plugin.c:plugin_init() Failed to init bap plugin
Apr 03 14:41:45 jetsam bluetoothd[396]: Bluetooth management interface 1.22 initialized
Apr 03 14:41:45 jetsam systemd[1]: Started Bluetooth service.
Apr 03 14:41:45 jetsam bluetoothd[396]: src/device.c:device_set_wake_support() Unable to set wake_support without RPA resolution
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSource/ldac
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSink/aptx_hd
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSource/aptx_hd
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSink/aptx
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSource/aptx
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSink/aac
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSource/aac
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSink/sbc
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSource/sbc
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSink/sbc_xq
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSource/sbc_xq
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSource/aptx_ll_1
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSource/aptx_ll_0
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_1
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_0
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSource/faststream
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSource/faststream_duplex
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSink/opus_05
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSource/opus_05
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSink/opus_05_duplex
Apr 03 14:42:05 jetsam bluetoothd[396]: Endpoint registered: sender=:1.21 path=/MediaEndpoint/A2DPSource/opus_05_duplex
Apr 03 14:42:06 jetsam bluetoothd[396]: src/profile.c:register_profile() :1.27 tried to register 0000111f-0000-1000-8000-00805f9b34fb which is already registered
Apr 03 14:42:06 jetsam bluetoothd[396]: Endpoint registered: sender=:1.27 path=/MediaEndpoint/A2DPSource/ldac_hq
Apr 03 14:42:06 jetsam bluetoothd[396]: Endpoint registered: sender=:1.27 path=/MediaEndpoint/A2DPSource/ldac_sq
Apr 03 14:42:06 jetsam bluetoothd[396]: Endpoint registered: sender=:1.27 path=/MediaEndpoint/A2DPSource/ldac_mq
Apr 03 14:42:06 jetsam bluetoothd[396]: Endpoint registered: sender=:1.27 path=/MediaEndpoint/A2DPSink/aptx_hd
Apr 03 14:42:06 jetsam bluetoothd[396]: Endpoint registered: sender=:1.27 path=/MediaEndpoint/A2DPSource/aptx_hd
Apr 03 14:42:06 jetsam bluetoothd[396]: Endpoint registered: sender=:1.27 path=/MediaEndpoint/A2DPSink/aptx
Apr 03 14:42:06 jetsam bluetoothd[396]: Endpoint registered: sender=:1.27 path=/MediaEndpoint/A2DPSource/aptx
Apr 03 14:42:06 jetsam bluetoothd[396]: Endpoint registered: sender=:1.27 path=/MediaEndpoint/A2DPSink/sbc
Apr 03 14:42:06 jetsam bluetoothd[396]: Endpoint registered: sender=:1.27 path=/MediaEndpoint/A2DPSource/sbc
Apr 03 14:42:06 jetsam bluetoothd[396]: Endpoint registered: sender=:1.27 path=/MediaEndpoint/A2DPSink/sbc_xq_453
Apr 03 14:42:06 jetsam bluetoothd[396]: Endpoint registered: sender=:1.27 path=/MediaEndpoint/A2DPSource/sbc_xq_453
Apr 03 14:42:06 jetsam bluetoothd[396]: Endpoint registered: sender=:1.27 path=/MediaEndpoint/A2DPSink/sbc_xq_512
Apr 03 14:42:06 jetsam bluetoothd[396]: Endpoint registered: sender=:1.27 path=/MediaEndpoint/A2DPSource/sbc_xq_512
Apr 03 14:42:06 jetsam bluetoothd[396]: Endpoint registered: sender=:1.27 path=/MediaEndpoint/A2DPSink/sbc_xq_552
Apr 03 14:42:06 jetsam bluetoothd[396]: Endpoint registered: sender=:1.27 path=/MediaEndpoint/A2DPSource/sbc_xq_552
Apr 03 14:42:12 jetsam bluetoothd[396]: sdp_extract_attr: Unknown data descriptor : 0x65 terminating
And here's the log from pipewire:
Apr 03 14:42:03 jetsam systemd[451]: Started PipeWire Multimedia Service.
Apr 03 14:42:03 jetsam pipewire[744]: mod.rt: Can't find org.freedesktop.portal.Desktop. Is xdg-desktop-portal running?
Apr 03 14:42:03 jetsam pipewire[744]: mod.rt: found session bus but no portal
Apr 03 14:42:05 jetsam pipewire[744]: [0:00:26.300176972] [744] INFO Camera camera_manager.cpp:299 libcamera v0.0.4
Here's the relevant set of packages and their versions (I think):
$ yay -Q | rg '(pipewire|wireplumber|bluez)'
bluez 5.66-1
bluez-libs 5.66-1
bluez-utils 5.66-1
gst-plugin-pipewire 1:0.3.67-1
libpipewire 1:0.3.67-1
libwireplumber 0.4.14-1
pipewire 1:0.3.67-1
pipewire-audio 1:0.3.67-1
pipewire-jack 1:0.3.67-1
wireplumber 0.4.14-1
I have not attempted any custom configuration for wireplumber or pipewire.
The above logs get me into the state where the device is bluetooth paired but not available in pavucontrol. Happy to provide more if needed.
Does anyone know what might be going wrong here? I've been trying to sort through the noise in the logs, but I'm not getting useful search engine hits. I've noticed the warnings about xdg portal, but I don't understand them because both xdg-desktop-portal and xdg-desktop-portal-wlr are running. Perhaps they're started afterwards?
Any suggestions would be appreciated.
Edited to fix typo: s/hsp/hfp
Last edited by whereswaldon (2023-04-11 13:44:20)
Offline
I realized that the problem was somehow running _both_ PipeWire and PulseAudio. I think PulseAudio must have been installed as a dependency of something else a while back and maybe defaulted to enabled? Or perhaps it was socket-activated because I was missing the `pipewire-pulse` package? Either way, both audio daemons were running and fighting over my various devices installing `pipewire-pulse` and `pipewire-alsa` and a reboot fixed the problem (I also uninstalled `pulseaudio`).
Offline