Bug 205527 - Internal mic appears as unplugged on Dell Latitude E7450
Summary: Internal mic appears as unplugged on Dell Latitude E7450
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Sound(ALSA) (show other bugs)
Hardware: Intel Linux
: P1 normal
Assignee: Jaroslav Kysela
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-11-14 16:00 UTC by Michael Marley
Modified: 2019-11-21 00:07 UTC (History)
2 users (show)

See Also:
Kernel Version: 5.4-rc7
Subsystem:
Regression: No
Bisected commit-id:


Attachments
alsa-info.sh output from the affected system (61.05 KB, text/plain)
2019-11-14 16:00 UTC, Michael Marley
Details
alsa-info.sh output from a Latitude E7440 that does not suffer from the problem (57.07 KB, text/plain)
2019-11-20 18:56 UTC, Michael Marley
Details

Description Michael Marley 2019-11-14 16:00:38 UTC
Created attachment 285917 [details]
alsa-info.sh output from the affected system

I have a Dell Latitude E7450 laptop on which I am running kernel 5.4-rc7 and PulseAudio 13.  The Internal Microphone device appears in the device list as "unplugged", causing it to not be selected as the default input device even though it cannot actually be unplugged.  If I manually select it as the input device to be used however, it does work and records audio properly.  It just shouldn't be marked as "unplugged".

I have attached the output of alsa-info.sh.  If you need any other information, I will be happy to provide it.
Comment 1 Michael Marley 2019-11-14 19:51:12 UTC
After more research and tinkering, it seems as if I misunderstood the nature of the issue.  The problem is not that the HDA driver shows the internal mic as being unplugged, the problem is that the HDA driver is showing the dock mic as being plugged, which then causes PulseAudio to (correctly) disable the internal mic and (confusingly) show it as unplugged due to the configuration in /usr/share/pulseaudio/alsa-mixer/paths/analog-input-internal-mic.conf.  This is despite the fact that no microphone is plugged into the dock and, in fact, the dock itself is not plugged in.

TLDR: The problem is really that the Dock Mic is shown as being connected when it actually isn't.
Comment 2 Jaroslav Kysela 2019-11-14 20:00:11 UTC
Could you use 'hdajacksensetest', if the HDA PINs are correct? Just plug / unplug a mic to the dock, if the jack sensing works somehow.
Comment 3 Michael Marley 2019-11-14 23:34:01 UTC
I tried with the dock.  The jack sensing appears to just be broken.  No matter whether the laptop is on or off the dock or whether there is a mic plugged into the dock, it always says that the dock mic is plugged in.

(Other than that though, it does work.  I can record audio through the dock mic if I select it and the headphone/line out also works, switching automatically to that port when a device is plugged.
Comment 4 Takashi Iwai 2019-11-15 07:17:44 UTC
IIUC, the Dell dock is a USB-audio device that is completely different from the built-in HD-audio.  So PA does switch the whole card when a USB-audio is plugged, and that's what you're seeing.

And the jack connection detection on USB-audio isn't done in the audio driver but via HID driver in general.  This means that the dedicated HID driver might be missing, and/or the plumbing this input device with the audio jack is missing -- which isn't trivial at all.
Comment 5 Jaroslav Kysela 2019-11-15 08:26:18 UTC
Takashi, I don't see the USB device in the alsa-info output. It seems that the dock is connected through the HDA PINs...

Michael, the provided alsa-info output is when the laptop is in the dock?
Comment 6 Takashi Iwai 2019-11-15 08:57:34 UTC
OK, then I was wrong, I thought the machine being the Skylake or later model, which as a USB-C dock, but this looks like an older one with the direct connection.  Sorry for the noise.
Comment 7 Michael Marley 2019-11-15 11:17:12 UTC
That's right, this is an "old-fashioned" e-port dock and all of the audio stuff on it is driven off of the HDA device in the laptop.
Comment 8 Michael Marley 2019-11-20 18:56:29 UTC
Created attachment 285993 [details]
alsa-info.sh output from a Latitude E7440 that does not suffer from the problem

I have just attached the alsa-info.sh output from a Latitude E7440 (which is very similar to the E7450 except Haswell instead of Broadwell), which doesn't suffer from the problem.  All the jack presence detection works properly on that system, which uses the same docking station as the E7450.
Comment 9 Takashi Iwai 2019-11-20 19:07:26 UTC
You wrote that you tested hdajackretask.  Did you test all existing pins by that?

If any of the existing pins doesn't react to the jack detection, it smells more likely a hardware defect...
Comment 10 Michael Marley 2019-11-21 00:07:42 UTC
I did test all pins and it doesn't show any difference between when the microphone is plugged or unplugged.  It also shows as present even the the laptop isn't on the dock at all, which would seem to eliminate any potential issue with the dock as a cause.  I also checked the dock connector to see if any pins were bent or shorted or anything, but there weren't any such issues.

Note You need to log in before you can comment on or make changes to this bug.