You are not logged in.

#1 2025-10-15 21:59:47

darose
Member
Registered: 2004-04-13
Posts: 159

Pipewire/wireplumber autoswitching broken with laptop usb c dock

On my brand new HP laptop, auto-switching works fine between speaker and 3.5mm headphones when the laptop is stand-alone.  I plug the headphones into the jack, PW/WP recognizes it, removes the speaker sink, adds the headphone sink, and all is well.  (I don't know why PW/WP removes the sinks, rather than just disabling or muting them, but whatever.)

However, when I connect the laptop to my usb-c dock, the auto-switching stops working correctly.  When I unplug the headphones, the speaker sink doesn't get added, and the laptop switches the audio to HDMI 1.  I've tried a million different things (remove the pipewire state dir, disabling WP automatic suspensions, etc.) but nothing seems to fix it.  So when docked, I wind up having to manually switch the WP profile in order to switch from speaker to headphone and back, which is becoming a real nuisance

The only thing that does fix it is when I blacklist the hdmi sound kernel module.  But that's not a proper long-term fix, as I occasionally need to use hdmi sound.  (I.e., when I connect the laptop to an HDMI tv.)

I'd really like to get this fixed, as about 80% of the time I use the laptop is with the dock.

Additional details:
* Relevant audio modules in use are snd_sof_pci_intel_mtl, snd_hda_codec_alc269, and snd_hda_scodec_cs35l56.  (I.e., ALC269 and cirrus CS35L56)
* All relevant firmware packages are installed.  (sof-firmware, linux-firmware-intel, linux-firmware-cirrus, etc.)
* USB Dock is an Anker USB C 5-in-1 (https://www.anker.com/products/a8338)
* Connected to the dock is a Logitech USB WebCam, and an HDMI monitor (without speakers).

Any suggestions for a fix much appreciated!

Last edited by darose (2025-10-15 22:01:01)

Offline

Board footer

Powered by FluxBB