Microphone not working Ubuntu 19.10

I have an Acer Swift 3 SF314-56 with Ubuntu 19.10 installed (the card is a Realtek ALC256).

My microphone does not work. I've tried lot of thing such as put the line "options snd-hda-intel model=acer-headset-multi" at the botton of the file "/etc/modprobe.d/alsa-base.conf". I've also installed HDAJackRetask and connected pin 012 and 013 to internal mic and bot ovveride. I've set Mic_Boost on alsamixer equal to zero.

enter image description here

Well, nothing worked. The mic is now not dectected at all. Could someone help me?

I missed an infornation. Ubuntu is installed in dual boot alongside windows 10 (which I use rarely). On windows the microphone is detected and works well.

1

6 Answers

I have been struggling through this issue for months. Apparently this is a recognized issue with devices using the Realtek ALC256 card (which includes the Acer Swift 3). There is a long thread on something similar on bugzilla.

I finally stumbled across a workaround to enable use of headset mics here: acer swift 3: microphone not working with ubuntu 18.04, to add options snd-hda-intel model=dell-headset-multi to the alsa-base.conf. You can follow the steps mentioned there (I did however have to restart my computer as alsa force-reload did not do the trick for me). This worked for me on Acer Swift 3 and Ubuntu 20

Please note however, the onboard mic will still not work.

EDIT: Kernels 5.14-rc5 onwards, 5.13.10 onwards, 5.10.58 onwards have the following fix already applied, enjoy :D

So! Just made my headset microphone work on my Acer SF314-56 on Ubuntu 21.04. Happy happy happy :)

Looks like when you are using SOF driver the options snd-hda-intel ... over at /etc/modprobe.d/* have no effect. Thus (from my understanding) why HDAJackRetask won't help.

Also! Checkout this out! As 5.14-rc1 there is no patch for our lovely SF314-56.. hmmm...

So based on these findings here is the fix...

For custom-kernel people that is easy: Just add the following line and compile.

SND_PCI_QUIRK(0x1025, 0x1300, "Acer SWIFT SF314-56", ALC256_FIXUP_ACER_MIC_NO_PRESENCE), over at struct snd_pci_quirk alc269_fixup_tbl[] at sound/pci/hda/patch_realtek.c. For the brave ones that don't know how-to compile a custom kernel but willing to here is a cool guide. If you are using secureboot then you gotta also sign it. If you are using ZFS then iirc you also need zfs-dkms.

For people who aren't willing to compile a custom-kernel nor have a time machine or just want to experiment fast on some other device

Then you gotta disable SOF and rollback to legacy driver in order to make options snd-hda-intel ... have effect, however! this results with disabling DMIC. So add options snd-intel-dspcfg dsp_driver=1 to /etc/modprobe.d/alsa-base.conf.

Afterwards you gotta create a patch over at /lib/firmware/, lets name it alc256-sound-patch.fw. Based on this documentation and the observation over at /sound/pci/hda/patch_realtek.c that device Acer TravelMate B311R-3 has the patch we need we paste the following code. If you are using some other device this is a place for some experimentation.

[codec]
0x10ec0256 0x10251300 0
[subsystem_id]
0x10251430

Finally enable the patch by also adding options snd-hda-intel patch=alc256-sound-patch.fw to /etc/modprobe.d/alsa-base.conf. Then restart.

If you want also add options snd-hda-codec dyndbg=+p in order to have some more info over at dmesg.

If anyone know how to use options snd-hda-intel with SOF please let us know how-to!

4

I am having exactly the same issue. The problem seems to be that the built-in microphones are not part of the Intel HDA, but are connected to another codec. Forcing Linux to enable the (unconnected) microphone input will only result in some hum / system noise. I found more information here:

Built-in mic recognized but not working (Mint 19.2 64 bit) - Linux Mint Forums

However, don't get your hopes up; as far as I could find, it has not been fixed yet.

new alsamixer display for acer swift3 SF314-56 (Kubuntu 20.04 LTS)

Same Acer swift3 SF314-56 running Kubuntu 19.10 mic didn't work neither. Then updated to kubuntu 20.04 LTS, and after a recent kernel update (I have now a kernel 5.4.0-52-generic), the internal mic started to work with an updated kde sound control applet. Actually that corresponds to a linux kernel switch to SOF (Sound Open Firmware) infrastructure for intel audio. The intel HDA (with underlying Realtek ACL256 for our Acer swift 3 SF314-56) works fine now with new HDMI ouptuts controls (tested on my TV), and 2 new controls for mics (internal digital mic and headphone mic). But I still have an issue for headphone mic. Here an extract of kernel boot that explains the new module mapping :

dmesg | grep snd
[ 5.345758] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[ 5.345974] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[ 5.873767] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC256: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[ 5.873768] snd_hda_codec_realtek ehdaudio0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 5.873769] snd_hda_codec_realtek ehdaudio0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 5.873770] snd_hda_codec_realtek ehdaudio0D0: mono: mono_out=0x0
[ 5.873770] snd_hda_codec_realtek ehdaudio0D0: inputs:
[ 6.136530] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
[ 6.136534] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten
[ 6.136629] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> DMIC48kHz 6 mapping ok
[ 6.136644] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> DMIC16kHz 7 mapping ok
[ 6.136665] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Analog 0 mapping ok
[ 6.136684] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Digital 1 mapping ok
[ 6.136701] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI1 3 mapping ok
[ 6.136714] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI2 4 mapping ok
[ 6.136729] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI3 5 mapping ok

The linux kernel bug resolution history for DMIC on intel HDA is there :

6

@pedro-siqueira's answer perfectly solves this issue without any further side effects On ALC255

Solution :

add

options snd-hda-intel model=alc255-acer,dell-headset-multi

to /etc/modprobe.d/alsa-base.conf

and reboot.

Should work smoothly.

Check this solution out, on a similar question: There is a video tutorial included in it too if you want to see the whole process and results beforehand.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like