You are not logged in.

#26 2024-04-03 19:43:04

ioj
Member
Registered: 2024-04-03
Posts: 1

Re: [SOLVED] ALSA: no input through internal microphone (Ryzen 6000)

I also had the same problem on my brand new Thinkpad P14s (AMD) Gen4 Type 21K5, produced in March 2024. Pavucontrol was reporting the internal mic as Microphone (unplugged). I've built the current kernel version 6.8.2-arch2-1 with the following patch (which is kinda borked, a diff adding a separate LENOVO / 21K5 section to the quirks array would be nicer. but anyway):

diff --unified --recursive --text a/sound/soc/amd/yc/acp6x-mach.c b/sound/soc/amd/yc/acp6x-mach.c
--- a/sound/soc/amd/yc/acp6x-mach.c     2024-03-26 23:23:34.000000000 +0100
+++ b/sound/soc/amd/yc/acp6x-mach.c     2024-04-03 11:00:32.610575443 +0200
@@ -56,6 +56,13 @@
                .driver_data = &acp6x_card,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "21K5"),
+               }
+       },
+       {
+               .driver_data = &acp6x_card,
+               .matches = {
+                       DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "21D0"),
                }
        },

Additionally to make it work, I had to turn off ucm as pointed out by others. I've created the following file ~/.config/wireplumber/main.lua.d/50-alsa-config.lua:

alsa_monitor.rules = {
  {
    apply_properties = {
      ["api.alsa.use-ucm"] = false,
    },
  },
}

Many thanks to the posters in this thread, as I would't have come up with the solution on my own, and a working microphone was kind of crucial for me.

Offline

#27 2024-04-05 01:12:31

Keozon
Member
Registered: 2022-08-19
Posts: 1

Re: [SOLVED] ALSA: no input through internal microphone (Ryzen 6000)

ioj wrote:

I also had the same problem on my brand new Thinkpad P14s (AMD) Gen4 Type 21K5, produced in March 2024. Pavucontrol was reporting the internal mic as Microphone (unplugged). I've built the current kernel version 6.8.2-arch2-1 with the following patch (which is kinda borked, a diff adding a separate LENOVO / 21K5 section to the quirks array would be nicer. but anyway):

diff --unified --recursive --text a/sound/soc/amd/yc/acp6x-mach.c b/sound/soc/amd/yc/acp6x-mach.c
--- a/sound/soc/amd/yc/acp6x-mach.c     2024-03-26 23:23:34.000000000 +0100
+++ b/sound/soc/amd/yc/acp6x-mach.c     2024-04-03 11:00:32.610575443 +0200
@@ -56,6 +56,13 @@
                .driver_data = &acp6x_card,
                .matches = {
                        DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "21K5"),
+               }
+       },
+       {
+               .driver_data = &acp6x_card,
+               .matches = {
+                       DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "21D0"),
                }
        },

Additionally to make it work, I had to turn off ucm as pointed out by others. I've created the following file ~/.config/wireplumber/main.lua.d/50-alsa-config.lua:

alsa_monitor.rules = {
  {
    apply_properties = {
      ["api.alsa.use-ucm"] = false,
    },
  },
}

Many thanks to the posters in this thread, as I would't have come up with the solution on my own, and a working microphone was kind of crucial for me.

The above patch also fixed the microphone issue I had with my Z16 gen 2. Also, this patch appears to now be in place in 6.8.3: https://github.com/zen-kernel/zen-kerne … mach.c#L59. It will likely be hitting arch shortly.

Last edited by Keozon (2024-04-05 10:44:30)

Offline

#28 2024-08-04 16:21:51

Matsurbating_Monkey
Member
Registered: 2024-08-04
Posts: 4

Re: [SOLVED] ALSA: no input through internal microphone (Ryzen 6000)

I am having the exact same issue I think.

$ sudo lshw -class multimedia
  *-multimedia              
       description: Audio device
       product: NVIDIA Corporation
       vendor: NVIDIA Corporation
       physical id: 0.1
       bus info: pci@0000:01:00.1
       logical name: card0
       logical name: /dev/snd/controlC0
       logical name: /dev/snd/hwC0D0
       logical name: /dev/snd/pcmC0D3p
       logical name: /dev/snd/pcmC0D7p
       logical name: /dev/snd/pcmC0D8p
       logical name: /dev/snd/pcmC0D9p
       version: a1
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: driver=snd_hda_intel latency=0
       resources: irq:80 memory:fc080000-fc083fff
  *-multimedia:0
       description: Audio device
       product: Renoir Radeon High Definition Audio Controller
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0.1
       bus info: pci@0000:04:00.1
       logical name: card1
       logical name: /dev/snd/controlC1
       logical name: /dev/snd/hwC1D0
       logical name: /dev/snd/pcmC1D3p
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: driver=snd_hda_intel latency=0
       resources: irq:83 memory:fc5c8000-fc5cbfff
  *-multimedia:1 UNCLAIMED
       description: Multimedia controller
       product: ACP/ACP3X/ACP6x Audio Coprocessor
       vendor: Advanced Micro Devices, Inc. [AMD]
       physical id: 0.5
       bus info: pci@0000:04:00.5
       version: 01
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi cap_list
       configuration: latency=0
       resources: memory:fc580000-fc5bffff
  *-multimedia:2
       description: Audio device
       product: Family 17h/19h HD Audio Controller
       vendor: Advanced Micro Devices, Inc. [AMD]
       physical id: 0.6
       bus info: pci@0000:04:00.6
       logical name: card2
       logical name: /dev/snd/controlC2
       logical name: /dev/snd/hwC2D0
       logical name: /dev/snd/pcmC2D0c
       logical name: /dev/snd/pcmC2D0p
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: driver=snd_hda_intel latency=0
       resources: irq:84 memory:fc5c0000-fc5c7fff

I also tried to see the if there were any message in dmesg for this device with

sudo dmesg | grep '\(acp6x\|DMIC\)'

but the there was no output of this command. All this while i was thinking that this ALC285 is my laptop's internal microphone but as pointed out by zdbiohazard that this may be speakers or jack or hdmi so i was may be barking up the wrong tree this whole time and my internal microphone may not have even loaded up by the kernel I am still not 100% sure that this is the reason for my problem. I created a post for this issue here https://bbs.archlinux.org/viewtopic.php?id=298290. PS my laptop is ASUSTeK COMPUTER INC. ROG Zephyrus G14 GA401IHR_GA401IHR

$ uname -a
Linux dusty 6.10.2-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 27 Jul 2024 16:49:55 +0000 x86_64 GNU/Linux

i am even on kernel 6.10 but i think there is no patch for my laptop sad

Offline

#29 2024-11-15 17:05:08

Alni949
Member
Registered: 2024-11-15
Posts: 1

Re: [SOLVED] ALSA: no input through internal microphone (Ryzen 6000)

Thanx guys for information, it works for my Redmi G Pro 16 2022 Ryzen 6800 laptop

First, patched acp6x-mach.c and recompile kernel

diff --git a/sound/soc/amd/yc/acp6x-mach.c b/sound/soc/amd/yc/acp6x-mach.c
index 2436e8deb2be48..1b9834ee5d4612 100644
--- a/sound/soc/amd/yc/acp6x-mach.c
+++ b/sound/soc/amd/yc/acp6x-mach.c
@@ -409,6 +409,13 @@ static const struct dmi_system_id yc_acp_quirk_table[] = {
            DMI_MATCH(DMI_PRODUCT_NAME, "Xiaomi Book Pro 14 2022"),
        }
    },
+    {
+        .driver_data = &acp6x_card,
+        .matches = {
+            DMI_MATCH(DMI_BOARD_VENDOR, "TIMI"),
+            DMI_MATCH(DMI_PRODUCT_NAME, "Redmi G 2022"),
+        }
+    },
    {
        .driver_data = &acp6x_card,
        .matches = {

then add configuration file for wireplumber
/home/user/.config/wireplumber/wireplumber.conf.d/51-alsa-pro-audio.conf
and restart services

monitor.alsa.rules = [
  {
    matches = [
      {
        device.name = "~alsa_card.*"
      }
    ]
    actions = {
      update-props = {
        api.alsa.use-ucm = false,
      }
    }
  }
]

Last edited by Alni949 (2024-11-15 17:41:28)

Offline

Board footer

Powered by FluxBB