Re: [Sound-open-firmware] jack detection via input/event on linux

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>>> It seems that many ASoC drivers do not create kctls - the argument pins
>>> is zero in the snd_soc_card_jack_new() call. The SND_JACK_HEADSET should
>>> be remapped to kctl in sound/soc/intel/boards/sof_rt5682.c, too.
>>
>> Did you mean something like the patch below Jaroslav? If yes, most of
>> the Chromebook machine drivers are missing this remapping. That would
>> also explain why the jack detection didn't work on my GLK test device,
>> despite a UCM file that looked good...
> 
> Yes, it looks like a way to go. It seems that the drivers were tested
> only with the CRAS audio server. Note that pulseaudio can be run with
> the user permissions only - thus the input devices may not be reachable.

I added a similar patch on a GeminiLake device, and it does help with
jack detection (along with an update in
https://github.com/alsa-project/alsa-ucm-conf/pull/150).

I can see PulseAudio detecting the changes, but for some reason the
automatic switch only happens when the jack is unplugged. I still have
to manually select the headphone/headset after plugging it in. Likely
still missing something in the UCM file?


D: [pulseaudio] module-alsa-card.c: Jack 'Headphone Jack' is now unplugged

D: [pulseaudio] device-port.c: Setting port [Out] Headphone to status no

D: [pulseaudio] module-switch-on-port-available.c: Trying to switch away
from port [Out] Headphone, found [Out] Speaker

D: [pulseaudio] module-alsa-card.c: Jack 'Headset Mic Jack' is now unplugged

D: [pulseaudio] device-port.c: Setting port [In] Headset to status no

D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change
event.

D: [pulseaudio] module-switch-on-port-available.c: Trying to switch away
from port [In] Headset, found [In] InternalMic


<<< AUTOMATIC SWITCH DONE

D: [pulseaudio] module-alsa-card.c: Jack 'Headphone Jack' is now plugged in

D: [pulseaudio] device-port.c: Setting port [Out] Headphone to status yes

D: [pulseaudio] module-alsa-card.c: Jack 'Headset Mic Jack' is now
plugged in

D: [pulseaudio] device-port.c: Setting port [In] Headset to status yes


<<< NOTHING HAPPENS HERE

D: [pulseaudio] module-alsa-card.c: Jack 'Headphone Jack' is now unplugged

D: [pulseaudio] device-port.c: Setting port [Out] Headphone to status no

D: [pulseaudio] module-switch-on-port-available.c: Trying to switch away
from port [Out] Headphone, found [Out] Speaker

D: [pulseaudio] module-alsa-card.c: Jack 'Headset Mic Jack' is now unplugged

D: [pulseaudio] device-port.c: Setting port [In] Headset to status no

D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change
event.

D: [pulseaudio] module-switch-on-port-available.c: Trying to switch away
from port [In] Headset, found [In] InternalMic




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux