On 02. 11. 22 13:05, Takashi Iwai wrote:
On Wed, 02 Nov 2022 12:59:49 +0100, Takashi Iwai wrote:
On Wed, 02 Nov 2022 12:53:48 +0100, Jaroslav Kysela wrote:
On 02. 11. 22 12:34, Takashi Iwai wrote:
The recent commit added Jack controls to Dell Dock, but it added with iface = SNDRV_CTL_ELEM_IFACE_CARD. Unfortunately this doesn't match with the changes in user-space UCM profile, which expects iface = SNDRV_CTL_ELEM_IFACE_MIXER as default. This mismatch resulted in the non-working profile, and the Dell Dock is gone on pipewire / PulseAudio after the kernel update.
Fix the regression by adjusting the iface of the new ctl elements to *_MIXER.
Hi Takashi,
UCM expects SNDRV_CTL_ELEM_IFACE_CARD for jacks by default. Which change do you refer? I would drop this patch.
It's about ucm2/USB-Audio/Dell/WD15-Dock-HiFi.conf, the JackControl entries. For example, JackControl "Headphone Jack" expects the mixer element. The bad thing is that the complete card entry disappears because of inconsistency. If you modify the entry as JackControl "name='Headphone Jack',iface=CARD" it would work. But the fact that other JackControl stuff works, it's better to align the USB-audio with IFACE_MIXER, I guess.
Hm, looking at the UCM code, UCM should treat IFACE_CARD as default, indeed. Something went south. Will take a deeper look.
Perhaps, it's this issue - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2744 . The configuration for the Dell's docking station has also defined all jacks. If only an output equipment is connected, the pipewire may set the profile as not available. My fix (MR1429) should work. No idea why this issue is not visible in PA.
From alsa-info (from the OpenSuse bug), jack states:
name 'Line Out Jack' value true name 'Headphone Jack' value false name 'Headset Mic Jack' value false
Jaroslav