[BUG] Microphone detected but not working on 2022 Razer Blade 15 - Fedora 39
Describe the bug While my microphone is detected by my system, when I speak there is not any detection of my voice. Very similar issue to 5989 Left and Right speakers are also inverted. When I test front left in GNOME, I hear it out of the right speaker and vice-versa.
To Reproduce Clean install of Fedora 39
Reproduction Rate All the time
Expected behavior Left/Right speaker channels to be correct and for the microphone to detect speech.
Impact Can't use microphone
Environment
- Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
- Kernel: 6.7.9
- SOF: 2023.12.1-1.fc39
- Name of the topology file
- Topology: Not sure how to find this.
- Name of the platform(s) on which the bug is observed.
- Platform: Intel Alder Lake
Screenshots or console output
Please also include the relevant sections from the firmware log and kernel log in the report (and attach the full logs for complete reference). Kernel log is taken from dmesg and firmware log from sof-logger. See https://thesofproject.github.io/latest/developer_guides/debugability/logger/index.html
alex@fedora:~$ sudo dmesg | grep sof [ 0.037936] software IO TLB: area num 32. [ 1.163521] PCI-DMA: Using software bounce buffering for IO (SWIOTLB) [ 1.163521] software IO TLB: mapped [mem 0x000000002ad91000-0x000000002ed91000] (64MB) [ 1.658015] integrity: Loaded X.509 cert 'Microsoft Corporation UEFI CA 2011: 13adbf4309bd82709c8cd54f316ed522988a1bd4' [ 1.658028] integrity: Loaded X.509 cert 'Microsoft Windows Production PCA 2011: a92902398e16c49778cd90f99e4f9ae17c55af53' [ 20.126971] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100 [ 20.127103] sof-audio-pci-intel-tgl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver [ 20.127114] sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002) [ 20.127342] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100 [ 21.142812] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100 [ 21.142971] sof-audio-pci-intel-tgl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver [ 21.143351] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100 [ 21.144906] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100 [ 21.144994] sof-audio-pci-intel-tgl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver [ 21.145283] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100 [ 21.147205] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915]) [ 21.154253] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode [ 21.249095] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5 [ 21.249099] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now [ 21.249102] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 2 [ 21.271825] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864 [ 21.271829] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0 [ 21.271837] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30 [ 21.380636] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864 [ 21.380649] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0 [ 21.438945] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:0 [ 21.942068] input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1/input22 [ 21.942450] input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1/input23 [ 21.942754] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1/input24 [ 21.942922] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1/input25 [ 21.943075] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1/input26
alex@fedora:~$ sudo inxi -A Audio: Device-1: Intel Alder Lake PCH-P High Definition Audio driver: sof-audio-pci-intel-tgl Device-2: NVIDIA GA106 High Definition Audio driver: snd_hda_intel API: ALSA v: k6.7.9-200.fc39.x86_64 status: kernel-api
please try with the instructions provided here: https://github.com/thesofproject/sof/issues/5989#issuecomment-1176248244
We need to check if there's any sign of life of the 4 channels supported by the hardware. Thanks!
I believe so:
ok so it's likely you have the PDM1 connection instead of the default PDM0 used by 99% of hardware designers.
The solution is here: https://thesofproject.github.io/latest/getting_started/intel_debug/suggestions.html#digital-mic-issues
Please try to add this to a .conf file in /etc/modprobe.d/ and reboot
options snd-sof-pci tplg_filename=sof-hda-generic-2ch-pdm1.tplg
That fixed my mic issue. Apologies for filing this bug, was just led to the previous github issue in my research.
Any suggestions for the left/right speaker inversion?
ok, that's good if the simple option fixes your mic issue.
For the l/r inversion, please double-check if the inversion is only for the speaker, or if you also see it for the headphones. At any rate this isn't something directly managed by the SOF driver proper, all the HDAudio codec handling is done in the sound/pci/hda code by the snd-hda-intel driver.
can you upload the log of 'alsa-info' so that we can take a look at the codec version and configuration?
I can confirm it is just the speakers. Headphones work as expected alsa-info.txt
ok, so clearly it's the amplifier part that's problematic.
I can't really figure out what the configuration is
[ 20.677998] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC274: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[ 20.678006] snd_hda_codec_realtek ehdaudio0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 20.678008] snd_hda_codec_realtek ehdaudio0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 20.678010] snd_hda_codec_realtek ehdaudio0D0: mono: mono_out=0x0
[ 20.678011] snd_hda_codec_realtek ehdaudio0D0: inputs:
[ 20.678013] snd_hda_codec_realtek ehdaudio0D0: Mic=0x19
maybe @tiwai can help, I don't really know how to detect speaker/channel inversions from such logs.
I'll close this issue since the microphone problem was solved.
Speaker inversions need to be tracked separately.