Amd Renoir CPU: Microphone not working on Kernel 5.10.5

Heyya,
my Lenovo Laptop(14are05) has a built in microphone. It worked with kernel 5.8(Its on the archwiki, which I cannot link) but after an update yesterday it stopped working. Plugging a pair of headphones with a mic works flawless so this seems to be a driver Problem. I checked if snd-acp3x-rn is loaded with ļsmod | grep snd-acp3x-rn and lsmod | grep snd_acp3x_rn because the output of lsmod seemed to only use underscores. I used modinfo snd-acp3x-rn and got

filename: /lib/modules/5.10.5-1-MANJARO/kernel/sound/soc/amd/renoir/snd-acp3x-rn.ko.xz
alias: platform:acp_pdm_mach
license: GPL v2
author: Vijendar.Mukunda@amd.com
srcversion: 21E53CD338B721CCF49CF00
depends: snd-soc-core
retpoline: Y
intree: Y
name: snd_acp3x_rn
vermagic: 5.10.5-1-MANJARO SMP preempt mod_unload
sig_id: PKCS#7
signer: Build time autogenerated kernel key
sig_key: 15:1D:8E:2E:61:DB:82:5F:01:88:F0:78:C8:51:50:0B:D7:14:5B:B5
sig_hashalgo: sha512
signature: 93:B7:79:41:E8:10:FF:59:9C:F9:B1:0B:1D:45:E4:6D:67:6B:56:01:
02:40:AA:D2:12:53:67:71:B8:BB:AD:DB:14:63:7F:B3:B4:F1:51:E6:
9C:4F:36:B3:82:C3:8E:D8:BE:15:E8:2D:E2:9F:5B:9E:CA:E2:FF:0E:
AB:F1:17:C4:FE:06:B1:55:8B:AE:6A:4A:0D:99:88:EE:5B:B7:07:EE:
2D:38:3A:0C:17:E4:5A:B5:BD:5C:16:90:6D:CA:45:C6:5F:BD:D0:61:
B4:EB:83:9A:3D:EE:C8:F4:8D:4D:6F:27:50:DA:37:1F:0D:F8:94:A9:
B7:22:01:5C:F8:38:C6:EE:00:5C:83:EF:81:A6:CA:A4:11:42:F7:67:
E7:86:2C:7A:B2:13:44:17:99:4B:62:58:C9:8E:3B:1F:7E:C9:B2:7C:
4B:13:FB:9C:82:9E:16:35:E2:80:75:15:D8:28:36:B0:F6:15:12:EC:
BD:51:72:65:27:25:9A:75:25:69:B2:B9:AC:FC:EF:AF:F5:88:87:A0:
85:75:CC:93:78:37:67:98:A8:9D:FE:51:73:67:DE:56:20:34:D1:32:
CA:24:C0:5A:58:A0:47:87:16:6C:B1:F4:6B:A9:BA:BB:68:EA:86:77:
7B:70:29:A8:A9:24:86:5A:46:2E:AD:6F:C2:7F:6C:89:DE:1F:8D:32:
44:36:FD:2C:DF:F3:69:D6:6F:EA:B9:B6:00:E0:3B:98:D5:17:96:C7:
20:A4:89:CF:09:E1:B3:B3:CB:3C:F0:B2:A5:AA:C0:45:A9:E8:4E:42:
29:EB:2A:AD:51:2F:AC:B3:8A:27:67:B6:DC:9D:80:79:50:15:9C:CF:
BB:A7:48:EB:2B:9F:82:1A:85:9F:7D:AC:D6:F1:5B:09:2A:77:03:39:
39:F6:75:51:9E:A2:B7:10:F1:34:00:66:C8:A7:68:44:FB:B8:FA:B6:
04:9D:24:46:5B:E1:DA:E3:03:4B:E4:82:37:94:A5:1E:FD:57:B5:34:
10:66:20:F7:73:85:83:8F:D3:F8:5E:28:27:FA:A5:01:72:B3:27:0F:
58:F7:29:ED:50:58:FC:77:79:21:13:61:23:B3:FD:50:B5:B2:11:71:
E5:03:1E:63:0B:79:30:2E:1C:16:6A:EB:15:8C:31:8C:A7:73:FF:B6:
39:EB:E0:B7:9F:91:48:2A:C9:A5:C0:5E:F7:38:06:4F:E5:6C:6C:BE:
15:AB:88:D5:15:CE:BF:7C:12:86:37:D7:D3:86:BA:DD:C3:47:B6:6A:
7D:43:F6:85:9D:E5:DE:E8:52:98:EF:8A:08:3D:69:F8:24:49:92:DB:
98:BC:DD:5C:4E:10:9D:8D:3B:CB:F0:0B

I will try to load the module but I do not wan’t to do this with every restart. What might be the cause for this?
Edit: Loading the module had no effect, even after loggin out and in again.

are you sure it’s the device driver and not pulseaudio by checking ‘pacmd list-cards’

It should not be pulseaudio since the module for kernel 5.10 is just missing. It exists on kernel 5.9
I am currently running 5.9 but will reboot and get back to you with the command.

Same model, same update, same kernel, same problem.
I’m working on it and will come back if any solution is available.

1 Like

I also experience the same thing in my Lenovo 14are05 (Ryzen 4800u).
I’m using LinuxMint right now and having the same issue (I tried to install manjaro xfce but grub doesn’t install… another topic)
I don’t know if the issue is about the kernel itself; either someone took out the drivers accidentally or intentionally, I don’t know.
Also tried using 5.11.rc4 and mic doesn’t work.

Any idea why this happened?!
Report1|690x380

It’s the kernel update.
I’ve tried 5.9.16 and mic works fine.
Try downgrading your kernel :grinning:

Yes exactly… So the point is we can’t update to the latest kernel. and we may miss a lot of features on it such as power mngt. that now can be read on $ sensors on 5.10.x
also I’m using xanmod-5.10.9; and the problem still persist

Looking for ways how to detect the sound card for 5.10.x (even in 5.11.rcX is not working anymore…)

In one of the openSuse forums, that I’ve read; They say that 5.10.3, the mic still works, but above that, it doesn’t recognize too.

Also there was a patch that I saw but for now, I don’t know if this is true or something that makes the kernel worst. <Search for: Patch “ASoC: AMD Renoir - add DMI table to avoid the ACP mic probe (broken BIOS)” has been added to the 5.10-stable tree>

Kernel v5.10.4 documentation has the patch for IdeaPad Flex 5 14ARE05 and IdeaPad 5 15ARE05
rn-pci-acp3x.c - sound/soc/amd/renoir/rn-pci-acp3x.c - Linux source code (v5.10.4) - Bootlin

I found 2 more patches for other Lenovo models:

This one for Lenovo ThinkPad X395 has been added to kernel v5.10.9
LKML: Greg Kroah-Hartman: [PATCH 5.10 005/152] ASoC: AMD Renoir - add DMI entry for Lenovo ThinkPad X395

This for Lenovo ThinkPad E14 Gen 2 only happened 12hrs ago
LKML: Sasha Levin: [PATCH AUTOSEL 5.10 04/45] ASoC: AMD Renoir - add DMI entry for Lenovo ThinkPad E14 Gen 2

1 Like

Patch for Lenovo Yoga Slim 7 (Ryzen 4800u) is not yet released.
I hope this upcoming 5.10.10 above will fix the issue on this model/unit.

1 Like

Until the mentioned patches are merged you can add snd_rn_pci_acp3x.dmic_acpi_check=1 to GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub . This will force DMIC support.

From the kernel docs of the snd_rn_pci_acp3x module:
/**
* dmic_acpi_check = -1 - Use ACPI/DMI method to detect the DMIC hardware presence at runtime
* = 0 - Skip the DMIC device creation and return probe failure
* = 1 - Force DMIC support
*/

Don’t forget to run $ sudo update-grub afterwards.

1 Like

WOW! You’re a genius!
It works! I’m currently using 5.10.9 right now and my MIC INPUT already recognized!
Thanks Linos… you’re a big help!

Another patch pushed today for IdeaPad Flex 5 14ARE05 and IdeaPad 5 15ARE05 and also now added IdeaPad S340-14API
[PATCH] ASoC: AMD Renoir - refine DMI entries for some Lenovo products

Options to force or disable DMIC could be added as a kernel modprobe option instead of GRUB boot option if a user needed to try different options (or check if a later kernel has been patched)

echo "options snd-rn-pci-acp3x dmic_acpi_check=1" | sudo tee --append /etc/modprobe.d/alsa-dmic.conf
1 Like