5

After upgrading from Linux 5.3 to Linux v5.4.2 on Arch Linux, all of my audio stopped working. The only thing I see in Gnome 3’s Sound settings is “Dummy Output” and aplay --list-pcm says: “No card(s) found.” and running alsactl init says: “alsactl: init:1759: No soundcards found.”

I’ve tried many solutions already.

1
  • spelling : you meant 'alsactl' instead of 'aslactl' – sangorys Sep 6 '20 at 10:29
19

Here is how I was able to resolve this:

  1. sudo vim /etc/default/grub
  2. Find GRUB_CMDLINE_LINUX_DEFAULT and add snd_hda_intel.dmic_detect=0 to the end of it. (ex: GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 snd_hda_intel.dmic_detect=0")
  3. sudo grub-mkconfig -o /boot/grub/grub.cfg
  4. Reboot the system.
9
  • 1
    Any explanation about that option? – Biswapriyo Dec 11 '19 at 18:45
  • 6
    HOW DO I UPVOTE THIS A BILLION TIMES? NOTHING OUT THERE WORKED AND I HAVE BEEN TO GOOGLE'S SECOND PAGE. THIS DID. THAT HOPE IN YOUR NAME MEANS SOMETHING SIR – MiloMinderbinder Mar 21 '20 at 20:01
  • this comment tho ^ – Aviad Apr 7 '20 at 12:45
  • 1
    I had to scour the internet for over 3 days before i found all this and painstakingly pieced it all together. It was excruciating!! – hopeseekr May 26 '20 at 6:51
  • 1
    Works for me, but some people report they put the option in /etc/modprobe.d/alsa-base.conf instead, which seems less invasive than changing the grub configuration? – Bram Oct 5 '20 at 1:50
5

The option snd_hda_intel.dmic_detect=0 is deprecated on newer kernels, you may use snd-intel-dspcfg.dsp_driver=1 instead. But be aware, it's slightly different meaning.

3
  • Still no mic after this, only speakers. Any clue? – RubenCaro Jun 26 '20 at 19:58
  • This literally didn’t work for me. Doing echo snd-intel-dspcfg.dsp_driver=1 > /etc/modprobe.d/alsa.conf. The sound cards are completely undetected still. – hopeseekr Oct 20 '20 at 19:13
  • IIRC, the file I found this is: github.com/torvalds/linux/blob/… When I tested it with some hardware no longer in my possession, I added it as a boot parameter modifying the grub config as described in the accepted answer and did not modify the alsa.conf – CyclingSir Oct 28 '20 at 18:32
1

Above solution by hopeseekr seems to be working for Dell G3 3590 with Nvidia GTX 1650 for newest ubuntu 20.04 installation in Dual Boot mode along with Windows 10. Initially there was no sound and no system brightness controller. I have tried following possible solutions by updating the grub but nothing seems to work :

  1. Updating /etc/default/grub with quiet splash in GRUB_CMDLINE_LINUX_DEFAULT.
  2. Updating /etc/default/grub with nouveau.nomodeset=0 in GRUB_CMDLINE_LINUX.

Checking alsamixer in the the terminal was also not showing Intel sound card. Only Nvidia sound card was detected. This has completely solved the problem. I have been searching for this solution since months. It detects the intel sound card correctly in Ubuntu 18.04 installation but was failing to do so in Ubuntu 20.04.

1

If you want to persist the kernel parameters (for example on Pop_OS!), you'll have to use kernelstub to append the parameter.

Either use sudo kernelstub -a intel-dspcfg.dsp_driver=1 or sudo kernelstub -a snd_hda_intel.dmic_detect=0 (depending on kernel version). Then you can check if it was appended with running the command sudo cat /boot/efi/loader/entries/Pop_Os-current.conf.

If you append the parameter directly it will get overwritten after rebooting.

2
  • What needs to be run after this command for PopOS? I tried running that but I don't know what it's doing or what I should expect. – davidparks21 Nov 1 '20 at 3:27
  • @davidparks21 I added a command to check if it was appended (see above). You can delete it again with the command sudo kernelstub -d intel-dspcfg.dsp_driver=1 or sudo kernelstub -d snd_hda_intel.dmic_detect=0 – armadill013 Nov 2 '20 at 8:55
0

This seems to be caused by the config option SND_HDA_INTEL_DETECT_DMIC being enabled in the 5.4 kernel (https://bugs.archlinux.org/task/64720).

The suggested fix is to undo the change by passing snd_hda_intel.dmic_detect=0 as a kernel parameter, as explained in this answer.

0

Current solution may be that: add snd-intel-dspcfg.dsp_driver=0 in kernel parameters (/boot/grub2/grub.cfg to end of line linux or other places depend of your bootloader)

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.