You are not logged in.

#1 2021-12-21 20:49:51

Strubbl
Member
Registered: 2013-12-10
Posts: 29

Internal Microphone ALC3204 does not work on Dell Inspiron

Hi,
i am using a Dell Inspiron 13 (5391) with Archlinux. I have the latest updates installed. Sound is working fine, but i cannot get the microphone working. I have no pulseaudio related packages installed. I have installed alsa-utils, alsa-ucm-conf and sof-firmware. In alsamixer i have unmuted everything and turned up the volumes.

When i try to record and play with arecord/aplay, i cannot hear anything i spoke but only acoustic noise:

$ arecord --duration=5 --format=dat test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
$ aplay test.wav 
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo

Any idea how i can get the internal microphone working?


Some more output:

$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 1: HDA Digital (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 6: DMIC (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 7: DMIC16kHz (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
$ sudo dmesg | grep snd
[   13.156572] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[   13.156595] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[   13.669464] snd_soc_skl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[   13.669616] snd_soc_skl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[   14.258586] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC3204: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[   14.258590] snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   14.258592] snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[   14.258593] snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
[   14.258594] snd_hda_codec_realtek ehdaudio0D0:    inputs:
[   14.258595] snd_hda_codec_realtek ehdaudio0D0:      Headset Mic=0x19
[   14.258596] snd_hda_codec_realtek ehdaudio0D0:      Headphone Mic=0x1a
[   14.355537] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
[   14.355547] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten
$ lsmod | grep snd
snd_ctl_led            24576  0
snd_soc_skl_hda_dsp    24576  1
snd_soc_intel_hda_dsp_common    20480  1 snd_soc_skl_hda_dsp
snd_soc_hdac_hdmi      45056  1 snd_soc_skl_hda_dsp
snd_hda_codec_hdmi     81920  1
snd_hda_codec_realtek   159744  1
snd_hda_codec_generic    98304  1 snd_hda_codec_realtek
snd_soc_dmic           16384  1
snd_sof_pci_intel_cnl    16384  0
snd_sof_intel_hda_common   131072  1 snd_sof_pci_intel_cnl
soundwire_intel        53248  1 snd_sof_intel_hda_common
snd_sof_intel_hda      20480  1 snd_sof_intel_hda_common
snd_sof_pci            20480  2 snd_sof_intel_hda_common,snd_sof_pci_intel_cnl
snd_sof_xtensa_dsp     20480  1 snd_sof_intel_hda_common
snd_sof               200704  2 snd_sof_pci,snd_sof_intel_hda_common
snd_soc_skl           221184  0
snd_soc_hdac_hda       28672  2 snd_sof_intel_hda_common,snd_soc_skl
snd_hda_ext_core       36864  5 snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
snd_soc_sst_ipc        20480  1 snd_soc_skl
snd_soc_sst_dsp        40960  1 snd_soc_skl
snd_soc_acpi_intel_match    57344  3 snd_sof_intel_hda_common,snd_soc_skl,snd_sof_pci_intel_cnl
snd_soc_acpi           16384  3 snd_soc_acpi_intel_match,snd_sof_intel_hda_common,snd_soc_skl
snd_soc_core          393216  8 soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_soc_skl,snd_soc_dmic,snd_soc_skl_hda_dsp
ledtrig_audio          16384  5 snd_ctl_led,snd_hda_codec_generic,dell_wmi,snd_sof,dell_laptop
snd_compress           28672  1 snd_soc_core
ac97_bus               16384  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_hda_intel          61440  0
snd_intel_dspcfg       32768  3 snd_hda_intel,snd_sof_intel_hda_common,snd_soc_skl
snd_intel_sdw_acpi     20480  2 snd_sof_intel_hda_common,snd_intel_dspcfg
snd_hda_codec         184320  7 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_intel_hda_dsp_common,snd_soc_hdac_hda,snd_soc_skl_hda_dsp
snd_hda_core          118784  12 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_soc_intel_hda_dsp_common,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
snd_hwdep              16384  1 snd_hda_codec
snd_pcm               163840  12 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_compress,snd_soc_core,snd_soc_skl,snd_hda_core,snd_pcm_dmaengine
snd_timer              49152  1 snd_pcm
snd                   126976  15 snd_ctl_led,snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_soc_hdac_hdmi,snd_compress,snd_soc_core,snd_pcm,snd_soc_skl_hda_dsp
soundcore              16384  2 snd_ctl_led,snd

Maybe this thread is related to https://bbs.archlinux.org/viewtopic.php?id=254463

edit: update arecord -l output

Last edited by Strubbl (2021-12-22 13:16:46)

Offline

#2 2021-12-22 09:11:05

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,081

Re: Internal Microphone ALC3204 does not work on Dell Inspiron

If you're currently setting the snd-intel-dspcfg or dmic_detect=0 parameters you need to remove them since as mentioned in that thread this will expectedly disable the mic.

FWIW have you tested whether the second mic works?

arecord -Dhw:0,2 test.wav

Last edited by V1del (2021-12-22 09:11:19)

Offline

#3 2021-12-22 13:21:11

Strubbl
Member
Registered: 2013-12-10
Posts: 29

Re: Internal Microphone ALC3204 does not work on Dell Inspiron

My kernel command line has none of the mentioned parameters and my /etc/modprobe.d/ is empty.

Second mic seems not to work.

$ arecord -Dhw:0,2 --duration=5 --format=dat test.wav
arecord: main:831: audio open error: No such file or directory
$ arecord -Dhw:0,1 --duration=5 --format=dat test.wav
arecord: main:831: audio open error: Invalid argument

I have updated the output of arecord -l in the first post. It has 4 sofhdadsp devices now. But still no success in recording from the first microphone device

Last edited by Strubbl (2021-12-22 13:22:14)

Offline

#4 2021-12-22 13:32:46

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,081

Re: Internal Microphone ALC3204 does not work on Dell Inspiron

? So you did originally have one of these parameters since the current output aligns more with what I expect to see if they aren't present. Do the other mic(s) work?

Offline

#5 2021-12-22 13:57:48

Strubbl
Member
Registered: 2013-12-10
Posts: 29

Re: Internal Microphone ALC3204 does not work on Dell Inspiron

Until yesterday i have had the kernel parameter snd_hda_intel.dmic_detect=0 set. But as far as i remember i removed that before posting here. Maybe i recorded the old arecord list before that change.

The other mics do not work:

$ arecord -Dhw:6,0 --duration=5 --format=dat test.wav
ALSA lib confmisc.c:165:(snd_config_get_card) Cannot get card index for 6
arecord: main:831: audio open error: No such file or directory
$ arecord -Dhw:7,0 --duration=5 --format=dat test.wav
ALSA lib confmisc.c:165:(snd_config_get_card) Cannot get card index for 7
arecord: main:831: audio open error: No such file or directory
$ arecord -Dhw:1,0 --duration=5 --format=dat test.wav
ALSA lib confmisc.c:165:(snd_config_get_card) Cannot get card index for 1
arecord: main:831: audio open error: No such file or directory

Only device 0 works, but i cannot hear what i said into the microphone.

$ arecord -Dhw:0,0 --duration=5 --format=dat test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
$ aplay test.wav 
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo

Last edited by Strubbl (2021-12-22 13:58:12)

Offline

Board footer

Powered by FluxBB