Ubuntu – Audio and microphone problems in 19.10 on Dell Inspiron 15 7000

dellmicrophonesound

There is something odd with audio input and output on my new laptop. When no headsets etc connected:

  • built-in mic does not work (also does not show in Settings)
  • system sounds do work, but test in settings does not

When I connect a headset:

  • headset works, but when I select built-in mic in settings, builtin mic, headset audio output stops (even though settings say audio goes to headset).

Some relevant info (no headsets connected)

$ dmesg | grep snd
[    4.916415] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
[    5.135593] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    5.226537] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC3254: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[    5.226539] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    5.226541] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    5.226541] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[    5.226542] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[    5.226543] snd_hda_codec_realtek hdaudioC0D0:      Headphone Mic=0x1b
[    5.226545] snd_hda_codec_realtek hdaudioC0D0:      Headset Mic=0x19


# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC3254 Analog [ALC3254 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 2: ALC3254 Alt Analog [ALC3254 Alt Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


# inxi -Fxz 
System:    Host: mymachine Kernel: 5.3.0-26-generic x86_64 bits: 64 compiler: gcc v: 9.2.1 Desktop: Gnome 3.34.1 
           Distro: Ubuntu 19.10 (Eoan Ermine) 
Machine:   Type: Laptop System: Dell product: Inspiron 7590 v: N/A serial: <filter> 
           Mobo: Dell model: 0JKGD4 v: A00 serial: <filter> UEFI: Dell v: 1.0.2 date: 04/19/2019 
...
CPU:       Topology: 6-Core model: Intel Core i7-9750H bits: 64 type: MT MCP arch: Kaby Lake rev: A L2 cache: 12.0 MiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 62399 
           Speed: 1597 MHz min/max: 800/4500 MHz Core speeds (MHz): 1: 1597 2: 1623 3: 1027 4: 1180 5: 1275 6: 1866 7: 857 
           8: 1792 9: 1983 10: 1838 11: 800 12: 1142 
Graphics:  Device-1: Intel UHD Graphics 630 vendor: Dell driver: i915 v: kernel bus ID: 00:02.0 
           Device-2: NVIDIA vendor: Dell driver: nouveau v: kernel bus ID: 01:00.0 
           Display: server: X.Org 1.20.5 driver: nouveau resolution: 3840x2160~60Hz 
           OpenGL: renderer: Mesa DRI Intel UHD Graphics 630 (Coffeelake 3x8 GT2) v: 4.5 Mesa 19.2.1 direct render: Yes 
Audio:     Device-1: Intel Cannon Lake PCH cAVS vendor: Dell driver: snd_hda_intel v: kernel bus ID: 00:1f.3 
           Sound Server: ALSA v: k5.3.0-26-generic 

(I've abbreviated the output above)

Here I have not touched any pulseaudio-related commands as I think the problem is quite low-level.

hdajackretask shows only two pins:

0x14 for Internal speaker

and

0x21 for "Black headphone, Right side" (not sure what this si supposed to mean)

If my understanding is correct, two analog inputs are the built-in mic and audio monitor for the speakers.

I think, the kernel driver is completely misunderstanding what is connected to where, but I do not know whether it can be configured and how. I have not dealt with audio problems under Linux for decades, so my experience here is limited and assessment maybe wrong.

How to configure that properly? I can't really experiment with changing Linux kernels on this machine.

I have tried to override every pin with hdajackretask with Internal mic, but nothing worked (one pin was giving some digital noise, others were mostly silent or almost silent)

Best Answer

I was able to solve this problem on the Lenovo Thinkpad E590 via hdajackretask

I set override for 0x1a (Internal Mic) and further chose "Install boot override" instead of "Apply now" because it will give an error about a busy channel.

Related Question