Pulseaudio apparently supports "jack detection", meaning auto-detection of whether anything is plugged into each jack (e.g., headphone jack, line out jack) or not.
Unfortunately, Pulseaudio's jack detection isn't working for me. How do I troubleshoot it? What steps should I follow to narrow down the cause of the problem?
I've found this guide from Ubuntu. It taught me to compare the output of
amixer -c0 contents when something is plugged into the jack, vs when nothing is plugged in; and to do the same for
In my case, I found that jack detection seems to be working at the ALSA / kernel level.
amixer -c0 contents outputs the following when nothing is plugged in:
numid=41,iface=CARD,name='Line Out CLFE Jack' ; type=BOOLEAN,access=r-------,values=1 : values=off
When something is plugged in, the last line changes to
values=on. This seems to indicate that jack detection is working at the ALSA / kernel level.
However, jack detection doesn't seem to be working at the Pulseaudio level. The output from
pacmd list-cards is the same whether something is plugged in or not. In particular, I see something like
ports: ... analog-output-lineout: Line Out (priority 9900, latency offset 0 usec, available: no) properties: ...
regardless of whether anything is plugged in or not. This makes me suspect that maybe Pulseaudio is at fault here.
What are the next steps to troubleshoot this?
If it's relevant, here is my information about my particular system. I am using Fedora 21. Here are some package version numbers:
alsa-lib-1.0.28-2.fc21.x86_64. Here's the sound controller that shows up in
00:1b.0 Audio device : Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller [8086:1e20] (rev 04) Subsystem: Biostar Microtech Int'l Corp Device [1565:8228]
Here are the first few lines from
/proc/asound/card0/codec#2 (there is no
coded#1 on my machine, though that would normally be the first place to check;
codec#3 is for HDMI and doesn't seem relevant):
Codec: Realtek ALC892 Address: 2 AFG Function Id: 0x1 (unsol 1) Vendor Id: 0x10ec0892 Subsystem Id: 0x15658228 Revision Id: 0x100302
That's information about my particular machine. But maybe a general answer that is generically applicable will be more useful to others.