[PATCH] ALSA: usb-audio: Fix regression with Dell Dock jack detection

Jaroslav Kysela perex at perex.cz
Wed Nov 2 13:18:05 CET 2022


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

-- 
Jaroslav Kysela <perex at perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.


More information about the Alsa-devel mailing list