Bug 1772498

Summary: Enable Sound Open Firmware (SOF) driver in Fedora for the recent Intel hardware
Product: [Fedora] Fedora Reporter: ryan <ryan>
Component: kernelAssignee: Jaroslav Kysela <jkysela>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 31CC: a.durglishvili, airlied, andersk, asogukpi, bberg, bernie+fedora, bskeggs, c.justin88, dahfizz, dan, david.ward, denzil.ferreira, dovla091, dpawlik, dquinone, dtantsur, dwrobel, egcp, fattony4, fmartine, gustaf, hdegoede, ichavero, itamar, jarodwilson, jcline, jeremy, jforbes, jglisse, jkysela, john.j5live, jonathan, josef, kernel-maint, kxra, labbott, leqthai406, linville, lmiccini, lmiksik, mailings, masami256, mchehab, m.frueauff, mjg59, pachoramos1, peppermount, pfpschneider, pyuan, radikaled, rb, redhat, redhat-bugs, robert.hancock, ruben.caro.estevez, steved, stuart, tomastrnka, trees, umar, walter, wtaymans, yxl_22, zogar5
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: kernel-5.5.6-201.fc31 kernel-5.5.7-100.fc30 kernel-5.5.7-200.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-02-29 03:21:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1750194    
Bug Blocks:    
Attachments:
Description Flags
alsa-info from ThinkPad X1 Yoga Gen 4 20SA000KUS
none
alsainfo.sh with 5.4-alsa8 kernel from Lenovo X1Y4 20QF
none
alsa-info.sh output for Lenovo Yoga C940
none
HP Spectre - Alsa
none
PA log with 5.5rc4 kernel
none
dmesg output with firmware loading
none
system log extract on successful SOF boot
none
system log extract on successful SOF boot
none
kernel-5.4.18-200.fc31.x86_64 - faild to initiate sound - syslog
none
alsa-info.sh for unsuccessful boot on Lenovo Yoga C940 with kernel 5.4.17-200.fc31.x86_64+debug
none
alsa-info.sh for successful boot on Lenovo Yoga C940 with kernel 5.4.17-200.fc31.x86_64+debug
none
alsa-info-Lenovo-Yoga-C740-14IML-kernel-5.5.8-200.fc31.txt none

Description ryan@testtoast.com 2019-11-14 14:01:24 UTC
1. Please describe the problem:

Most new Intel laptops embed Xtensa or other audio DSPs now supported by the Sound Open Firmware project (sofproject.org). For example, the Lenovo Carbon X1 Gen 7 and Yoga Gen 4 require this new firmware and kernel/ALSA support to enable directional microphone support and proper speaker configuration. ALSA 1.2.1 (in FC31 updates-testing as of yesterday) adds the firmware, topology and UCM files required to enable this in user-space, however kernel support is not enabled. 

This support is included in the 5.3 kernel under the flag CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL. It is being developed at https://github.com/thesofproject/linux/tree/topic/sof-dev but is upstream in 5.3,


2. What is the Version-Release number of the kernel:

5.3.11-300.fc31.x86_64

3. Did it work previously in Fedora? If so, what kernel version did the issue
   *first* appear?  Old kernels are available for download at
   https://koji.fedoraproject.org/koji/packageinfo?packageID=8 :

Not with release kernels, but works well with corresponding ALSA support and 5.3/5.4 custom built kernel.


4. Can you reproduce this issue? If so, please provide the steps to reproduce
   the issue below:

Install ALSA 1.2.1 firmware/libs and check whether SOF firmware is loaded. dmesg shows:

[   31.796631] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[   31.840141] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver

Comment 1 Laura Abbott 2019-11-14 14:25:06 UTC
We had to turn it off due to regressions https://bugzilla.redhat.com/show_bug.cgi?id=1750194

We do intend to turn it back on when a fix comes in to 5.5

Comment 2 ryan@testtoast.com 2019-11-14 19:07:15 UTC
I guess that's my point, enabling this option previously broke sound precisely because the SOF firmware wasn't previously provided with ALSA, however as of ALSA 1.2.1 it is packaged in alsa-firmware. Reading between the lines of the upstream bug (https://bugzilla.kernel.org/show_bug.cgi?id=204237#c11) this was the issue for the Broadwell platform initially reported. 

Since I believe it is now possible to selectively enable SOF for Skylake+ platforms (and also I think the Broadwell bug has been fixed) it would be good to have those Kconfig changes upstream backported. Kernel 5.5 seems a long time to wait for the fixes, given there is a reasonable community running on these new laptops (https://forums.lenovo.com/t5/Ubuntu/Guide-X1-Carbon-7th-Generation-Ubuntu-compatability/td-p/4489823) who will have a bad out-of-box experience with no microphone support. I can roll my own kernel and enable support. but not everyone will be able to.

Comment 3 Laura Abbott 2019-11-14 19:22:17 UTC
According to one of the developers there's still more work to do https://bugzilla.redhat.com/show_bug.cgi?id=1750194#c13 . Given we've had one regression already I'd like to proceed carefully before turning it back on.

I mentioned 5.5 because I didn't expect patches to make it into 5.4 and the stable Fedora releases will be rebased to 5.4 sometime in December. We can bring in patches a) are queued up in the sound maintainer's tree for inclusion b) apply cleanly to 5.4 c) don't cause any regressions for other sound system.

Comment 4 ryan@testtoast.com 2019-11-14 19:38:25 UTC
I read his comments as more about the drivers being mutually exclusive (which I agree is a problem, but I imagine no-one with Cannon Lake or above HW is going to want to use the old SST driver and would think non-working sound is more of a problem) than the SOF driver not working. 

Thanks for the consideration of an earlier backport though, obviously you guys know what you're doing and avoiding regressions is also important. Happy to close this one for now if its covered in the other bug reports.

Comment 5 Jaroslav Kysela 2019-11-14 19:53:29 UTC
I am working on this. I prepared the user space (alsa-lib/alsa-ucm/alsa-firmware version 1.2.1) as the first step with the SOF firmware and the UCM configs. I will prepare also a patched kernel to get things working. But as Laura noted, we need some patches from 5.5 or backport a lot of patches from 5.4 + 5.5. It might make sense to wait for 5.4. I will keep you updated.

Comment 6 Jaroslav Kysela 2019-11-14 19:56:30 UTC
(In reply to ryan from comment #4)
> I read his comments as more about the drivers being mutually exclusive (which I agree is a problem, but I imagine no-one with Cannon Lake or above HW is going to want to use the old SST driver and would think non-working sound is more of a problem) than the SOF driver not working. 

Yes, we need to enable only a set of Intel SOF drivers for the newer hardware. I just wanted to have an option to have all drivers in the kernel to let users select the right one, if there is no possibility to do it in an automatic way.

Comment 7 ryan@testtoast.com 2019-11-14 20:04:13 UTC
Thanks Jaroslav, glad to hear things are moving forward. The ALSA 1.2.1 user-space is working very well for me anyway with a 5.4-rc7 kernel.

Comment 8 Dan Aharon 2019-11-18 07:33:19 UTC
*** Bug 1773180 has been marked as a duplicate of this bug. ***

Comment 9 Jaroslav Kysela 2019-11-19 08:39:19 UTC
Okay, I will use this bug as the main tracking bug to enable the SOF driver in Fedora.

As noted, ALSA 1.2.1+ packages (alsa-ucm-1.2.1, alsa-firmware-1.2.1) are required to get things (pulseaudio) working.

The test kernel build is here: https://koji.fedoraproject.org/koji/taskinfo?taskID=39088821

It works on Lenovo Thinkpad Carbon X1 7th gen (both analog and HDMI outputs). Please, let me know the result of your tests.

Kernel configuration (5.4 kernel with 5.5 backports):

CONFIG_SND_SOC_AC97_CODEC=m
CONFIG_SND_SOC_ADAU1761_I2C=m
CONFIG_SND_SOC_ADAU1761_SPI=m
CONFIG_SND_SOC_ADAU7002=m
CONFIG_SND_SOC_AK5558=m
CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_ACP3x=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
CONFIG_SND_SOC_BD28623=m
CONFIG_SND_SOC_CROS_EC_CODEC=m
CONFIG_SND_SOC_CS35L34=m
CONFIG_SND_SOC_CS35L35=m
CONFIG_SND_SOC_CS35L36=m
CONFIG_SND_SOC_CS42L42=m
CONFIG_SND_SOC_CS43130=m
CONFIG_SND_SOC_CX2072X=m
CONFIG_SND_SOC_DMIC=m
CONFIG_SND_SOC_ES7134=m
CONFIG_SND_SOC_ES8316=m
CONFIG_SND_SOC_ES8328_I2C=m
CONFIG_SND_SOC_ES8328=m
CONFIG_SND_SOC_ES8328_SPI=m
CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
CONFIG_SND_SOC_HDAC_HDA=m
CONFIG_SND_SOC_HDAC_HDMI=m
CONFIG_SND_SOC_HDMI_CODEC=m
CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m
CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m
CONFIG_SND_SOC_INTEL_BXT_RT298_MACH=m
CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m
CONFIG_SND_SOC_INTEL_BYT_CHT_CX2072X_MACH=m
CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m
CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH=m
CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=m
CONFIG_SND_SOC_INTEL_CML_H=m
CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m
CONFIG_SND_SOC_INTEL_CML_LP=m
CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH=m
CONFIG_SND_SOC_INTEL_HASWELL=m
CONFIG_SND_SOC_INTEL_HASWELL_MACH=m
CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
CONFIG_SND_SOC_INTEL_CHT_BSW_NAU8824_MACH=m
CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98357A_MACH=m
CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98927_MACH=m
CONFIG_SND_SOC_INTEL_KBL_RT5660_MACH=m
CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH=m
CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH=m
CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m
CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=m
CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m
CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
CONFIG_SND_SOC_INTEL_SKYLAKE=m
CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m
CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y
CONFIG_SND_SOC_MAX9759=m
CONFIG_SND_SOC_MAX98088=m
CONFIG_SND_SOC_MAX98373=m
CONFIG_SND_SOC_MAX9867=m
CONFIG_SND_SOC_MAX98927=m
CONFIG_SND_SOC_NAU8540=m
CONFIG_SND_SOC_NAU8824=m
CONFIG_SND_SOC_PCM1789_I2C=m
CONFIG_SND_SOC_PCM186X_I2C=m
CONFIG_SND_SOC_PCM186X_SPI=m working).

CONFIG_SND_SOC_PCM3060_I2C=m
CONFIG_SND_SOC_PCM3060_SPI=m
CONFIG_SND_SOC_RL6231=m
CONFIG_SND_SOC_RT5660=m
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
CONFIG_SND_SOC_SOF_ACPI=m
CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_CANNONLAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_COMETLAKE_H_SUPPORT=y
CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y
CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y
CONFIG_SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y
CONFIG_SND_SOC_SOF_HDA_LINK=y
CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT=y
CONFIG_SND_SOC_SOF_PCI=m
CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_TOPLEVEL=y
CONFIG_SND_SOC_SPDIF=m
CONFIG_SND_SOC_SSM4567=m
CONFIG_SND_SOC_TAS6424=m
CONFIG_SND_SOC_TDA7419=m
CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
CONFIG_SND_SOC_TSCS42XX=m
CONFIG_SND_SOC_TS3A227E=m
CONFIG_SND_SOC_WM8524=m

Kernel patch (5.5 backports for 5.4): http://people.redhat.com/~jkysela/sof/fedora-sof-v1.patch

Comment 10 Jaroslav Kysela 2019-11-19 08:41:44 UTC
*** Bug 1759432 has been marked as a duplicate of this bug. ***

Comment 11 ryan@testtoast.com 2019-11-19 09:50:50 UTC
Thanks again Jaroslav, analog build works great without DMIC or other regressions on my X1 Yoga Gen 4. Will your patches apply cleanly to the 5.4 rc8 upstream?

Comment 12 Jaroslav Kysela 2019-11-19 15:42:55 UTC
Update: The new test kernel based on 5.4-rc8 is available here: https://koji.fedoraproject.org/koji/taskinfo?taskID=39096539

The patch: http://people.redhat.com/~jkysela/sof/fedora-sof-v1-5.4-rc8.patch
The old rc6 patch was renamed to: http://people.redhat.com/~jkysela/sof/fedora-sof-v1-5.4-rc6.patch

I'm building alsa-lib-1.2.1.1-1 package with fixes for other ucm hardware. The DMIC (SOF) hardware is not affected, but broadwell-rt286 users (SST drivers) are affected.

Comment 13 ryan@testtoast.com 2019-11-19 17:05:20 UTC
I haven't tested your new -rc8 kernel however applied to the upstream kernel and built with my usual kernel config and no regression compared to the -rc6 build.

Only other SOF issue is that Pulseaudio doesn't seem to support HW volume control with SOF currently.

Comment 14 David Ward 2019-11-20 05:39:04 UTC
(In reply to Jaroslav Kysela from comment #12)
> Update: The new test kernel based on 5.4-rc8 is available here:
> https://koji.fedoraproject.org/koji/taskinfo?taskID=39096539

With this test kernel, sound is still working on Broadwell with the Dell Latitude 7350.


Note: this is a separate issue, but microphone jack detection in ALSA does not work on this platform, and hasn't for a long time. Using alsamixer, on the broadwell-rt286 card I have to manually set ADC 0 Mux to "DMIC" (as specified in the "Mainmic" profile, versus the selected "Handset" profile). Then I also have to increase the "Mic" volume from 0% (versus the "AMIC" volume, set by default to 22%), even though the microphone level in PulseAudio is set at the maximum. At this point the microphone will work in addition to the speakers.

Comment 15 Jaroslav Kysela 2019-11-21 12:32:03 UTC
(In reply to David Ward from comment #14)
> ... Broadwell with the Dell Latitude 7350.
> 
> Note: this is a separate issue, but microphone jack detection in ALSA does
> not work on this platform, and hasn't for a long time. Using alsamixer, on
> the broadwell-rt286 card I have to manually set ADC 0 Mux to "DMIC" (as
> specified in the "Mainmic" profile, versus the selected "Handset" profile).
> Then I also have to increase the "Mic" volume from 0% (versus the "AMIC"
> volume, set by default to 22%), even though the microphone level in
> PulseAudio is set at the maximum. At this point the microphone will work in
> addition to the speakers.

Please, could you create a new issue for this (alsa-lib package)? Attach 'alsa-info.sh --no-upload' contents. 
It may be problem with the UCM configuration for your particular hw.

Comment 16 zogar5 2019-11-21 23:11:49 UTC
With your rc8 build sound is non-functional on my hardware.


[    5.793409] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    5.793702] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    5.793718] sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
[    5.794122] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
[    5.794148] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    5.794416] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[    5.794775] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    5.799105] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[    5.799109] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    6.804322] sof-audio-pci 0000:00:1f.3: error: codec #2 probe error, ret: -5
[    6.808731] sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
[    6.808735] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[    9.877648] sof-audio-pci 0000:00:1f.3: error: cl_copy_fw: timeout HDA_DSP_SRAM_REG_ROM_STATUS read
[    9.878144] sof-audio-pci 0000:00:1f.3: error: load fw failed ret: -110
[    9.878161] sof-audio-pci 0000:00:1f.3: error: status = 0x0000002c panic = 0x00000000
[    9.878166] sof-audio-pci 0000:00:1f.3: error: failed to reset DSP
[    9.878167] sof-audio-pci 0000:00:1f.3: error: failed to boot DSP firmware -110
[    9.878167] sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -110


upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.64
!!################################

!!Script ran on: Thu Nov 21 22:31:34 UTC 2019


!!Linux Distribution
!!------------------

Fedora release 31 (Thirty One) NAME=Fedora ID=fedora PRETTY_NAME="Fedora 31 (Workstation Edition)" LOGO=fedora-logo-icon CPE_NAME="cpe:/o:fedoraproject:fedora:31" HOME_URL="https://fedoraproject.org/" DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f31/system-administrators-guide/" SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=31 REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=31 PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" Fedora release 31 (Thirty One) Fedora release 31 (Thirty One)


!!DMI Information
!!---------------

Manufacturer:      Acer
Product Name:      Swift SF314-57G
Product Version:   V1.07
Firmware Version:  V1.07
Board Vendor:      IL
Board Name:        Floris_IL


!!ACPI Device Status Information
!!---------------

/sys/bus/acpi/devices/10251229:00/status 	 15
/sys/bus/acpi/devices/ACPI0003:00/status 	 15
/sys/bus/acpi/devices/ACPI000C:00/status 	 15
/sys/bus/acpi/devices/INT0E0C:00/status 	 15
/sys/bus/acpi/devices/INT33A1:00/status 	 15
/sys/bus/acpi/devices/INT33D5:00/status 	 15
/sys/bus/acpi/devices/INT3400:00/status 	 15
/sys/bus/acpi/devices/INT3403:00/status 	 15
/sys/bus/acpi/devices/INT3403:01/status 	 15
/sys/bus/acpi/devices/INT3403:02/status 	 15
/sys/bus/acpi/devices/INT3403:03/status 	 15
/sys/bus/acpi/devices/INT3403:04/status 	 15
/sys/bus/acpi/devices/INT3403:05/status 	 15
/sys/bus/acpi/devices/INT340E:00/status 	 15
/sys/bus/acpi/devices/INT3455:00/status 	 15
/sys/bus/acpi/devices/INT3F0D:00/status 	 15
/sys/bus/acpi/devices/INTC5000:00/status 	 15
/sys/bus/acpi/devices/LNXPOWER:00/status 	 1
/sys/bus/acpi/devices/LNXPOWER:01/status 	 1
/sys/bus/acpi/devices/LNXPOWER:02/status 	 1
/sys/bus/acpi/devices/LNXPOWER:03/status 	 1
/sys/bus/acpi/devices/LNXPOWER:04/status 	 1
/sys/bus/acpi/devices/LNXPOWER:05/status 	 1
/sys/bus/acpi/devices/LNXPOWER:06/status 	 1
/sys/bus/acpi/devices/LNXPOWER:07/status 	 1
/sys/bus/acpi/devices/LNXPOWER:08/status 	 1
/sys/bus/acpi/devices/LNXVIDEO:01/status 	 15
/sys/bus/acpi/devices/MSFT0001:00/status 	 15
/sys/bus/acpi/devices/PNP0103:00/status 	 15
/sys/bus/acpi/devices/PNP0C02:02/status 	 3
/sys/bus/acpi/devices/PNP0C02:04/status 	 3
/sys/bus/acpi/devices/PNP0C09:00/status 	 15
/sys/bus/acpi/devices/PNP0C0A:00/status 	 31
/sys/bus/acpi/devices/PNP0C0D:00/status 	 15
/sys/bus/acpi/devices/PNP0C0E:00/status 	 11
/sys/bus/acpi/devices/PRP00001:00/status 	 11
/sys/bus/acpi/devices/SYNA7DAB:00/status 	 15
/sys/bus/acpi/devices/USBC000:00/status 	 15
/sys/bus/acpi/devices/device:19/status 	 15
/sys/bus/acpi/devices/device:8e/status 	 15
/sys/bus/acpi/devices/device:95/status 	 15
/sys/bus/acpi/devices/device:97/status 	 15


!!Kernel Information
!!------------------

Kernel release:    5.4.0-0.rc8.git0.1.alsa4.fc31.x86_64
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         x86_64
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     k5.4.0-0.rc8.git0.1.alsa4.fc31.x86_64
Library version:    
Utilities version:  1.2.1


!!Loaded ALSA modules
!!-------------------



!!Sound Servers on this system
!!----------------------------

Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - Yes


!!Soundcards recognised by ALSA
!!-----------------------------

--- no soundcards ---


!!PCI Soundcards installed in the system
!!--------------------------------------

00:1f.3 Multimedia audio controller: Intel Corporation Device 34c8 (rev 30)


!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!-------------------------------------------------------

00:1f.3 0401: 8086:34c8 (rev 30)
	Subsystem: 1025:1407


!!Loaded sound module options
!!---------------------------


!!ALSA Device nodes
!!-----------------

crw-rw----+ 1 root audio 116,  1 Nov 22 00:26 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Nov 22 00:26 /dev/snd/timer


!!ALSA configuration files
!!------------------------

!!System wide config file (/etc/asound.conf)

#
# Place your global alsa-lib configuration here...
#


!!Aplay/Arecord output
!!--------------------

APLAY

aplay: device_list:272: no soundcards found...

ARECORD

arecord: device_list:272: no soundcards found...

!!Amixer output
!!-------------


!!Alsactl output
!!--------------

--startcollapse--
--endcollapse--


!!All Loaded Modules
!!------------------

Module
rfcomm
ccm
nouveau
mxm_wmi
ttm
xt_CHECKSUM
xt_MASQUERADE
nf_nat_tftp
nf_conntrack_tftp
tun
bridge
stp
llc
nf_conntrack_netbios_ns
nf_conntrack_broadcast
xt_CT
ip6t_REJECT
nf_reject_ipv6
ip6t_rpfilter
ipt_REJECT
nf_reject_ipv4
xt_conntrack
ebtable_nat
ebtable_broute
ip6table_nat
ip6table_mangle
ip6table_raw
ip6table_security
iptable_nat
nf_nat
iptable_mangle
iptable_raw
iptable_security
nf_conntrack
nf_defrag_ipv6
nf_defrag_ipv4
ip_set
nfnetlink
ebtable_filter
ebtables
ip6table_filter
ip6_tables
iptable_filter
cmac
bnep
sunrpc
vfat
fat
btusb
btrtl
btbcm
btintel
uvcvideo
bluetooth
videobuf2_vmalloc
videobuf2_memops
videobuf2_v4l2
videobuf2_common
videodev
mc
ecdh_generic
ecc
snd_soc_dmic
snd_sof_pci
snd_sof_intel_byt
snd_sof_intel_ipc
snd_sof_xtensa_dsp
snd_sof_intel_hda_common
snd_soc_hdac_hda
snd_sof_intel_hda
snd_sof
x86_pkg_temp_thermal
snd_hda_ext_core
intel_powerclamp
snd_soc_acpi_intel_match
coretemp
snd_soc_acpi
kvm_intel
snd_soc_core
snd_compress
joydev
ac97_bus
kvm
snd_pcm_dmaengine
ledtrig_audio
snd_hda_intel
irqbypass
snd_intel_dspcfg
spi_pxa2xx_platform
crct10dif_pclmul
snd_hda_codec
dw_dmac
iTCO_wdt
crc32_pclmul
mei_hdcp
iwlmvm
hid_multitouch
iTCO_vendor_support
intel_rapl_msr
snd_hda_core
ghash_clmulni_intel
snd_hwdep
intel_cstate
mac80211
intel_uncore
snd_seq
snd_seq_device
intel_rapl_perf
snd_pcm
libarc4
pcspkr
snd_timer
intel_wmi_thunderbolt
iwlwifi
snd
acer_wmi
wmi_bmof
soundcore
i2c_i801
cfg80211
mei_me
mei
ucsi_acpi
processor_thermal_device
intel_lpss_pci
typec_ucsi
intel_rapl_common
intel_lpss
thunderbolt
rfkill
intel_soc_dts_iosf
typec
idma64
int3403_thermal
acer_wireless
int340x_thermal_zone
intel_hid
int3400_thermal
sparse_keymap
acpi_thermal_rel
acpi_pad
ip_tables
btrfs
libcrc32c
xor
zstd_decompress
zstd_compress
raid6_pq
i915
i2c_algo_bit
drm_kms_helper
drm
nvme
crc32c_intel
nvme_core
serio_raw
i2c_hid
wmi
video
pinctrl_icelake
pinctrl_intel
fuse


!!ALSA/HDA dmesg
!!--------------

[    0.273224] ACPI: Added _OSI(Linux-Dell-Video)
[    0.273224] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    0.273224] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
--
[    2.467455] pci 0000:2b:00.0: reg 0x30: [mem 0xfff80000-0xffffffff pref]
[    2.467473] pci 0000:2b:00.0: Enabling HDA controller
[    2.467668] pci 0000:00:1c.0: PCI bridge to [bus 2b]
--
[    5.539892] iwlwifi 0000:00:14.3: Allocated 0x00400000 bytes for firmware monitor.
[    5.571341] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    5.571530] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    5.602312] input: SYNA7DAB:00 06CB:CD40 Mouse as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-13/i2c-SYNA7DAB:00/0018:06CB:CD40.0003/input/input19
--
[    5.794775] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    5.799105] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[    5.799109] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    6.387060] mc: Linux media interface: v0.10
--
[    8.305752] virbr0: port 1(virbr0-nic) entered disabled state
[    9.877648] sof-audio-pci 0000:00:1f.3: error: cl_copy_fw: timeout HDA_DSP_SRAM_REG_ROM_STATUS read
[    9.878144] sof-audio-pci 0000:00:1f.3: error: load fw failed ret: -110


**************************** alsa info with stock 5.3.11 kernel

upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.64
!!################################

!!Script ran on: Thu Nov 21 22:53:34 UTC 2019


!!Linux Distribution
!!------------------

Fedora release 31 (Thirty One) NAME=Fedora ID=fedora PRETTY_NAME="Fedora 31 (Workstation Edition)" LOGO=fedora-logo-icon CPE_NAME="cpe:/o:fedoraproject:fedora:31" HOME_URL="https://fedoraproject.org/" DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f31/system-administrators-guide/" SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=31 REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=31 PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" Fedora release 31 (Thirty One) Fedora release 31 (Thirty One)


!!DMI Information
!!---------------

Manufacturer:      Acer
Product Name:      Swift SF314-57G
Product Version:   V1.07
Firmware Version:  V1.07
Board Vendor:      IL
Board Name:        Floris_IL


!!ACPI Device Status Information
!!---------------

/sys/bus/acpi/devices/10251229:00/status 	 15
/sys/bus/acpi/devices/ACPI0003:00/status 	 15
/sys/bus/acpi/devices/ACPI000C:00/status 	 15
/sys/bus/acpi/devices/INT0E0C:00/status 	 15
/sys/bus/acpi/devices/INT33A1:00/status 	 15
/sys/bus/acpi/devices/INT33D5:00/status 	 15
/sys/bus/acpi/devices/INT3400:00/status 	 15
/sys/bus/acpi/devices/INT3403:00/status 	 15
/sys/bus/acpi/devices/INT3403:01/status 	 15
/sys/bus/acpi/devices/INT3403:02/status 	 15
/sys/bus/acpi/devices/INT3403:03/status 	 15
/sys/bus/acpi/devices/INT3403:04/status 	 15
/sys/bus/acpi/devices/INT3403:05/status 	 15
/sys/bus/acpi/devices/INT340E:00/status 	 15
/sys/bus/acpi/devices/INT3455:00/status 	 15
/sys/bus/acpi/devices/INT3F0D:00/status 	 15
/sys/bus/acpi/devices/INTC5000:00/status 	 15
/sys/bus/acpi/devices/LNXPOWER:00/status 	 1
/sys/bus/acpi/devices/LNXPOWER:01/status 	 1
/sys/bus/acpi/devices/LNXPOWER:02/status 	 1
/sys/bus/acpi/devices/LNXPOWER:03/status 	 1
/sys/bus/acpi/devices/LNXPOWER:04/status 	 1
/sys/bus/acpi/devices/LNXPOWER:05/status 	 1
/sys/bus/acpi/devices/LNXPOWER:06/status 	 1
/sys/bus/acpi/devices/LNXPOWER:07/status 	 1
/sys/bus/acpi/devices/LNXPOWER:08/status 	 1
/sys/bus/acpi/devices/LNXVIDEO:01/status 	 15
/sys/bus/acpi/devices/MSFT0001:00/status 	 15
/sys/bus/acpi/devices/PNP0103:00/status 	 15
/sys/bus/acpi/devices/PNP0C02:02/status 	 3
/sys/bus/acpi/devices/PNP0C02:04/status 	 3
/sys/bus/acpi/devices/PNP0C09:00/status 	 15
/sys/bus/acpi/devices/PNP0C0A:00/status 	 31
/sys/bus/acpi/devices/PNP0C0D:00/status 	 15
/sys/bus/acpi/devices/PNP0C0E:00/status 	 11
/sys/bus/acpi/devices/PRP00001:00/status 	 11
/sys/bus/acpi/devices/SYNA7DAB:00/status 	 15
/sys/bus/acpi/devices/USBC000:00/status 	 15
/sys/bus/acpi/devices/device:19/status 	 15
/sys/bus/acpi/devices/device:8e/status 	 15
/sys/bus/acpi/devices/device:95/status 	 15
/sys/bus/acpi/devices/device:97/status 	 15


!!Kernel Information
!!------------------

Kernel release:    5.3.11-300.fc31.x86_64
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         x86_64
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     k5.3.11-300.fc31.x86_64
Library version:    
Utilities version:  1.2.1


!!Loaded ALSA modules
!!-------------------

snd_hda_intel


!!Sound Servers on this system
!!----------------------------

Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - Yes


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0x601d160000 irq 149


!!PCI Soundcards installed in the system
!!--------------------------------------

00:1f.3 Multimedia audio controller: Intel Corporation Device 34c8 (rev 30)


!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!-------------------------------------------------------

00:1f.3 0401: 8086:34c8 (rev 30)
	Subsystem: 1025:1407


!!Loaded sound module options
!!---------------------------

!!Module: snd_hda_intel
	align_buffer_size : -1
	bdl_pos_adj : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	beep_mode : N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
	enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
	enable_msi : -1
	id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	jackpoll_ms : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
	pm_blacklist : Y
	position_fix : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	power_save : 0
	power_save_controller : N
	probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
	probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	single_cmd : -1
	snoop : -1


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Conexant Generic
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x14f120d0
Subsystem Id: 0x10251407
Revision Id: 0x100001
No Modem Function Group found
Default PCM:
    rates [0x540]: 48000 96000 192000
    bits [0xa]: 16 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D1 D2 D3 D3cold S3D3cold CLKSTOP EPSS
  Power: setting=D0, actual=D0
GPIO: io=8, o=0, i=0, unsolicited=1, wake=1
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[5]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[6]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[7]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x10 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="Generic Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-Out vals:  [0x80 0x80]
  Converter: stream=1, channel=0
  PCM:
    rates [0x540]: 48000 96000 192000
    bits [0xa]: 16 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x11 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-Out vals:  [0x3e 0x3e]
  Converter: stream=1, channel=0
  PCM:
    rates [0x540]: 48000 96000 192000
    bits [0xa]: 16 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x12 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
  Amp-Out caps: ofs=0x07, nsteps=0x07, stepsize=0x0f, mute=0
  Amp-Out vals:  [0x03]
Node 0x13 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Control: name="Capture Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Control: name="Capture Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=1, ofs=0
  Device: name="Generic Analog", type="Audio", device=0
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
  Amp-In vals:  [0x80 0x80] [0x50 0x50] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Converter: stream=1, channel=0
  SDI-Select: 0
  PCM:
    rates [0x540]: 48000 96000 192000
    bits [0xa]: 16 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 5
     0x18 0x19* 0x1a 0x15 0x1f
Node 0x14 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
  Amp-In vals:  [0x4a 0x4a] [0x4a 0x4a] [0x4a 0x4a]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x540]: 48000 96000 192000
    bits [0xa]: 16 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 3
     0x1a* 0x1f 0x15
Node 0x15 [Vendor Defined Widget] wcaps 0xf0050b: Stereo Amp-In
  Amp-In caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-In vals:  [0x4a 0x4a] [0x4a 0x4a]
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x10* 0x11
Node 0x16 [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x0001001c: OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x04211040: [Jack] HP Out at Ext Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x4, Sequence = 0x0
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=01, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x10* 0x11
Node 0x17 [Pin Complex] wcaps 0x400501: Stereo
  Pincap 0x00010010: OUT EAPD
  EAPD 0x2: EAPD
  Pin Default 0x91170110: [Fixed] Speaker at Int Rear
    Conn = Analog, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x10 0x11*
Node 0x18 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00001324: IN Detect
    Vref caps: HIZ 50 80
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x19 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Control: name="Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x03 0x03]
  Pincap 0x00001324: IN Detect
    Vref caps: HIZ 50 80
  Pin Default 0x04a11030: [Jack] Mic at Ext Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x3, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=02, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1a [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000024: IN Detect
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1b [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1d [Pin Complex] wcaps 0x400581: Stereo
  Pincap 0x0001001c: OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x22
Node 0x1e [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000024: IN Detect
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1f [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x20 [Audio Output] wcaps 0x611: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x540]: 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x21 [Pin Complex] wcaps 0x400701: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x20
Node 0x22 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-Out vals:  [0x4a 0x4a]
  Converter: stream=0, channel=0
  PCM:
    rates [0x540]: 48000 96000 192000
    bits [0xa]: 16 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x23 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1
  Amp-Out vals:  [0x4a 0x4a]
  Converter: stream=0, channel=0
  PCM:
    rates [0x540]: 48000 96000 192000
    bits [0xa]: 16 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x24 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
  Amp-In vals:  [0x4a 0x4a]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x540]: 48000 96000 192000
    bits [0xa]: 16 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x1e
Node 0x25 [Audio Input] wcaps 0x100d1b: Stereo Amp-In R/L
  Amp-In caps: ofs=0x4a, nsteps=0x50, stepsize=0x03, mute=1
  Amp-In vals:  [0x4a 0x4a]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x540]: 48000 96000 192000
    bits [0xa]: 16 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x27
Node 0x26 [Pin Complex] wcaps 0x400501: Stereo
  Pincap 0x00010010: OUT EAPD
  EAPD 0x2: EAPD
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x23
Node 0x27 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x40f001f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x28 [Vendor Defined Widget] wcaps 0xf00000: Mono
Codec: Intel Icelake HDMI
Address: 2
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x8086280f
Subsystem Id: 0x80860101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0, Clock-stop-OK
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x03 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x04 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 1
     0x03
Node 0x05 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 2
     0x03 0x05
Node 0x07 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x08 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 3
     0x03 0x05 0x07
Node 0x09 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x0a [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 4
     0x03 0x05 0x07 0x09
Node 0x0b [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 4
     0x03 0x05 0x07 0x09
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw----+ 1 root audio 116, 13 Nov 22 00:53 /dev/snd/controlC0
crw-rw----+ 1 root audio 116, 11 Nov 22 00:53 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116, 12 Nov 22 00:53 /dev/snd/hwC0D2
crw-rw----+ 1 root audio 116,  3 Nov 22 00:53 /dev/snd/pcmC0D0c
crw-rw----+ 1 root audio 116,  2 Nov 22 00:53 /dev/snd/pcmC0D0p
crw-rw----+ 1 root audio 116,  8 Nov 22 00:53 /dev/snd/pcmC0D10p
crw-rw----+ 1 root audio 116,  9 Nov 22 00:53 /dev/snd/pcmC0D11p
crw-rw----+ 1 root audio 116, 10 Nov 22 00:53 /dev/snd/pcmC0D12p
crw-rw----+ 1 root audio 116,  4 Nov 22 00:53 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116,  5 Nov 22 00:53 /dev/snd/pcmC0D7p
crw-rw----+ 1 root audio 116,  6 Nov 22 00:53 /dev/snd/pcmC0D8p
crw-rw----+ 1 root audio 116,  7 Nov 22 00:53 /dev/snd/pcmC0D9p
crw-rw----+ 1 root audio 116,  1 Nov 22 00:53 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Nov 22 00:53 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x. 2 root root  60 Nov 22 00:53 .
drwxr-xr-x. 3 root root 340 Nov 22 00:53 ..
lrwxrwxrwx. 1 root root  12 Nov 22 00:53 pci-0000:00:1f.3 -> ../controlC0


!!ALSA configuration files
!!------------------------

!!System wide config file (/etc/asound.conf)

#
# Place your global alsa-lib configuration here...
#


!!Aplay/Arecord output
!!--------------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: Generic Analog [Generic Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 12: HDMI 6 [HDMI 6]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: Generic Analog [Generic Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [PCH]

Card hw:0 'PCH'/'HDA Intel PCH at 0x601d160000 irq 149'
  Mixer name	: 'Conexant Generic'
  Components	: 'HDA:14f120d0,10251407,00100001 HDA:8086280f,80860101,00100000'
  Controls      : 65
  Simple ctrls  : 14
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 74
  Mono: Playback 62 [84%] [-12.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 74
  Mono:
  Front Left: Playback 0 [0%] [-74.00dB] [off]
  Front Right: Playback 0 [0%] [-74.00dB] [off]
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 74
  Mono:
  Front Left: Playback 74 [100%] [0.00dB] [on]
  Front Right: Playback 74 [100%] [0.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 255 [100%] [0.00dB]
  Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 3 [100%] [36.00dB]
  Front Right: 3 [100%] [36.00dB]
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958',1
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',3
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',4
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',5
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',6
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 80 [100%] [6.00dB] [on]
  Front Right: Capture 80 [100%] [6.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Enabled'


!!Alsactl output
!!--------------

--startcollapse--
state.PCH {
	control.1 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 -7400
			dbvalue.1 -7400
		}
	}
	control.2 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Speaker Playback Volume'
		value.0 74
		value.1 74
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.4 {
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Auto-Mute Mode'
		value Enabled
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 Enabled
		}
	}
	control.6 {
		iface MIXER
		name 'Capture Volume'
		value.0 80
		value.1 80
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 80'
			dbmin -7400
			dbmax 600
			dbvalue.0 600
			dbvalue.1 600
		}
	}
	control.7 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.8 {
		iface MIXER
		name 'Mic Boost Volume'
		value.0 3
		value.1 3
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3600
			dbvalue.0 3600
			dbvalue.1 3600
		}
	}
	control.9 {
		iface MIXER
		name 'Master Playback Volume'
		value 62
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 74'
			dbmin -7400
			dbmax 0
			dbvalue.0 -1200
		}
	}
	control.10 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.11 {
		iface CARD
		name 'Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.12 {
		iface CARD
		name 'Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.13 {
		iface CARD
		name 'Speaker Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.14 {
		iface PCM
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.15 {
		iface PCM
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.16 {
		iface CARD
		name 'HDMI/DP,pcm=3 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.17 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.18 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.19 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.20 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.21 {
		iface PCM
		device 3
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.22 {
		iface CARD
		name 'HDMI/DP,pcm=7 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.23 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 1
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.24 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 1
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.25 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 1
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.26 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 1
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.27 {
		iface PCM
		device 7
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.28 {
		iface CARD
		name 'HDMI/DP,pcm=8 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.29 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 2
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.30 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 2
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.31 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 2
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.32 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 2
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.33 {
		iface PCM
		device 8
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.34 {
		iface CARD
		name 'HDMI/DP,pcm=9 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.35 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 3
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.36 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 3
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.37 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 3
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.38 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 3
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.39 {
		iface PCM
		device 9
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.40 {
		iface CARD
		name 'HDMI/DP,pcm=10 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.41 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 4
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.42 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 4
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.43 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 4
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.44 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 4
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.45 {
		iface PCM
		device 10
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.46 {
		iface CARD
		name 'HDMI/DP,pcm=11 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.47 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 5
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.48 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 5
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.49 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 5
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.50 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 5
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.51 {
		iface PCM
		device 11
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.52 {
		iface CARD
		name 'HDMI/DP,pcm=12 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.53 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 6
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.54 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 6
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.55 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 6
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.56 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 6
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.57 {
		iface PCM
		device 12
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.58 {
		iface PCM
		device 3
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.59 {
		iface PCM
		device 7
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.60 {
		iface PCM
		device 8
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.61 {
		iface PCM
		device 9
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.62 {
		iface PCM
		device 10
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.63 {
		iface PCM
		device 11
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.64 {
		iface PCM
		device 12
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.65 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 255
		value.1 255
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
}
--endcollapse--


!!All Loaded Modules
!!------------------

Module
rfcomm
ccm
xt_CHECKSUM
xt_MASQUERADE
nf_nat_tftp
nf_conntrack_tftp
tun
bridge
stp
llc
nf_conntrack_netbios_ns
nf_conntrack_broadcast
xt_CT
ip6t_REJECT
nf_reject_ipv6
ip6t_rpfilter
ipt_REJECT
nf_reject_ipv4
xt_conntrack
ebtable_nat
ebtable_broute
ip6table_nat
ip6table_mangle
ip6table_raw
ip6table_security
iptable_nat
nf_nat
iptable_mangle
iptable_raw
iptable_security
nf_conntrack
nf_defrag_ipv6
nf_defrag_ipv4
ip_set
nfnetlink
ebtable_filter
ebtables
ip6table_filter
ip6_tables
iptable_filter
cmac
bnep
sunrpc
vfat
fat
btusb
btrtl
uvcvideo
btbcm
btintel
bluetooth
videobuf2_vmalloc
videobuf2_memops
videobuf2_v4l2
videobuf2_common
videodev
mc
ecdh_generic
ecc
intel_rapl_msr
intel_rapl_common
x86_pkg_temp_thermal
intel_powerclamp
snd_hda_codec_hdmi
coretemp
kvm_intel
nvidia_drm
snd_hda_codec_generic
ledtrig_audio
nvidia_modeset
kvm
nvidia_uvm
snd_hda_intel
joydev
snd_hda_codec
irqbypass
iTCO_wdt
spi_pxa2xx_platform
mei_hdcp
iTCO_vendor_support
snd_hda_core
crct10dif_pclmul
dw_dmac
hid_multitouch
crc32_pclmul
snd_hwdep
ghash_clmulni_intel
snd_seq
iwlmvm
intel_cstate
snd_seq_device
intel_uncore
snd_pcm
mac80211
snd_timer
intel_rapl_perf
intel_wmi_thunderbolt
libarc4
snd
iwlwifi
acer_wmi
wmi_bmof
soundcore
i2c_i801
nvidia
mei_me
cfg80211
ucsi_acpi
idma64
typec_ucsi
ipmi_devintf
mei
intel_lpss_pci
ipmi_msghandler
intel_lpss
rfkill
typec
int3403_thermal
acer_wireless
int340x_thermal_zone
int3400_thermal
intel_hid
acpi_thermal_rel
acpi_pad
sparse_keymap
ip_tables
btrfs
libcrc32c
xor
zstd_decompress
zstd_compress
raid6_pq
i915
i2c_algo_bit
drm_kms_helper
nvme
drm
crc32c_intel
nvme_core
serio_raw
i2c_hid
pinctrl_icelake
wmi
video
pinctrl_intel
fuse


!!Sysfs Files
!!-----------

/sys/class/sound/hwC0D0/init_pin_configs:
0x16 0x04211040
0x17 0x91170110
0x18 0x40f001f0
0x19 0x04a11030
0x1a 0x40f001f0
0x1d 0x40f001f0
0x1e 0x40f001f0
0x1f 0x40f001f0
0x21 0x40f001f0
0x26 0x40f001f0
0x27 0x40f001f0

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC0D0/hints:

/sys/class/sound/hwC0D2/init_pin_configs:
0x04 0x18560010
0x06 0x18560010
0x08 0x18560010
0x0a 0x18560010
0x0b 0x18560010

/sys/class/sound/hwC0D2/driver_pin_configs:

/sys/class/sound/hwC0D2/user_pin_configs:

/sys/class/sound/hwC0D2/init_verbs:

/sys/class/sound/hwC0D2/hints:


!!ALSA/HDA dmesg
!!--------------

[    0.271294] ACPI: Added _OSI(Linux-Dell-Video)
[    0.271294] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    0.271294] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
--
[    2.466320] pci 0000:2b:00.0: reg 0x30: [mem 0xfff80000-0xffffffff pref]
[    2.466339] pci 0000:2b:00.0: Enabling HDA controller
[    2.466530] pci 0000:00:1c.0: PCI bridge to [bus 2b]
--
[    5.457479] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  440.31  Sun Oct 27 02:19:35 UTC 2019
[    5.479037] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
[    5.481193] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    5.507835] nvidia-uvm: Loaded the UVM driver, major device number 234.
--
[    5.569310] [drm] [nvidia-drm] [GPU ID 0x00002b00] Loading driver
[    5.569449] snd_hda_codec_generic hdaudioC0D0: autoconfig for Generic: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[    5.569451] snd_hda_codec_generic hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    5.569452] snd_hda_codec_generic hdaudioC0D0:    hp_outs=1 (0x16/0x0/0x0/0x0/0x0)
[    5.569453] snd_hda_codec_generic hdaudioC0D0:    mono: mono_out=0x0
[    5.569453] snd_hda_codec_generic hdaudioC0D0:    inputs:
[    5.569454] snd_hda_codec_generic hdaudioC0D0:      Mic=0x19
[    5.588893] ACPI Warning: \_SB.PCI0.RP05.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20190703/nsarguments-59)
[    5.609289] nvidia 0000:2b:00.0: DMAR: 32bit DMA uses non-identity mapping
[    5.611553] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input21
[    5.611602] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input22
[    5.611644] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input23
[    5.611680] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input24
[    5.611717] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input25
[    5.611755] input: HDA Intel PCH HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input26
[    5.611796] input: HDA Intel PCH HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input27
[    5.611839] input: HDA Intel PCH HDMI/DP,pcm=11 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input28
[    5.611878] input: HDA Intel PCH HDMI/DP,pcm=12 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input29
[    6.010217] intel_rapl_common: Found RAPL domain package

Comment 17 Jaroslav Kysela 2019-11-21 23:46:16 UTC
zogar5 : Please, try to symlink the gcc version of the cnl firmware (/usr/lib/firmware/intel/sof/gcc/sof-cnl.ri -> /usr/lib/firmware/intel/sof/sof-cnl.ri) and reboot. It seems that the signed firmware using the Intel key is not accepted on your hardware.

Comment 18 m.frueauff 2019-11-22 10:11:30 UTC
Hi

I cave Lenovo X1 7th gen and experiencing the same sound issue.
With new rc-8 kernel, and SOF drivers, my microphone seems to be detected, however, sound recorded by it, is just a noise.

[barni@BaCarbon ~]$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 1: HDA Digital (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 6: DMIC32 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 7: DMIC16 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0



[barni@BaCarbon ~]$ dmesg |grep SOF
[   24.671987] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[   24.809232] snd_soc_skl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[   24.961318] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver


Regs
Marek

Comment 19 zogar5 2019-11-22 14:48:01 UTC
(In reply to Jaroslav Kysela from comment #17)
> zogar5 : Please, try to symlink the gcc version of the cnl
> firmware (/usr/lib/firmware/intel/sof/gcc/sof-cnl.ri ->
> /usr/lib/firmware/intel/sof/sof-cnl.ri) and reboot. It seems that the signed
> firmware using the Intel key is not accepted on your hardware.

Well, this didn't do the trick, and the output is the same.

Comment 20 Jaroslav Kysela 2019-11-22 21:01:53 UTC
(In reply to m.frueauff from comment #18)
> I cave Lenovo X1 7th gen and experiencing the same sound issue.
> With new rc-8 kernel, and SOF drivers, my microphone seems to be detected,
> however, sound recorded by it, is just a noise.

Workaround:

1) edit /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf , change CaptureChannels "4" in SectionDevice."DigitalMic" (at the end)
2) on command line: amixer -c 0 set 'PGA10.0 10 Master' 100%
3) reboot machine

I am working on a more user friendly solution. Thank you for the test.

Comment 21 Jaroslav Kysela 2019-11-22 21:03:05 UTC
(In reply to zogar5 from comment #19)
> (In reply to Jaroslav Kysela from comment #17)
> > zogar5 : Please, try to symlink the gcc version of the cnl
> > firmware (/usr/lib/firmware/intel/sof/gcc/sof-cnl.ri ->
> > /usr/lib/firmware/intel/sof/sof-cnl.ri) and reboot. It seems that the signed
> > firmware using the Intel key is not accepted on your hardware.
> 
> Well, this didn't do the trick, and the output is the same.

Unfortunately, it looks like a firmware issue. I created a ticket in the SOF project: https://github.com/thesofproject/sof/issues/2126

Comment 22 Peter F. Patel-Schneider 2019-11-24 18:06:07 UTC
I'm trying this on a Lenovo Yoga C940, which has a digital far-field mic pair.  But something is going wrong - there is no /usr/lib/firmware/intel/sof directory.  Presumably I'm not loading enough RPMs, but what am I missing? 

I downloaded several RPMs from the koji build and installed them as

sudo dnf install kernel-5.4.0-0.rc8.git0.1.alsa4.fc31.x86_64.rpm kernel-core-5.4.0-0.rc8.git0.1.alsa4.fc31.x86_64.rpm kernel-modules-5.4.0-0.rc8.git0.1.alsa4.fc31.x86_64.rpm
sudo dnf install kernel-modules-extra-5.4.0-0.rc8.git0.1.alsa4.fc31.x86_64.rpm kernel-modules-internal-5.4.0-0.rc8.git0.1.alsa4.fc31.x86_64.rpm 

What I am seeing is
idefix ~> dmesg | grep sof
...
[    4.379763] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    4.379906] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    4.379918] sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
[    4.380099] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
[    4.380111] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    4.380261] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[    4.380448] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    4.384322] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[    4.384324] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    5.438200] sof-audio-pci 0000:00:1f.3: error: codec #2 probe error, ret: -5
[    5.438416] sof-audio-pci 0000:00:1f.3: Direct firmware load for intel/sof/sof-icl.ri failed with error -2
[    5.438418] sof-audio-pci 0000:00:1f.3: error: request firmware intel/sof/sof-icl.ri failed err: -2
[    5.438418] sof-audio-pci 0000:00:1f.3: error: failed to load DSP firmware -2
[    5.438419] sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -2

Comment 23 Jaroslav Kysela 2019-11-24 18:16:21 UTC
Peter: See comment 9. Install recent 'alsa-ucm' and 'alsa-firmware' packages version 1.2.1.1.

Comment 24 Peter F. Patel-Schneider 2019-11-24 19:35:39 UTC
I ended up with alsa-firmware-1.2.1 and alsa-ucm-1.2.1.1.
I experienced the same problem as zogar5 in Comment 16 so I did the linking suggested in Comment 17. 
 
That didn't work.  The error log is very similar to what zogar5 is experiencing:

[    4.286091] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    4.286213] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    4.286225] sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
[    4.286412] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
[    4.286418] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    4.286546] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[    4.286737] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    4.290985] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[    4.290986] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    5.328957] sof-audio-pci 0000:00:1f.3: error: codec #2 probe error, ret: -5
[    5.331010] sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
[    5.331014] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[    8.399958] sof-audio-pci 0000:00:1f.3: error: cl_copy_fw: timeout HDA_DSP_SRAM_REG_ROM_STATUS read
[    8.400470] sof-audio-pci 0000:00:1f.3: error: load fw failed ret: -110
[    8.400490] sof-audio-pci 0000:00:1f.3: error: status = 0x0000002c panic = 0x00000000
[    8.400496] sof-audio-pci 0000:00:1f.3: error: failed to reset DSP
[    8.400497] sof-audio-pci 0000:00:1f.3: error: failed to boot DSP firmware -110
[    8.400498] sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -110


The laptop is a Lenovo Yoga C940 with cpu IceLake i7-1065G7 and audio controller

00:1f.3 Multimedia audio controller: Intel Corporation Device 34c8 (rev 30)
	Subsystem: Lenovo Device 382e
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 167
	Region 0: Memory at 601d160000 (64-bit, non-prefetchable) [size=16K]
	Region 4: Memory at 601d000000 (64-bit, non-prefetchable) [size=1M]
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [80] Vendor Specific Information: Len=14 <?>
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
		Address: 00000000fee00798  Data: 0000
	Kernel driver in use: sof-audio-pci
	Kernel modules: snd_hda_intel, snd_sof_pci

Comment 25 Jaroslav Kysela 2019-11-24 19:41:40 UTC
(In reply to Peter F. Patel-Schneider from comment #24)
> The laptop is a Lenovo Yoga C940 with cpu IceLake i7-1065G7 and audio
> controller
> 
> 00:1f.3 Multimedia audio controller: Intel Corporation Device 34c8 (rev 30)
> 	Subsystem: Lenovo Device 382e

Ok, created a new issue in the SOF project: https://github.com/thesofproject/sof/issues/2134

Comment 26 Jaroslav Kysela 2019-11-25 15:21:11 UTC
(In reply to Jaroslav Kysela from comment #21)
> (In reply to zogar5 from comment #19)
> > (In reply to Jaroslav Kysela from comment #17)
> > > zogar5 : Please, try to symlink the gcc version of the cnl
> > > firmware (/usr/lib/firmware/intel/sof/gcc/sof-cnl.ri ->
> > > /usr/lib/firmware/intel/sof/sof-cnl.ri) and reboot. It seems that the signed
> > > firmware using the Intel key is not accepted on your hardware.
> > 
> > Well, this didn't do the trick, and the output is the same.
> 
> Unfortunately, it looks like a firmware issue. I created a ticket in the SOF
> project: https://github.com/thesofproject/sof/issues/2126

Intel asks for a test in the above ticket. Please, follow the SOF issue. Thank you.

Comment 27 Jaroslav Kysela 2019-12-02 21:39:16 UTC
Another round, kernel fixes, ucm fixes, PA modifications to make things stable and usable (please, install all of packages/updates):

- kernel-5.4.0-2.alsa8.fc31: https://koji.fedoraproject.org/koji/taskinfo?taskID=39412965
- alsa-lib-1.2.1.2: in testing repo, will be soon in stable
- alsa-firmware-1.2.1-2.fc31: in stable repo (FW is not updated - v1.3, we have no working signed 1.4 firmware from Intel)
- pulseaudio-13.0-901.fc31: https://koji.fedoraproject.org/koji/taskinfo?taskID=39389687

Modifications (listed only some):

- use DAC1 for all integrated speakers on Carbon X1 (to enable hardware volume control)
- hardware volume support (PA)
- fixed detection for digital microphones (2 or 4), thus the capture rate (fixes the broken behaviour of v1.3 fw)

Known issues:

1) the HDMI output works only when the PA is killed (respawned) when the monitor is plugged in (will look into it), it's a PA issue
2) mixer (internal): the 'Bass Speaker' switch should be off synchronously when 'Speaker' switch is off (for the power saving)
3) no v1.4 SOF firmware (https://github.com/thesofproject/sof/issues/2118)

Request (please):

If you have 'Bass Speaker' volume control in the alsa mixer (alsamixer -c 0), please, attach 'alsa-info.sh --no-upload' (Lenovo Yoga?). We need probably fix the HDA codec routes in the kernel driver like for Carbon X1.

Used kernel patches (since v5.4 tag):

  github: https://github.com/perexg/linux/commits/perex/fedora-sof
  diff:   https://github.com/torvalds/linux/compare/torvalds:v5.4...perexg:perex/fedora-sof.diff

Comment 28 Jaroslav Kysela 2019-12-02 21:41:09 UTC
I forgot to add the URL to the pulseaudio changes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/213

Comment 29 Anders Kaseorg 2019-12-02 23:03:42 UTC
Created attachment 1641515 [details]
alsa-info from ThinkPad X1 Yoga Gen 4 20SA000KUS

On my ThinkPad X1 Yoga Gen 4 (20SA000KUS, Comet Lake-U) with your packages (kernel-5.4.0-2.alsa8.fc31, alsa-lib-1.2.1.2-1.fc32, alsa-firmware-1.2.1-2.fc32, pulseaudio-13.0-901.fc31), ALSA finds no sound cards at all.

When booted into the standard kernel 5.3.12-300.fc31, ‘alsamixer -c 0’ shows a ‘Bass Speaker’ mute switch but no volume slider.  Attaching ‘alsa-info.sh --no-upload’ from here.

Comment 30 Peter F. Patel-Schneider 2019-12-03 02:19:01 UTC
Is there a way to download all the rpms needed for the kernel?  Right now I'm downloading them one by one, but that's a bit of a pain.

Comment 31 Jaroslav Kysela 2019-12-03 09:44:29 UTC
(In reply to Anders Kaseorg from comment #29)
> Created attachment 1641515 [details]
> alsa-info from ThinkPad X1 Yoga Gen 4 20SA000KUS
> 
> On my ThinkPad X1 Yoga Gen 4 (20SA000KUS, Comet Lake-U) with your packages
> (kernel-5.4.0-2.alsa8.fc31, alsa-lib-1.2.1.2-1.fc32,
> alsa-firmware-1.2.1-2.fc32, pulseaudio-13.0-901.fc31), ALSA finds no sound
> cards at all.

Yes, you need the 1.4 firmware. This update cannot do much without the working DSP firmware.

> When booted into the standard kernel 5.3.12-300.fc31, ‘alsamixer -c 0’ shows
> a ‘Bass Speaker’ mute switch but no volume slider.  Attaching ‘alsa-info.sh
> --no-upload’ from here.

It seems that this hardware requires also the DAC output rerouting. Please, try this with the 5.4.0-2.alsa8 kernel:

echo "options snd-intel-dspcfg dsp_driver=1" > /etc/modprobe.d/alsa.conf
echo "options snd-hda-intel model=alc285-speaker2-to-dac1" >> /etc/modprobe.d/alsa.conf

reboot..

Run 'alsamixer -c 0' and try if 'Speaker' and 'Bass Speaker' works correctly (volume level / mute) and if there is a change in the sound when you mute/umute the Bass Speaker (the sound should be more rich - all speakers will be activated).

Comment 32 ryan@testtoast.com 2019-12-03 10:26:35 UTC
Created attachment 1641630 [details]
alsainfo.sh with 5.4-alsa8 kernel from Lenovo X1Y4 20QF

> If you have 'Bass Speaker' volume control in the alsa mixer (alsamixer -c 0), please, attach 'alsa-info.sh --no-upload' (Lenovo Yoga?). We need probably fix the HDA codec routes in the kernel driver like for Carbon X1.

Thanks again Jaroslav for your work on this. From my X1 Yoga (20QF - Cannon Lake) with the latest kernel/ALSA/PA I have Bass speaker switch without volume control as previously in alsamixer, and the volume is always at 100% despite the master or speaker volume settings.

alsainfo attached. I'll try the module settings you've posted above.

Comment 33 Anders Kaseorg 2019-12-03 11:39:37 UTC
(In reply to Jaroslav Kysela from comment #31)
> Yes, you need the 1.4 firmware. This update cannot do much without the
> working DSP firmware.

Alright. I assume we’re still waiting on Intel for that, as https://github.com/thesofproject/sof/releases/tag/v1.4.1 only has APL, CNL, and ICL binaries.

> It seems that this hardware requires also the DAC output rerouting. Please,
> try this with the 5.4.0-2.alsa8 kernel:
> 
> echo "options snd-intel-dspcfg dsp_driver=1" > /etc/modprobe.d/alsa.conf
> echo "options snd-hda-intel model=alc285-speaker2-to-dac1" >>
> /etc/modprobe.d/alsa.conf
> 
> reboot..
> 
> Run 'alsamixer -c 0' and try if 'Speaker' and 'Bass Speaker' works correctly
> (volume level / mute) and if there is a change in the sound when you
> mute/umute the Bass Speaker (the sound should be more rich - all speakers
> will be activated).

All the speakers are now active in the Analog Stereo Output configuration.  In the Analog Surround 4.0 Output configuration I think I’m only hearing the rear channels in the rear speakers, and the front channels are silent.

Bass Speaker still has a mute but no volume slider.  However, the Master and Speaker volume sliders work correctly.  Of the three mutes (Master, Speaker, Bass Speaker), I only get any sound at all if all three are unmuted; I get no sound with any one muted and the other two unmuted.

Comment 34 Peter F. Patel-Schneider 2019-12-03 12:36:55 UTC
Here are some results from my Ice Lake Lenovo Yoga C940, with a similar speaker setup but the hda audio chip is ALC298.  (The Lenovo Yoga C930 is *very* similar but with the previous generation CPU.)

Booting into kernel-5.4.0-2.alsa8.fc31.x86_64 with alsa-firmware-1.2.1-2.fc31.noarch, alsa-lib-1.2.1.2-1.fc31.x86_64, and pulseaudio-13.0-901.fc31.x86_64 there are still problems on boot

Dec 03 07:13:57 idefix kernel: sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
Dec 03 07:13:57 idefix kernel: sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
Dec 03 07:13:57 idefix kernel: sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
Dec 03 07:13:57 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
Dec 03 07:13:57 idefix kernel: sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
Dec 03 07:13:57 idefix kernel: sof-audio-pci 0000:00:1f.3: use msi interrupt mode
Dec 03 07:13:57 idefix kernel: sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
Dec 03 07:13:57 idefix kernel: sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
Dec 03 07:13:57 idefix kernel: sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
Dec 03 07:13:58 idefix kernel: sof-audio-pci 0000:00:1f.3: error: codec #2 probe error, ret: -5
Dec 03 07:13:58 idefix kernel: sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
Dec 03 07:13:58 idefix kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Dec 03 07:13:59 idefix rsyslogd[1178]: [origin software="rsyslogd" swVersion="8.1911.0" x-pid="1178" x-info="https://www.rsyslog.com"] start
Dec 03 07:14:01 idefix kernel: sof-audio-pci 0000:00:1f.3: error: cl_copy_fw: timeout HDA_DSP_SRAM_REG_ROM_STATUS read
Dec 03 07:14:01 idefix kernel: sof-audio-pci 0000:00:1f.3: error: load fw failed ret: -110
Dec 03 07:14:01 idefix kernel: sof-audio-pci 0000:00:1f.3: error: status = 0x0000002c panic = 0x00000000
Dec 03 07:14:01 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to reset DSP
Dec 03 07:14:01 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to boot DSP firmware -110
Dec 03 07:14:01 idefix kernel: sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -110

I guess these are from missing firmware.

Comment 35 Jaroslav Kysela 2019-12-03 12:46:14 UTC
(In reply to Anders Kaseorg from comment #33)
> Bass Speaker still has a mute but no volume slider.  However, the Master and
> Speaker volume sliders work correctly.  Of the three mutes (Master, Speaker,
> Bass Speaker), I only get any sound at all if all three are unmuted; I get
> no sound with any one muted and the other two unmuted.

The first DAC is used for all four speakers (no surround) with the patched kernel. The volume is assigned to DAC1 ('Speaker' control), the mute switches are separate for 2 + 2 speakers ('Speaker' and 'Bass Speaker' controls). I don't see a reason to use the surround (4.0) for laptop speakers, because it's a bit difficult to put the head inside the speaker array :-)

But you should hear a difference when you unmute 'Master' + 'Speaker' without 'Bass Speaker' and all three unmuted (more "strong" sound). Correct?

Comment 36 Anders Kaseorg 2019-12-03 13:02:15 UTC
(In reply to Jaroslav Kysela from comment #35)
> But you should hear a difference when you unmute 'Master' + 'Speaker'
> without 'Bass Speaker' and all three unmuted (more "strong" sound). Correct?

If I unmute Master and Speaker without Bass Speaker, I get no sound at all.  I need to have all three unmuted to get sound.  I assume that’s not quite what you’re expecting.

Comment 37 Jaroslav Kysela 2019-12-03 13:27:00 UTC
(In reply to Anders Kaseorg from comment #36)
> (In reply to Jaroslav Kysela from comment #35)
> > But you should hear a difference when you unmute 'Master' + 'Speaker'
> > without 'Bass Speaker' and all three unmuted (more "strong" sound). Correct?
> 
> If I unmute Master and Speaker without Bass Speaker, I get no sound at all. 
> I need to have all three unmuted to get sound.  I assume that’s not quite
> what you’re expecting.

It seems that the speaker configuration should be similar to Carbon X1 7th (not Yoga):

https://forums.lenovo.com/t5/ThinkPad-X-Series-Laptops/X1-Carbon-7th-gen-speaker-problem/m-p/4526221#M105122

Could you check some high-band sounds?

Comment 38 Peter F. Patel-Schneider 2019-12-03 14:25:37 UTC
[This is getting off the topic of the bug, but since we are on speakers ....  If there is some place better to have this addressed just let me know.]

My laptop is the Yoga C940, with five speakers.  Out of the box only two work.  With the updates and patches above the subwoofer works.  However, the two speakers on the bottom front to not appear to work.  What's a good way of figuring out how they might work.

I did look at the patch for the X1 7th gen, but I'm having problems understanding it.  It appears to change the connection of the speaker(s) connected to 0x17 to their second connection, which should be mixer 0x0d, but when I look at /proc/asound/card0/codec#0 it looks as if they are (still) connected to 0x0c.  What is going on?

Comment 39 Jaroslav Kysela 2019-12-03 14:37:27 UTC
(In reply to Peter F. Patel-Schneider from comment #38)
> [This is getting off the topic of the bug, but since we are on speakers ....
> If there is some place better to have this addressed just let me know.]
> 
> My laptop is the Yoga C940, with five speakers.  Out of the box only two
> work.  With the updates and patches above the subwoofer works.  However, the
> two speakers on the bottom front to not appear to work.  What's a good way
> of figuring out how they might work.
> 
> I did look at the patch for the X1 7th gen, but I'm having problems
> understanding it.  It appears to change the connection of the speaker(s)
> connected to 0x17 to their second connection, which should be mixer 0x0d,
> but when I look at /proc/asound/card0/codec#0 it looks as if they are
> (still) connected to 0x0c.  What is going on?

The DAC 0x02 -> PIN 0x17 route is activated in the X1 patch to share the stereo source for all four speakers. You need to determine which PIN is for the non-working speakers (attach also 'alsa-info.sh --no-upload' here).

  Node 0x17 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
    Connection: 3
       0x02* 0x03 0x06
    In-driver Connection: 1
       0x02

Comment 40 Peter F. Patel-Schneider 2019-12-03 15:21:49 UTC
Created attachment 1641710 [details]
alsa-info.sh output for Lenovo Yoga C940

I've attached the output of alsa-info.sh

I've been trying to figure out which speakers are which.  In the setup I have at boot time, it looks as if there are three "pairs" of speakers connected from 0x02 through 0x0c - 0x17, 0x1a, and 0x21 - which makes some sense, but the descriptions of these are screwy.  But it doesn't look as if I'm getting output from all of theses.  
Then there is a separate path from 0x03 through 0x0d to 0x14 which I guess is the headphone jack. 
My question is what can I do to turn off a pin complex while the computer is running (preferably, although requiring a reboot would be OK) so that I can check for sure which speakers are which.

Comment 41 Jaroslav Kysela 2019-12-03 15:43:34 UTC
(In reply to Peter F. Patel-Schneider from comment #40)
> Created attachment 1641710 [details]
> alsa-info.sh output for Lenovo Yoga C940
> 
> I've attached the output of alsa-info.sh

In this case, it would make sense to create a bug at https://bugzilla.kernel.org to track this (I'll be assigned to it automatically). Attach the alsa-info output again, please. Thank you. You may try to use hda-analyzer to enable/disable routes and unmute mixer paths without the driver to analyze the connections. It seems that the nodes 0x17,0x1a might have connected speakers. Try to activate route to 0x0d (like the node 0x14 - Speaker output). The codec is different from X1 (ALC285 vs ALC298).

Comment 42 Anders Kaseorg 2019-12-04 06:04:40 UTC
(In reply to Jaroslav Kysela from comment #37)
> > If I unmute Master and Speaker without Bass Speaker, I get no sound at all. 
> > I need to have all three unmuted to get sound.  I assume that’s not quite
> > what you’re expecting.
> 
> It seems that the speaker configuration should be similar to Carbon X1 7th
> (not Yoga):
> 
> https://forums.lenovo.com/t5/ThinkPad-X-Series-Laptops/X1-Carbon-7th-gen-
> speaker-problem/m-p/4526221#M105122
> 
> Could you check some high-band sounds?

I checked a full 20 Hz – 20000 Hz sine sweep, with Master unmuted at 100, Speaker unmuted at 100, and Bass Speaker muted.  Nothing.  I even used a spectrogram app on my phone to be sure my ears weren’t tricking me.

Comment 43 Jaroslav Kysela 2019-12-09 12:59:47 UTC
I have no issues with this on Carbon X1, everything should work like the "legacy" ALSA profiles in pulseaudio now:

- kernel-5.4.0-2.alsa8.fc31: https://koji.fedoraproject.org/koji/taskinfo?taskID=39412965 (no change)
- alsa-lib-1.2.1.2-4.fc31: pushing to testing (https://koji.fedoraproject.org/koji/taskinfo?taskID=39464066)
- alsa-firmware-1.2.1-3.fc31 : in testing repo with SOF v1.4.1 firmware
- pulseaudio-13.0-2.20191206gite677.fc31: https://koji.fedoraproject.org/koji/taskinfo?taskID=39389687
  - waiting for some changes to be accepted to upstream: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/217

The goals for now:

- put the kernel patches to the Fedora 5.4 kernel
- put the pulseaudio ALSA UCM changes to the Fedora pulseaudio package when upstreamed
- try to fix the hardware specific configurations

Unfortunately, I have not received the hardware details for other laptops from Lenovo, thus the integrated speakers will continue to work only partially on this hardware.

Comment 44 David Ward 2019-12-10 04:58:32 UTC
(In reply to Jaroslav Kysela from comment #43)
> - pulseaudio-13.0-2.20191206gite677.fc31:
> https://koji.fedoraproject.org/koji/taskinfo?taskID=39389687

That link was for the previous test build of PulseAudio.
It has a regression on my Dell Latitude 7350 (Broadwell): sound will play through both the speakers and headphones simultaneously after the headphones are plugged in. The released version (13.0-1.fc31) does not do this.


I believe your current test build (13.0-2.20191206gite677.fc31) is here:
https://koji.fedoraproject.org/koji/taskinfo?taskID=39463730

This version simply aborts at startup for me. In the journal I see:

    pulseaudio[1558]: E: [pulseaudio] channelmap.c: Assertion 'pa_channels_valid(channels)' failed at pulse/channelmap.c:401, function pa_channel_map_init_extend(). Aborting.

Comment 45 Jaroslav Kysela 2019-12-10 16:10:54 UTC
(In reply to David Ward from comment #44)
> (In reply to Jaroslav Kysela from comment #43)
> > - pulseaudio-13.0-2.20191206gite677.fc31:
> > https://koji.fedoraproject.org/koji/taskinfo?taskID=39389687
> 
> That link was for the previous test build of PulseAudio.
> It has a regression on my Dell Latitude 7350 (Broadwell): sound will play
> through both the speakers and headphones simultaneously after the headphones
> are plugged in. The released version (13.0-1.fc31) does not do this.
> 
> 
> I believe your current test build (13.0-2.20191206gite677.fc31) is here:
> https://koji.fedoraproject.org/koji/taskinfo?taskID=39463730

Yes, wrong link. Please, use this instead (taskID=39463730). Thank you.

> 
> This version simply aborts at startup for me. In the journal I see:
> 
>     pulseaudio[1558]: E: [pulseaudio] channelmap.c: Assertion
> 'pa_channels_valid(channels)' failed at pulse/channelmap.c:401, function
> pa_channel_map_init_extend(). Aborting.

It's broadwell-rt268 UCM config, right? Could you test this one?

https://github.com/alsa-project/alsa-ucm-conf/tree/testing/ucm2/broadwell-rt286

Comment 46 Jaroslav Kysela 2019-12-11 16:13:52 UTC
A little info for Lenovo users (Yoga X1, C940): There are some I2S amplifiers on the path to buildin speakers and while they are initialized with some basic values for Carbon X1 in BIOS, the Yoga X1 and C940 has initialization only for two speakers there. I am trying to gather the necessary information to improve the kernel driver to support all speakers and the sound quality.

Comment 47 Peter F. Patel-Schneider 2019-12-13 16:33:39 UTC
I'm at the stage where I can check out whether the mic is working on my Yoga C940.  What should I do to test it out on the most recent stuff?

Comment 48 dovla091 2019-12-15 11:01:20 UTC
I cannot see my bug report for microphone and speakers on HP Spectre x360 13" 2018, and it redirects me on this link. I assume that Jaroslav has merged my bug report with this. If so, I need to give a feedback. My Spectre does not have sound on front right speaker, only front left is working. Also, this model has 4 speakers which means that 3/4 are down, not working. On top of that microphone is still non functional.
I am currently runing:

Manufacturer:      HP
Product Name:      HP Spectre x360 Convertible 13-ap0xxx
Product Version:   
Firmware Version:  F.33
Board Vendor:      HP
Board Name:        8514

Kernel release:    5.5.0-0.rc1.git0.1.fc32.x86_64
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         x86_64
SMP Enabled:       Yes

Driver version:     k5.5.0-0.rc1.git0.1.fc32.x86_64
Library version:    
Utilities version:  1.2.1

Chip - ALC285

Any info about this, what is wrong with it?

Comment 49 dovla091 2019-12-15 11:02:01 UTC
Created attachment 1645284 [details]
HP Spectre - Alsa

Spectre alsa script output

Comment 50 dovla091 2019-12-15 11:04:03 UTC
I found some explanation from Jaroslav on this link: https://bugzilla.kernel.org/show_bug.cgi?id=203129

Comment 51 Jaroslav Kysela 2019-12-15 18:42:58 UTC
Yoga C940, HP Spectre x360 13" 2018:

Please, use only kernel and the user space packages for Fedora 31 from my last comments (comment 43 and pulseaudio from comment 45). To enable the digital mic, the dsp_driver option for snd_intel_dspcfg kernel module must not be altered (defaults to auto). The dsp_driver=1 option disables the DSP driver. I suggested this only for test when the firmware was not available.

The news:

Fedora 5.4 kernel will have all SOF patches in (available next week).
alsa-lib, alsa-firmware: in stable

So only all updates and my version of pulseaudio must be installed when Fedora 5.4 kernel is available.

Comment 52 Joe Thompson 2019-12-18 20:33:42 UTC
I tried to download the kernel RPMs from the link in comment 43 but it looks like that was marked as "scratch" and the build already got garbage-collected.  Are those RPMs persisted somewhere else?  (The PulseAudio RPMs in comment 45 were fine.)

Comment 53 David Ward 2019-12-25 04:54:23 UTC
(In reply to Jaroslav Kysela from comment #45)
> It's broadwell-rt268 UCM config, right? Could you test this one?
> 
> https://github.com/alsa-project/alsa-ucm-conf/tree/testing/ucm2/broadwell-
> rt286

Yes, this change fixes it. Thank you!


(In reply to Jaroslav Kysela from comment #15)
> (In reply to David Ward from comment #14)
> > ... Broadwell with the Dell Latitude 7350.
> > 
> > Note: this is a separate issue, but microphone jack detection in ALSA does
> > not work on this platform, and hasn't for a long time ...
> 
> Please, could you create a new issue for this (alsa-lib package)? Attach
> 'alsa-info.sh --no-upload' contents. 
> It may be problem with the UCM configuration for your particular hw.

Sure, I have created an issue here:
https://bugzilla.kernel.org/show_bug.cgi?id=205961

Comment 54 Justin M. Forbes 2020-01-02 19:44:22 UTC
So it seems alsa doesn't have a requirement on alsa-firmware.  This is causing people with perfectly working systems with 5.3 kernels to lose sound with the 5.4 kernels because the firmware that the new drivers need doesn't exist on their system.

Comment 55 Bernie Innocenti 2020-01-02 20:22:50 UTC
(In reply to Justin M. Forbes from comment #54)
> So it seems alsa doesn't have a requirement on alsa-firmware.  This is
> causing people with perfectly working systems with 5.3 kernels to lose sound
> with the 5.4 kernels because the firmware that the new drivers need doesn't
> exist on their system.

Which released version of alsa-firmware contains the required firmware file?

When I boot my Thinkpad X1 Gen 7 with kernel 5.4 (or 5.5 from rawhide), I see this error in dmesg:

     sof-audio-pci 0000:00:1f.3: Direct firmware load for intel/sof/sof-cml.ri failed with error -2

sof-cml.ri was added as a symlink in this patch in the SOF fork of linux-firmware):

     https://github.com/thesofproject/linux-firmware/commit/beff732e6642bd77dac5dd08514264f055fc4d10#diff-76c141712563cc9d4730eb63acb36ad5R3807-R3808

But this symlink is still missing in alsa-firmware-1.2.1-3.fc32.noarch

Comment 56 Bernie Innocenti 2020-01-02 22:27:39 UTC
The author of the kernel patch which requires sof-cml.ri just notified me that they're still working on the linux-firmware bits:

  https://mailman.alsa-project.org/pipermail/alsa-devel/2020-January/160858.html

Comment 57 Robert Hancock 2020-01-04 00:05:57 UTC
There is also a problem with Coffee Lake where the firmware symlink is missing, see bug 1787387. Attempting to use the CNL firmware seems to cause the machine to hard-freeze.

I have to wonder how much any of this code has been tested given the obvious problems that people are running into, which makes me think it's not really ready for prime time and risks causing a bunch of regressions if a kernel that enables this stuff ends up in stable..

Comment 58 Bernie Innocenti 2020-01-04 05:56:14 UTC
> I have to wonder how much any of this code has been tested given the obvious problems that people are running into,
> which makes me think it's not really ready for prime time and risks causing a bunch of regressions if a kernel that enables this stuff ends up in stable..

Indeed, I can't believe this was pulled into 5.4 before the required firmware file was available, and without a fallback to the old code. This effectively killed sound on the ThinkPad X1 Gen 7 and any other CML-based devices.

Comment 59 Jaroslav Kysela 2020-01-04 09:35:11 UTC
There is a fallback, but it requires the user assistance:

  echo "options snd-intel-dspcfg dsp_driver=1" > /etc/modprobe.d/alsa.conf

I am sorry that you're running those issues, but it seems that the word "working" has different meaning for Intel and others. They claimed to have the Linux support a half of year ago.

At least we know that there are issues which can be reported back to Intel: https://github.com/thesofproject/sof/issues/

I can only resolve alsa-firmware bits (sof-cml.ri symlink), but they depends on the Intel's binaries anyway. If we don't enable the DSP driver for the more broader testing, the issues won't be resolved.

Comment 60 ryan@testtoast.com 2020-01-04 11:05:50 UTC
Created attachment 1649614 [details]
PA log with 5.5rc4 kernel

There are pros and cons obviously, but the old HDA driver has significant issues, doesn't support multi-speaker setups as on the X1C7/Y4, and doesn't support the DMIC. 

Jaroslav, I've built a 5.5rc4 kernel with your patches ported over on my CNL X1Y4, with no issues loading the CNL firmware, and aplayer/amixer working fine, but PA -901 (and the current version in FC31) is having issues loading the UCM verbs as attached.

Comment 61 Jaroslav Kysela 2020-01-04 11:25:09 UTC
(In reply to ryan from comment #60)
> Created attachment 1649614 [details]
> PA log with 5.5rc4 kernel
> 
> There are pros and cons obviously, but the old HDA driver has significant
> issues, doesn't support multi-speaker setups as on the X1C7/Y4, and doesn't
> support the DMIC. 
> 
> Jaroslav, I've built a 5.5rc4 kernel with your patches ported over on my CNL
> X1Y4, with no issues loading the CNL firmware, and aplayer/amixer working
> fine, but PA -901 (and the current version in FC31) is having issues loading
> the UCM verbs as attached.

It seems that the dmic channels are 4 instead 2:

  D: [pulseaudio] alsa-util.c: Managed to open hw:sofhdadsp,6
  D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_channels(2) failed: Invalid argument

The driver should pass the dmic count information in the components field (amixer info).

The speaker issue won't be resolved with the DSP driver, because the speaker output is using the legacy (old) HDA driver. Unfortunately, I have not received the right information from Lenovo to setup the audio amplifiers which are behind the HDA codec yet.

Comment 62 ryan@testtoast.com 2020-01-06 23:49:00 UTC
> It seems that the dmic channels are 4 instead 2:

I think there are 4 separate dmics on the Yoga at least yes. Is there any work around for this? I have had the mic working well previously. Playback via ALSA is still working well.

RE the speakers, these seem to be working well (when PA is working) under the SOF driver, with your latest code I get a single sof-hda-dsp device in alsamixer with separate volumes for the Bass and treble speakers, at 100% volume for both I get nice sound from both, with clear separation of high and low frequencies with one or other set muted.

Comment 63 ryan@testtoast.com 2020-01-08 22:32:17 UTC
> The speaker issue won't be resolved with the DSP driver, because the speaker output is using the legacy (old) HDA driver.

I've now built a custom kernel from the SOF project, the 5.4 series weren't working either, but now the 5.5rc4 and 5.5rc5 kernels are working, although I've also had to build pulseaudio from git (I note your recent patches are now merged). 

Hardware volume seems to be enabled which is great, however it has a weird issue where using a pactl command to raise or lower the default sink sequentially lowers the speaker channel to zero volume, then lowers master to zero, and only mutes the Bass speaker (which seems to have no separate volume control, only a mute or unmute switch) once the master is at zero volume. This changes the sound significantly depending on the volume setting, and is quite undesirable. At least with the previous SW volume control, I could set all the ALSA channels to 100% and have nice quality sound from both the woofers and tweeters. 

Is this something you see on your X1? I understand the mainboards are identical, and it's just a hidden BIOS setting which determines whether it acts as a Yoga Vs Carbon model.

Comment 64 Jaroslav Kysela 2020-01-13 09:44:18 UTC
Fedora 5.4 kernel has the SOF driver build-in with all 5.5 and some 5.6 changes. If you have any issues, let me know.

We need to add this patch for Yoga to enable all speakers:  https://github.com/torvalds/linux/commit/54a6a7dc107da0492a9e84fd7e9a107b3c58138d

Regarding the volume control: PA controls the master and speaker volume. The bass speaker has only on/off switch (with the patch above). It looked fine in my tests, the master volume is just software attenuation, so it's better to control the hardware volume at first to get the better dynamic range.

Comment 65 ryan@testtoast.com 2020-01-13 10:53:27 UTC
Thanks, I tried the current FC31 updates-testing kernel (5.4-10-200) and it doesn't seem to load the SOF driver at all, so I had no sound (having blacklisted the old SST driver). Is this the Fedora kernel you mean? 

However applying the quirk you linked to the sof-dev tree, I was able to get proper volume control for the bass and treble speakers which works well, and sound much better thanks! Mic working well too.

Comment 66 Jaroslav Kysela 2020-01-13 11:21:15 UTC
Remove the blacklist. The SST driver must be loaded for the all-in-kernel configurations. The snd-intel-dspcfg module will decide which driver will be activated for the new kernels.

Comment 67 ryan@testtoast.com 2020-01-13 11:31:37 UTC
Ok, have done, but only the SST driver is loaded with the Fedora 5.4.10-200 kernel (no SOF probe or FW load in dmesg), and the mic doesn't work. With the 5.5-rc5 sof-dev kernel both seem to load (I get snd_hda_codec_realtek messages as well as the SOF firmware messages) and both sound output and the mic work fine.

Comment 68 Jaroslav Kysela 2020-01-13 13:22:36 UTC
Ok, the SOF driver was silently removed in Fedora 5.4.10 kernel (it was in 5.4.9). I was not aware of it. Jeremy?

Comment 69 Jeremy Cline 2020-01-13 15:21:05 UTC
Hi Jaroslav,

I apologize for not letting you know before dropping the backports. There was a good bit of hesitation among the other maintainers about pulling this in and it's not something we normally do, but, since you kindly prepared the backports I was willing to pull it provided there was no trouble. There as been some problems, though, and we thought it would be best to pull out of the stable kernels. I think it's reasonable to carry the patches in Rawhide for the present and I can do the work to make that happen if you're okay with that, but I don't want to include something that is not yet stable in the stable kernels.

Comment 70 Peter F. Patel-Schneider 2020-01-13 15:34:44 UTC
I can understand dropping SOF as it does not appear to be quite ready for prime time, but it was getting very close and there are a lot of laptops where the microphone won't work without it.

What is the situation with rawhide?  I may be able to run rawhide to help get the remaining kinks ironed out.

Comment 71 Peter F. Patel-Schneider 2020-01-13 15:38:53 UTC
It occurs to me that having the backports in but shipping with the alsa directive to use hda might get the best of both worlds.  People like me who are willing to test out SOF could easily do so but everyone else would not be using SOF.  (At least that's what I think the situation would be.)

Comment 72 Jaroslav Kysela 2020-01-13 15:41:26 UTC
Yes, I already proposed that way to Jeremy via e-mail. Jeremy?


  diff --git a/sound/hda/intel-dsp-config.c b/sound/hda/intel-dsp-config.c
  index be1df80ed013..2167ae360e97 100644
  --- a/sound/hda/intel-dsp-config.c
  +++ b/sound/hda/intel-dsp-config.c
  @@ -9,7 +9,7 @@
   #include <sound/intel-dsp-config.h>
   #include <sound/intel-nhlt.h>
 
  -static int dsp_driver;
  +static int dsp_driver = 1;
 
   module_param(dsp_driver, int, 0444);
   MODULE_PARM_DESC(dsp_driver, "Force the DSP driver for Intel DSP (0=auto, 1=legacy, 2=SST, 3=SOF)");

Comment 73 Jeremy Cline 2020-01-13 16:11:31 UTC
Is that patch going upstream? Has it been tested? I'm assuming the answer is no to both those questions, and while it is a simple patch that seems reasonably likely to work, it doesn't even have a commit message. As a rule, we don't pull in patches that aren't already upstream or well on their way to upstream. The stable kernels are not intended to be a testing ground and while it is unfortunate that newer hardware doesn't work with current stable kernels, I don't want to be in the business of taking care of huge swathes of feature backports and causing regressions in other hardware.

I am sorry, but I stuck out my neck when I pulled in all the 5.5 and 5.6 sof work and it didn't work out. I'm not the only maintainer that has to live with my decisions so I'm trying to be cautious.

Comment 74 Jaroslav Kysela 2020-01-13 16:30:10 UTC
The problem with the hardware support is that we are always behind the hardware vendors. The modprobe config in comment#59 always worked to my knowledge - it forces the old legacy driver as default, so we can take this as tested. I don't know which bugs do you refer - what was the exact reason to remove SOF (regressions). I had no chance to fix things. So we need to wait for Fedora 5.6 stable kernel (half year)? Ok, so... let's wait.

Comment 75 Jeremy Cline 2020-01-13 16:42:02 UTC
Why isn't Rawhide an okay place to do this? It's easily available for people to test, and once you demonstrate it's working there we can consider bringing it into the stable Fedora releases.

Comment 76 Hans de Goede 2020-01-13 17:09:28 UTC
@Jaroslav, note that this does mean that the users need to fully run rawhide, it is usually no problem at all to use a rawhide kernel on an older Fedora. It might be best if you ask users to test this to point them to a rc#.git0 build, these have the extra debugging rawhide kernels have disabled (OTOH a lockdep check on the new code might actually be a good idea). Anyways a non extra debug enabled kernel would be:  https://koji.fedoraproject.org/koji/buildinfo?buildID=1426552

And you can point people here for instructions for installing a kernel directly from koji:
https://fedorapeople.org/~jwrdegoede/kernel-test-instructions.txt

Although I can some value (less adventurous, might see more testing) in having the SOF drivers available in the regular F31 kernels but runtime disabled.

Comment 77 Jaroslav Kysela 2020-01-13 19:11:16 UTC
2 commits for rawhide (only required changes to enable UCM auto-detection): https://src.fedoraproject.org/fork/perex/rpms/kernel/commits/perex/sof-rawhide

Comment 78 David Ward 2020-01-13 20:19:16 UTC
Aside from the kernel, this is still going to require an update to PulseAudio, right?:

(In reply to ryan from comment #63)
> I've also had to build pulseaudio from git (I note your recent patches are
> now merged). 

Reminder that this would completely break sound on Broadwell systems with the current UCM2 profile (see comment 44).

Jaroslav updated the UCM2 profile and that fixed it (see comment 53), but that still needs to be merged upstream and included in the alsa-ucm package in Fedora.
https://github.com/alsa-project/alsa-ucm-conf/pull/9

Comment 79 ryan@testtoast.com 2020-01-13 22:50:55 UTC
> Aside from the kernel, this is still going to require an update to PulseAudio, right?

I need the UCM changes in PA-master at least for my system (X1 Yoga Cannon Point=LP with ALC285). With PA-master and the Fedora 5.4.8-200 kernel I do get sound (although without good volume control for my bass speakers which relies on the other kernel patch Jaroslav posted above).

As much as I'd like to stop building my own kernel, I think waiting for 5.6 (or at least 5.5), and new PA and ALSA packages might be appropriate. Breaking working HW is bad, but then so is non-working microphones on a business/developer laptop. Even though Jaroslav is doing great work, I can appreciate it may not be ready for stable release yet, and targeting rawhide/FC32 seems like a good idea.

Comment 80 David Ward 2020-01-14 15:21:15 UTC
(In reply to ryan from comment #79)
> > Aside from the kernel, this is still going to require an update to PulseAudio, right?
> 
> I need the UCM changes in PA-master at least for my system (X1 Yoga Cannon
> Point=LP with ALC285).

Can the PulseAudio package in Rawhide be updated to a development snapshot then?

Comment 81 Hans de Goede 2020-01-14 16:28:53 UTC
(In reply to David Ward from comment #80)
> (In reply to ryan from comment #79)
> > > Aside from the kernel, this is still going to require an update to PulseAudio, right?
> > 
> > I need the UCM changes in PA-master at least for my system (X1 Yoga Cannon
> > Point=LP with ALC285).
> 
> Can the PulseAudio package in Rawhide be updated to a development snapshot
> then?

It might be better to do a COPR with a pulseaudio snapshot, so that users who just want to test the audio bits can use F31 + the rawhide kernel + that COPR.

Comment 82 David Ward 2020-01-14 18:50:01 UTC
(In reply to Hans de Goede from comment #81)
> > Can the PulseAudio package in Rawhide be updated to a development snapshot
> > then?
> 
> It might be better to do a COPR with a pulseaudio snapshot, so that users
> who just want to test the audio bits can use F31 + the rawhide kernel + that
> COPR.

So my Broadwell system actually does not use the SOF driver. However the new UCM2 profile fully broke its sound — but this only occurs with the updated PulseAudio (not with release 13.0).

Again, Jaroslav provided a fix for ALSA userspace almost immediately (comment 45), which was just merged upstream. Is this believed to have been an isolated issue? I admit I would not have discovered this if I wasn't actively following this bug (because of bug 1750194). I happened to come across a thread about issues with UCM2 profiles for Baytrail-CR (which also does not use the SOF driver): https://bbs.archlinux.org/viewtopic.php?pid=1877396#p1877396

If the intention is to update PulseAudio for Fedora 32 to enable SOF, I would think that uploading it directly to Rawhide might help to reveal any other regressions like this sooner rather than later. Thoughts?

Comment 83 Jaroslav Kysela 2020-01-14 19:48:45 UTC
PA changes are already merged to rawhide:

  https://src.fedoraproject.org/rpms/pulseaudio/pull-request/4
  https://bodhi.fedoraproject.org/updates/FEDORA-2020-490b391246

The simplest way to install only pulseaudio from rawhide:

  dnf install fedora-repos-rawhide
  dnf --enablerepo=rawhide install pulseaudio

(waiting to confirm when the rawhide repo will be updated)

> Is this believed to have been an isolated issue?

I need to review the UCM2 profiles again, because PA correctly inherits the values among devices / verbs / defaults now. I will start to work on this tomorrow. We need a conformance test tool to check the UCM profiles from the application perspective. It's everything on my todo list.

> If the intention is to update PulseAudio for Fedora 32 to enable SOF, I would think that uploading it directly to Rawhide might help to reveal any other regressions like this sooner rather than later. Thoughts?

Yes, and yes for the kernel with the SOF driver available.

Comment 84 Rex Dieter 2020-01-15 14:32:21 UTC
FYI, pulseaudio copr tracks rawhide packaging for stable releases too,
https://copr.fedorainfracloud.org/coprs/rdieter/pulseaudio/

Comment 85 ryan@testtoast.com 2020-01-16 05:23:23 UTC
> We need to add this patch for Yoga to enable all speakers:  https://github.com/torvalds/linux/commit/54a6a7dc107da0492a9e84fd7e9a107b3c58138d

I'm just wondering if rerouting the Bass speaker sound like this is expected to have any impact on sound quality? It's hard to A-B reliably as I'm having to reboot to switch between kernels to test, but it seems like the bass output is a bit lacking with this patch compared with the old behaviour. Has anyone else noticed this or am I just imagining it?

Comment 86 Timothy Rees 2020-01-17 16:06:27 UTC
X1C7 user here, can I quickly confirm what I need to do to test out the fixes outline in this bug to test working audio on this notebook?  Do I just need to install the latest rawhide kernel and then use the following copr pulseaudio?

https://copr.fedorainfracloud.org/coprs/rdieter/pulseaudio/

Or are there also alsa patches I need to apply?

Comment 87 Bernie Innocenti 2020-01-20 20:19:48 UTC
(In reply to Timothy Rees from comment #86)
> X1C7 user here, can I quickly confirm what I need to do to test out the
> fixes outline in this bug to test working audio on this notebook?  Do I just
> need to install the latest rawhide kernel and then use the following copr
> pulseaudio?
> 
> https://copr.fedorainfracloud.org/coprs/rdieter/pulseaudio/
> 
> Or are there also alsa patches I need to apply?

I'm also an X1C7 user, and even with a full rawhide install, I still can't get audio working: kernel 5.5 is trying to load sof-cml.ri, which is not packaged in alsa-firmware at this time.

I believe this is the firmware we need (untested):

  https://github.com/thesofproject/linux-firmware/commit/beff732e6642bd77dac5dd08514264f055fc4d10#diff-76c141712563cc9d4730eb63acb36ad5R3804-R3808

Comment 88 Jaroslav Kysela 2020-01-20 20:23:02 UTC
Install latest alsa-firmware package 1.2.1-4 . The file is correctly symlinked to sof-cnl.ri there.

Comment 89 Bernie Innocenti 2020-01-20 20:27:56 UTC
(In reply to Jaroslav Kysela from comment #88)
> Install latest alsa-firmware package 1.2.1-4 . The file is correctly
> symlinked to sof-cnl.ri there.

Oh, indeed, thanks! Oddly, this build is available as an F31 update, but not in Rawhide:

  https://koji.fedoraproject.org/koji/buildinfo?buildID=1426494

Comment 90 Jaroslav Kysela 2020-01-20 20:36:28 UTC
I probably forget to build rawhide package, it should be fixed in few minutes: https://bodhi.fedoraproject.org/updates/FEDORA-2020-c0004b62e0 . Thanks for the report.

Comment 91 Bernie Innocenti 2020-01-20 20:41:50 UTC
Ok, I booted with alsa-firmware-1.2.1-4 and , and now the driver finds its firmware and initializes various outputs and inputs:

[    8.974207] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[    8.977046] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    9.191713] snd_soc_skl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[    9.193279] snd_soc_skl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    9.297108] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[    9.297610] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    9.298492] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
[    9.298533] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
[    9.299078] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[    9.300017] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    9.310319] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[    9.310322] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    9.383017] sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
[    9.383027] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[    9.482910] sof-audio-pci 0000:00:1f.3: Firmware info: version 1:1:0-fcf6c
[    9.482913] sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:11:0 Kernel ABI 3:11:0
[    9.483398] sof-audio-pci 0000:00:1f.3: firmware boot complete
[    9.489712] skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link iDisp1
[    9.489720] skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link iDisp2
[    9.489721] skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link iDisp3
[    9.489723] skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link Analog Playback and Capture
[    9.489724] skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link Digital Playback and Capture
[    9.489726] skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link dmic01
[    9.489727] skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link dmic16k
[    9.491522] sof-audio-pci 0000:00:1f.3: Topology: ABI 3:11:0 Kernel ABI 3:11:0
[    9.491528] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp3 Tx not handled
[    9.492633] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec0_in not handled
[    9.492637] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp2 Tx not handled
[    9.493490] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec1_in not handled
[    9.493494] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp1 Tx not handled
[    9.494322] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec0_out not handled
[    9.494327] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Analog CPU Playback not handled
[    9.495106] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec1_out not handled
[    9.495110] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Digital CPU Playback not handled
[    9.495114] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec2_in not handled
[    9.495117] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Alt Analog CPU Playback not handled
[    9.495121] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec2_out not handled
[    9.495125] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Analog CPU Capture not handled
[    9.495964] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp1_out not handled
[    9.495968] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Digital CPU Capture not handled
[    9.496788] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp2_out not handled
[    9.496792] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Alt Analog CPU Capture not handled
[    9.497677] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp3_out not handled
[    9.505980] sof-audio-pci 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred
[    9.525417] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC285: line_outs=2 (0x14/0x17/0x0/0x0/0x0) type:speaker
[    9.525419] snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    9.525421] snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    9.525422] snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
[    9.525424] snd_hda_codec_realtek ehdaudio0D0:    inputs:
[    9.525425] snd_hda_codec_realtek ehdaudio0D0:      Mic=0x19
[    9.564331] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
[    9.564342] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten
[    9.564406] skl_hda_dsp_generic skl_hda_dsp_generic: intel-hdmi-hifi1 <-> iDisp1 Pin mapping ok
[    9.564413] skl_hda_dsp_generic skl_hda_dsp_generic: intel-hdmi-hifi2 <-> iDisp2 Pin mapping ok
[    9.564420] skl_hda_dsp_generic skl_hda_dsp_generic: intel-hdmi-hifi3 <-> iDisp3 Pin mapping ok
[    9.564427] skl_hda_dsp_generic skl_hda_dsp_generic: Analog Codec DAI <-> Analog CPU DAI mapping ok
[    9.564435] skl_hda_dsp_generic skl_hda_dsp_generic: Digital Codec DAI <-> Digital CPU DAI mapping ok
[    9.564442] skl_hda_dsp_generic skl_hda_dsp_generic: dmic-hifi <-> DMIC01 Pin mapping ok
[    9.564449] skl_hda_dsp_generic skl_hda_dsp_generic: dmic-hifi <-> DMIC16k Pin mapping ok
[    9.564493] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> DMIC48kHz 6 mapping ok
[    9.564531] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> DMIC16kHz 7 mapping ok
[    9.564586] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Analog 0 mapping ok
[    9.564664] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Digital 1 mapping ok
[    9.564716] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI1 3 mapping ok
[    9.564772] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI2 4 mapping ok
[    9.564831] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI3 5 mapping ok
[    9.564901] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi3 overwritten
[    9.564905] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi2 overwritten
[    9.564909] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi1 overwritten
[    9.564912] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Codec Output Pin1 overwritten
[    9.564916] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Codec Input Pin1 overwritten
[    9.564922] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Analog Codec Playback overwritten
[    9.564928] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Digital Codec Playback overwritten
[    9.564932] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Alt Analog Codec Playback overwritten
[    9.564938] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Analog Codec Capture overwritten
[    9.564942] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Digital Codec Capture overwritten
[    9.564947] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Alt Analog Codec Capture overwritten
[    9.580287] input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input15
[    9.580819] input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input16
[    9.580988] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input17
[    9.581150] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input18
[    9.581340] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input19

Comment 92 Bernie Innocenti 2020-01-20 20:45:06 UTC
Oops, I hadn't scrolled far down enough:

[   19.581960] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[   19.676540] sof-audio-pci 0000:00:1f.3: firmware boot complete
[...]
[   24.980635] sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
[   24.980658] sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
[   24.980668]  Analog Playback and Capture: ASoC: trigger BE failed -22
[   24.980670]  HDA Analog: ASoC: trigger FE cmd: 0 failed: -22
[   24.981840] sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
[   24.981844] sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
[   24.981846]  Analog Playback and Capture: ASoC: trigger BE failed -22
[   24.981848]  HDA Analog: ASoC: trigger FE cmd: 0 failed: -22
[   24.983468] sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
[   24.983472] sof-audio-pci 0000:00:1f.3: error: failed to set dai config for iDisp1
[   24.983475]  iDisp1: ASoC: trigger BE failed -22
[   24.983478]  HDMI1: ASoC: trigger FE cmd: 0 failed: -22
[   24.984403] sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
[   24.984407] sof-audio-pci 0000:00:1f.3: error: failed to set dai config for iDisp2
[   24.984411]  iDisp2: ASoC: trigger BE failed -22
[   24.984414]  HDMI2: ASoC: trigger FE cmd: 0 failed: -22
[   24.985863] sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
[   24.985873] sof-audio-pci 0000:00:1f.3: error: failed to set dai config for iDisp3
[   24.985880]  iDisp3: ASoC: trigger BE failed -22
[   24.985884]  HDMI3: ASoC: trigger FE cmd: 0 failed: -22

And, as soon as I start playing back anything:

[  331.251163] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[  334.342362] sof-audio-pci 0000:00:1f.3: error: cl_copy_fw: timeout HDA_DSP_SRAM_REG_ROM_STATUS read
[  334.342384] sof-audio-pci 0000:00:1f.3: error: load fw failed ret: -110
[  334.342773] sof-audio-pci 0000:00:1f.3: error: status = 0x00000000 panic = 0x00000000
[  334.342786] sof-audio-pci 0000:00:1f.3: error: failed to reset DSP
[  334.342793] sof-audio-pci 0000:00:1f.3: error: failed to boot DSP firmware after resume -110
[  334.848497] sof-audio-pci 0000:00:1f.3: error: ipc timed out for 0x80010000 size 120
[  334.848541] sof-audio-pci 0000:00:1f.3: error: status = 0x001d003c panic = 0x00000003
[  334.848557] sof-audio-pci 0000:00:1f.3: error: hda irq intsts 0x00000000 intlctl 0x00000000 rirb 00
[  334.848564] sof-audio-pci 0000:00:1f.3: error: dsp irq ppsts 0x00000000 adspis 0x00000000
[  334.848577] sof-audio-pci 0000:00:1f.3: error: host status 0x00000000 dsp status 0x00040000 mask 0x00000000
[  334.848627] sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
[  334.848666] sof-audio-pci 0000:00:1f.3: ASoC: can't set Analog CPU DAI hw params: -110
[  334.848696]  Analog Playback and Capture: ASoC: hw_params BE failed -110
[  334.848714]  HDA Analog: ASoC: hw_params BE failed -110
[  335.352830] sof-audio-pci 0000:00:1f.3: error: ipc timed out for 0x80010000 size 120
[  335.352840] sof-audio-pci 0000:00:1f.3: error: status = 0x001d003c panic = 0x00000003
[  335.352849] sof-audio-pci 0000:00:1f.3: error: hda irq intsts 0x00000000 intlctl 0x00000000 rirb 00
[  335.352852] sof-audio-pci 0000:00:1f.3: error: dsp irq ppsts 0x00000000 adspis 0x00000000
[  335.352858] sof-audio-pci 0000:00:1f.3: error: host status 0x00000000 dsp status 0x00040000 mask 0x00000000
[  335.352862] sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
[  335.352865] sof-audio-pci 0000:00:1f.3: ASoC: can't set Analog CPU DAI hw params: -110
[  335.352874]  Analog Playback and Capture: ASoC: hw_params BE failed -110
[  335.352876]  HDA Analog: ASoC: hw_params BE failed -110
[  335.856458] sof-audio-pci 0000:00:1f.3: error: ipc timed out for 0x80010000 size 120
[  335.856479] sof-audio-pci 0000:00:1f.3: error: status = 0x001d003c panic = 0x00000003
[  335.856495] sof-audio-pci 0000:00:1f.3: error: hda irq intsts 0x00000000 intlctl 0x00000000 rirb 00
[  335.856503] sof-audio-pci 0000:00:1f.3: error: dsp irq ppsts 0x00000000 adspis 0x00000000

Comment 93 Bernie Innocenti 2020-01-20 20:53:00 UTC
Ok, so it's not working :-(

Applications trying to play sound just hang, and pulseaudio-13.0-2.20200105gitf5d36.fc32 is spewing errors:

Jan 21 05:38:22 giskard pulseaudio[1136]: E: [alsa-sink-HDA Analog (*)] alsa-sink.c: Failed to set hardware parameters: Connection timed out
Jan 21 05:38:25 giskard pulseaudio[1136]: E: [alsa-sink-HDA Analog (*)] alsa-sink.c: Failed to set hardware parameters: Connection timed out
Jan 21 05:38:28 giskard pulseaudio[1136]: E: [alsa-sink-HDA Analog (*)] alsa-sink.c: Failed to set hardware parameters: Connection timed out
Jan 21 05:44:27 giskard pulseaudio[1136]: E: [alsa-sink-HDA Analog (*)] alsa-sink.c: Failed to set hardware parameters: Connection timed out
...

Comment 94 Jaroslav Kysela 2020-01-20 20:57:27 UTC
The errors in comment 92 mean that the driver does not communicate properly with DSP. I've not checked the rawhide kernel (the 5.4 kernel was a bit different). I'll do it tomorrow. Thank you for the test.

Comment 95 Bernie Innocenti 2020-01-20 21:05:30 UTC
(In reply to Jaroslav Kysela from comment #94)
> The errors in comment 92 mean that the driver does not communicate properly
> with DSP. I've not checked the rawhide kernel (the 5.4 kernel was a bit
> different). I'll do it tomorrow. Thank you for the test.

This is amazing realtime support, please accept my eternal gratitude! :-)

Happy to run more tests, send logs or downgrade to 5.4 if it's supposed to work.

Comment 96 Jeremy Cline 2020-01-21 21:01:24 UTC
Okay, I've pulled the driver back into Fedora 31 including the patch from https://bugzilla.redhat.com/show_bug.cgi?id=1772498#c72 and it's available in kernel-5.4.13-201.fc31.

Comment 97 Peter F. Patel-Schneider 2020-01-21 22:21:39 UTC
Great.  Where is this kernel so that I can give it a whirl?

Comment 98 Javier Martinez Canillas 2020-01-21 22:25:23 UTC
(In reply to Peter F. Patel-Schneider from comment #97)
> Great.  Where is this kernel so that I can give it a whirl?

https://bodhi.fedoraproject.org/updates/FEDORA-2020-aa144b34ed

Comment 99 Jaroslav Kysela 2020-01-21 22:27:13 UTC
Note that this kernel will require this extra configuration to activate the SOF driver:

  echo "options snd-intel-dspcfg dsp_driver=0" > /etc/modprobe.d/alsa.conf

Comment 100 Jaroslav Kysela 2020-01-22 08:36:23 UTC
For testers: Do not use kernel-5.4.13-201.fc31 nor rawhide kernels at the moment. Both have issues. I am trying to find the root of the problems.

The only working kernel is vanilla mainline kernel: https://fedoraproject.org/wiki/Kernel_Vanilla_Repositories (tested with kernel-5.5.0-0.rc7.git0.1.vanilla.knurd.1.fc31.x86_64).

The 5.5 vanilla kernel requires this UCM change (no automatic dmic channel count detection):

  # diff -u /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf~ /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf
  --- /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf~	2019-12-09 13:53:48.000000000 +0100
  +++ /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf	2020-01-22 09:03:43.084400628 +0100
  @@ -150,7 +150,7 @@
 				CaptureChannels "4"
 			}
 			False {
  -				CaptureChannels "2"
  +				CaptureChannels "4"
 			}
 		}
 		If.vol {

The user space is fine (pulseaudio from copr, latest alsa-lib/alsa-ucm/alsa-firmware). I upgraded SOF firmware in the alsa-firmware package to 1.4.2 (fc31: https://bodhi.fedoraproject.org/updates/FEDORA-2020-18cc548263, already in rawhide).

Comment 101 Jaroslav Kysela 2020-01-22 19:13:50 UTC
I found the kernel issue with the current 5.4.13 stable kernel (it exists since 5.4.11): https://lore.kernel.org/alsa-devel/20200122190752.3081016-1-perex@perex.cz/T/#u

Jeremy, could you, please, apply my patch to the Fedora 5.4 kernel? The 5.5 kernel is not affected. Thank you.

I will check the rawhide kernel now.

Comment 102 Jeremy Cline 2020-01-24 09:15:54 UTC
(In reply to Jaroslav Kysela from comment #101)
> I found the kernel issue with the current 5.4.13 stable kernel (it exists
> since 5.4.11):
> https://lore.kernel.org/alsa-devel/20200122190752.3081016-1-perex@perex.cz/T/
> #u
> 
> Jeremy, could you, please, apply my patch to the Fedora 5.4 kernel? The 5.5
> kernel is not affected. Thank you.
> 
> I will check the rawhide kernel now.

I’ve pulled this into Fedora’s v5.4.14 (https://bodhi.fedoraproject.org/updates/FEDORA-2020-3278105741).

Comment 103 Benjamin Berg 2020-01-27 11:02:08 UTC
Seems like the kernel is working fine on the X1 now. The driver loads.

However, it tries to load intel/sof-tplg/sof-hda-generic-4ch.tplg but I only have intel/sof-tplg/sof-hda-generic.tplg installed on the machine.

Comment 104 ryan@testtoast.com 2020-01-27 22:25:05 UTC
> However, it tries to load intel/sof-tplg/sof-hda-generic-4ch.tplg but I only have intel/sof-tplg/sof-hda-generic.tplg installed on the machine.

If you installed that topology file manually, remove it and install the alsa-firmware and alsa-ucm packages, which are now up to date and contain all the required topology files including sof-hda-generic-4ch.tplg.

Comment 105 Benjamin Berg 2020-01-28 11:33:50 UTC
Created attachment 1655994 [details]
dmesg output with firmware loading

Hmm, yeah, that did help a lot. Things are mostly working, there is an error though (which I guess is harmless):

[   15.041250] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[   15.139138] sof-audio-pci 0000:00:1f.3: firmware boot complete

OK, so, I have a few other notes/issues:
 1. After reboot, the profile was "Off"; I turned it to "Play HiFi quality Music (unavailable)" using pavucontrol and then it started working
 2. All input devices are marked as "unplugged", *including* the "Digital Microphone"
 3. Plugging in a headset -> profile switches off again (sometimes it switches to "available" after selecting the profile in pavucontrol)
 4. The input gains are still not automatically adjusted
 5. I have 4 holes at the top of the laptop, these seem to be the "DMIC" microphones. There is another hole next to the camera, this one does not seem to do anything. I don't know whether the hole next to the camera is a indeed a microphone. But if it is, it would probably have a much better directional characteristic for making calls using the laptop. While the ones on the top would be great as a room microphone.

HDMI/DP seems to be detected correctly.

Comment 106 Benjamin Berg 2020-01-28 11:37:52 UTC
 3. Plugging in a headset -> profile switches off again (sometimes it switches to "available" after selecting the profile in pavucontrol)

I should say, that this seems to only happen when I have a USB sound card attached (via a dock). But the outputs just disappear in a way that make them impossible to select it in GNOME control center at least.

Comment 107 Jaroslav Kysela 2020-01-29 10:18:39 UTC
Do you have the pulseaudio from copr (comment 84) ?

Comment 108 Benjamin Berg 2020-01-29 11:11:26 UTC
(In reply to Jaroslav Kysela from comment #107)
> Do you have the pulseaudio from copr (comment 84) ?

I did not! Unfortunately, I might not be able to test this again until next week.

Comment 109 Javier Martinez Canillas 2020-01-29 11:15:51 UTC
(In reply to Jaroslav Kysela from comment #107)
> Do you have the pulseaudio from copr (comment 84) ?

Will that land in F31 as well?

Comment 110 Rex Dieter 2020-01-29 22:50:41 UTC
In general, pulseaudio git snapshots (what is in copr at the moment), are not good candidates for stable release updates.

Comment 111 Denzil Ferreira 2020-01-30 15:58:40 UTC
Hi guys,

Using Lenovo Thinkpad X1 Carbon 7th Gen. Now I have a working laptop with functional speakers and microphone! WOOHOO!

Kernel: Linux ferreira-x1c7g 5.4.14-200.fc31.x86_64 #1 SMP Thu Jan 23 13:06:12 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
pulseaudio: 13.0 from copr comment 84
enabled Fedora testing repos

I've added this to /etc/modprobe.d/alsa.conf
> options snd-intel-dspcfg dsp_driver=0

I've edited /etc/pulse/daemon.conf to have these:
> remixing-produce-lfe = yes
> remixing-consume-lfe = yes

This enables volume control on the speakers!

Removed this line for /etc/pulse/default.pa
> load-module module-alsa-source device=hw:0,7

Rebooted and voilá! Thanks!!!

Comment 112 Denzil Ferreira 2020-01-30 19:40:03 UTC
I did further tests at home: 
- HDMI/DP audio is also working properly and doesn't mess up the setup. 
- I can adjust the volume too, both over HDMI, speakers, and DMIC!

Working great as far as I can tell. Speaker sound is greatly improved to what it was before and I don't need to run alsamixer to raise the DMIC volume anymore.

Output of: sudo dmesg | grep sof
[   13.243130] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[   13.243232] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[   13.243386] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
[   13.243392] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
[   13.243516] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[   13.243648] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[   13.254896] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[   13.254897] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[   13.304496] sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
[   13.304497] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[   13.390040] sof-audio-pci 0000:00:1f.3: Firmware info: version 1:4:2-66a5a
[   13.390042] sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:11:0 Kernel ABI 3:11:0
[   13.390289] sof-audio-pci 0000:00:1f.3: firmware boot complete
[   13.393117] sof-audio-pci 0000:00:1f.3: Topology: ABI 3:11:0 Kernel ABI 3:11:0
[   13.393120] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp3 Tx not handled
[   13.393962] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec0_in not handled
[   13.393964] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp2 Tx not handled
[   13.395117] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec1_in not handled
[   13.395118] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp1 Tx not handled
[   13.396499] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec0_out not handled
[   13.396502] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Analog CPU Playback not handled
[   13.399670] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec1_out not handled
[   13.399672] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Digital CPU Playback not handled
[   13.399674] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec2_in not handled
[   13.399675] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Alt Analog CPU Playback not handled
[   13.399676] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec2_out not handled
[   13.399678] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Analog CPU Capture not handled
[   13.400611] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp1_out not handled
[   13.400612] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Digital CPU Capture not handled
[   13.402114] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp2_out not handled
[   13.402116] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Alt Analog CPU Capture not handled
[   13.402895] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp3_out not handled
[   13.417895] sof-audio-pci 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred
[   13.508013] input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card2/input20
[   13.508072] input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card2/input21
[   13.508117] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card2/input22
[   13.508157] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card2/input23
[   13.509911] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card2/input24
[   18.304799] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[   18.399783] sof-audio-pci 0000:00:1f.3: firmware boot complete

Output of: sudo dmesg | grep snd
[   12.862256] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[   12.862384] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[   13.027832] usbcore: registered new interface driver snd-usb-audio
[   13.159486] snd_soc_skl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[   13.159612] snd_soc_skl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[   13.447299] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC285: line_outs=2 (0x14/0x17/0x0/0x0/0x0) type:speaker
[   13.447301] snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   13.447302] snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[   13.447303] snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
[   13.447304] snd_hda_codec_realtek ehdaudio0D0:    inputs:
[   13.447305] snd_hda_codec_realtek ehdaudio0D0:      Mic=0x19
[   13.490915] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
[   13.490920] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten
[   13.491089] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> DMIC48kHz 6 mapping ok
[   13.491115] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> DMIC16kHz 7 mapping ok
[   13.491149] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Analog 0 mapping ok
[   13.491186] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Digital 1 mapping ok
[   13.491211] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI1 3 mapping ok
[   13.491235] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI2 4 mapping ok
[   13.491261] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI3 5 mapping ok

Comment 113 Javier Martinez Canillas 2020-01-31 10:11:46 UTC
(In reply to Rex Dieter from comment #110)
> In general, pulseaudio git snapshots (what is in copr at the moment), are
> not good candidates for stable release updates.

Yes, I know. What I tried to ask is if there was a plan to get the needed changes in F31 (either backporting the needed changes to the pulseaudio version in F31 or expecting a new release soon that can be a candidate a stable update).

Or will F31 users necessarily need to install this pulseaudio snapshot from COPR to have the audio working?

Comment 114 Hans de Goede 2020-01-31 10:53:24 UTC
Note that last time I tried them the pulseaudio git snapshots were causing regressions on Intel devices using the SST driver (instead of the HDA driver), like the SOF driver the SST driver uses the ASoC framework and it needs working UCM profiles for some reason the pulseaudio changes to improve the UCM support in pulse are breaking UCN support for decices with SST audio.

I plan to look into this next week.

Comment 115 Jaroslav Kysela 2020-01-31 15:17:01 UTC
(In reply to Hans de Goede from comment #114)
> Note that last time I tried them the pulseaudio git snapshots were causing
> regressions on Intel devices using the SST driver (instead of the HDA
> driver), like the SOF driver the SST driver uses the ASoC framework and it
> needs working UCM profiles for some reason the pulseaudio changes to improve
> the UCM support in pulse are breaking UCN support for decices with SST audio.
> 
> I plan to look into this next week.

I already isolated that issue. The problem is that the current UCM configurations are weak in the specific cases and we should handle this in a more systematic way.

All PlaybackPCM / CapturePCM values must be assigned to the SectionDevice only with the latest PA which handles correctly the inheritance of Value section among Device / Verb / Defaults. So all PlaybackPCM / CapturePCM values should be removed from SectionVerb. It's not only that problem. There are problems with the device naming (out of specification), missing priorities etc., inconsistend SupportedDevices / ConflictingDevices etc. While I was trying to fix all configs manually, I found that's really difficult to do this, because I don't have the real immediate feedback. I ended to create a verification tool which will detect those problems without the hardware.

Give me, please, more few days to finish this and push updated UCM configs which will work with old and new PA and we will have a real tool to do such checks. Basically, this tool will do the basic syntactic and value checks and emulate the real hardware using the alsa-info text files.

Comment 116 Peter F. Patel-Schneider 2020-02-01 19:55:41 UTC
My experience on my Lenovo Yoga C940 is not so good.

I have 
Kernel: Linux idefix 5.4.14-200.fc31.x86_64 #1 SMP Thu Jan 23 13:06:12 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
pulseaudio: 13.0 from copr 
didn't enable testing repo - got kernel directly from bodhi build

: I've added this to /etc/modprobe.d/alsa.conf
: > options snd-intel-dspcfg dsp_driver=0
Ditto.  This is required to have the sof stuff functional, I believe.

: I've edited /etc/pulse/daemon.conf to have these:
: > remixing-produce-lfe = yes
: > remixing-consume-lfe = yes
: 
: This enables volume control on the speakers!
What exactly does this do?  Do you have extra volume controls in alsamixer? 

: Removed this line for /etc/pulse/default.pa
: > load-module module-alsa-source device=hw:0,7
I didn't have this line in /etc/pulse/default.pa.  I end up with three HDMI/DP outputs, as expected, but their plugged-in state isn't updated.

On some boots things work as expected, but the extra speakers don't work because they are powered off by default.


On other boots I see
Feb 01 14:42:08 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: failed to init link iDisp1: -517
and no sound cards are found.

Comment 117 Denzil Ferreira 2020-02-02 09:19:26 UTC
: I've edited /etc/pulse/daemon.conf to have these:
: > remixing-produce-lfe = yes
: > remixing-consume-lfe = yes
: 
: This enables volume control on the speakers!
What exactly does this do?  Do you have extra volume controls in alsamixer? 

This allows me to progressively adjust the volume using the keyboard keys. Without it, the volume stayed loud all the way down to turn off when reaching 0%.


I also installed alsa-firmware and alsa-ucm from testing repo. Maybe that's missing for your machine?

Comment 118 Peter F. Patel-Schneider 2020-02-02 13:09:38 UTC
: I also installed alsa-firmware and alsa-ucm from testing repo. Maybe that's missing for your machine?

I tried upgrading these from updates-testing, but nothing new comes through.

Comment 119 Denzil Ferreira 2020-02-03 12:11:06 UTC
(In reply to Peter F. Patel-Schneider from comment #118)
> : I also installed alsa-firmware and alsa-ucm from testing repo. Maybe
> that's missing for your machine?
> 
> I tried upgrading these from updates-testing, but nothing new comes through.

If you install pavucontrol, in the configuration tab, do you see Cannon Point-LP High Definition Audio Controller and is the profile set to "Play High quality Music"?

In the Input Devices, I see on mine "Digital Microphone" under Cannon Point-LP High Definition Audio Controller Digital Microphone

I'm also using the Gnome Extension: https://extensions.gnome.org/extension/906/sound-output-device-chooser/

Which allows me to quickly select the input and output sources for the audio controller.

Hope it helps!
Denzil

Comment 120 Benjamin Berg 2020-02-11 15:33:40 UTC
OK, I did another test, this time with:

 * pulseaudio-13.0-2.20200105gitf5d36
 * alsa-firmware-1.2.1-5
 * alsa-ucm-1.2.1.2-4.fc31
 * Kernel: 5.4.18-200.fc31
 * Correctly set "options snd-intel-dspcfg dsp_driver=0"
 * Driver has loaded

And, pulseaudio is unhappy, complaining when trying to load the module after detecting the card:

  E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.

So yeah, this is *not* working in my test.

Some observations, but I am not getting audio from PA so stopped there right now:
 1. I am still getting the "error: no reply expected, received 0x0" kernel warning
 2. alsamixer is showing me an insane amount of ports
 3. The Playback category is showing me "Mic Boost", etc.; seems like the category is not quite right?

(This is a fresh F31 installation; last time I already had some UCM files and firmware dropped in separately which might explain some differences.)

Comment 121 Jaroslav Kysela 2020-02-11 16:05:59 UTC
There's an issue with IPC errors (probably related to the video interface) in 5.5 kernel: https://github.com/thesofproject/linux/issues/1747

The workaround:

  # cat /etc/modprobe.d/alsa.conf
  options snd-sof-pci sof_pci_debug=1
  options snd-intel-dspcfg dsp-driver=0

I suspect that this patch might resolve this (will test ASAP):

  https://mailman.alsa-project.org/pipermail/alsa-devel/2020-February/162648.html

> 1. I am still getting the "error: no reply expected, received 0x0" kernel warning

We reported many times this to Intel people. Nobody care. It's harmless.

> 2. alsamixer is showing me an insane amount of ports

Yes, welcome to the ASoC driver jungle. Those tools become useless.

> 3. The Playback category is showing me "Mic Boost", etc.; seems like the category is not quite right?

It belongs to both playback (loopback) and capture. So we select only one category and the playback is first.

Comment 122 Benjamin Berg 2020-02-11 16:31:00 UTC
> We reported many times this to Intel people. Nobody care. It's harmless.

Yeah, I figured as much … just not very nice to throw around errors if everything is fine

> Yes, welcome to the ASoC driver jungle. Those tools become useless.
> It belongs to both playback (loopback) and capture. So we select only one category and the playback is first.

Fair enough.

I am not running into the IPC errors though, and the issue that PA refuses to use the device remains.

Comment 123 Peter F. Patel-Schneider 2020-02-11 17:49:58 UTC
Created attachment 1662509 [details]
system log extract on successful SOF boot

Comment 124 Peter F. Patel-Schneider 2020-02-11 17:55:32 UTC
My recent test was very successful.

Packages
 * pulseaudio-13.0-2.20200105gitf5d36
 * alsa-firmware-1.2.1-5
 * alsa-ucm-1.2.1.2-4.fc31
 * Kernel: 5.4.17-200.fc31
Options
# cat /etc/modprobe.d/alsa.conf
options snd-sof-pci sof_pci_debug=1
options snd-intel-dspcfg dsp-driver=0

The driver loads, alsa and pulseaudio are happy, sound plays, etc.  I'm going to keep running this to see if anything bad happens after suspend, etc.
There are a bunch of warnings about various widgets not being handled.  I've attached an extract of the system log

@Denzil In pavucontrol I see configuration "Smart Sound Technology Audio Controller" with profile "Play HiFi quality Music".  There are Input Device "Digital Microphone" and three unplugged HDMI outputs plus the analogue output.

Comment 125 Peter F. Patel-Schneider 2020-02-11 17:56:03 UTC
Created attachment 1662511 [details]
system log extract on successful SOF boot

Comment 126 m.frueauff 2020-02-11 19:20:37 UTC
Peter,

Same config as Yours but kernel kernel-5.4.18-200.fc31.x86_64 and sound is not working any more.

Attached the system logs.


regs.
Marek

btw.
With exactly the same config as Yours only 2 of 4 speakers plays sound on X1 Carbon 7th.

Comment 127 m.frueauff 2020-02-11 19:23:51 UTC
Created attachment 1662515 [details]
kernel-5.4.18-200.fc31.x86_64 - faild to initiate sound - syslog

Comment 128 Peter F. Patel-Schneider 2020-02-11 20:36:27 UTC
Marek:  I also only have two speakers (of the five on my Yoga C940) producing sound.  This is a separate problem having to do with the post-sound-card amplifiers.  There might be a known solution for your X1.

Comment 129 Denzil Ferreira 2020-02-12 07:01:50 UTC
(In reply to Peter F. Patel-Schneider from comment #124)
> My recent test was very successful.
> 
> Packages
>  * pulseaudio-13.0-2.20200105gitf5d36
>  * alsa-firmware-1.2.1-5
>  * alsa-ucm-1.2.1.2-4.fc31
>  * Kernel: 5.4.17-200.fc31
> Options
> # cat /etc/modprobe.d/alsa.conf
> options snd-sof-pci sof_pci_debug=1
> options snd-intel-dspcfg dsp-driver=0
> 
> The driver loads, alsa and pulseaudio are happy, sound plays, etc.  I'm
> going to keep running this to see if anything bad happens after suspend, etc.
> There are a bunch of warnings about various widgets not being handled.  I've
> attached an extract of the system log
> 
> @Denzil In pavucontrol I see configuration "Smart Sound Technology Audio
> Controller" with profile "Play HiFi quality Music".  There are Input Device
> "Digital Microphone" and three unplugged HDMI outputs plus the analogue
> output.

Also working for me with kernel 5.4.18-200! 

My installed packages:
- pulseaudio: 13.0-2.20200105gitf5d36.fc31
- alsa-firmware: 1.2.1-5.fc31
- alsa-ucm: 1.2.1.2-4.fc31
- kernel: Linux ferreira-x1c7g 5.4.18-200.fc31.x86_64

I added the snf-sof-pci sof_pci_debug=1 to my modprobe too. This is looking great and makes my X1 Carbon 7th Gen working flawlessly with Fedora 31 now. Suspend works (I have it set to Linux in the BIOS) and battery life is easily 7-9h on the UHD 4K display (not touchscreen) :-D

Comment 130 Denzil Ferreira 2020-02-12 07:04:14 UTC
(In reply to Peter F. Patel-Schneider from comment #128)
> Marek:  I also only have two speakers (of the five on my Yoga C940)
> producing sound.  This is a separate problem having to do with the
> post-sound-card amplifiers.  There might be a known solution for your X1.

@Marek

edit /etc/pulse/default.pa and add these two lines:

load-module module-alsa-sink device=hw:0,0 channels=4
load-module module-alsa-source device=hw:0,7 channels=4

That should enable all speakers.

Comment 131 Denzil Ferreira 2020-02-12 07:14:41 UTC
(In reply to Denzil Ferreira from comment #130)
> (In reply to Peter F. Patel-Schneider from comment #128)
> > Marek:  I also only have two speakers (of the five on my Yoga C940)
> > producing sound.  This is a separate problem having to do with the
> > post-sound-card amplifiers.  There might be a known solution for your X1.
> 
> @Marek
> 
> edit /etc/pulse/default.pa and add these two lines:
> 
> load-module module-alsa-sink device=hw:0,0 channels=4
> load-module module-alsa-source device=hw:0,7 channels=4
> 
> That should enable all speakers.

For full disclosure, I got these from here: https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_7)
On that wiki, they also say to blacklist snd_hda_intel and snd_soc_skl but I didn't have to do that at all on Fedora.

Comment 132 m.frueauff 2020-02-12 08:21:41 UTC
(In reply to Denzil Ferreira from comment #131)
> (In reply to Denzil Ferreira from comment #130)
> > (In reply to Peter F. Patel-Schneider from comment #128)
> > > Marek:  I also only have two speakers (of the five on my Yoga C940)
> > > producing sound.  This is a separate problem having to do with the
> > > post-sound-card amplifiers.  There might be a known solution for your X1.
> > 
> > @Marek
> > 
> > edit /etc/pulse/default.pa and add these two lines:
> > 
> > load-module module-alsa-sink device=hw:0,0 channels=4
> > load-module module-alsa-source device=hw:0,7 channels=4
> > 
> > That should enable all speakers.
> 
> For full disclosure, I got these from here:
> https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_7)
> On that wiki, they also say to blacklist snd_hda_intel and snd_soc_skl but I
> didn't have to do that at all on Fedora.

Denzil

Thanks a lot - Your trick do the job ! :)
Now I have all 4 speakers generating sound !

regs.
Marek

Comment 133 Jaroslav Kysela 2020-02-12 09:02:51 UTC
Could you attach C940 alsa-info.sh output running 5.5 kernel? Thank you.

Comment 134 Denzil Ferreira 2020-02-12 11:07:14 UTC
Just in case you face the same issue as I just did today. I got a new monitor today, with built-in speakers. I attached my X1 Carbon 7th Gen to the monitor using an HDMI cable and booted it up from cold. I don't get any output devices detected. This was weird, because until then I had sound on the laptop (albeit no external speakers).

So I rebooted, this time without the monitor attached. Output devices detected! I connected the monitor, all OK and I can transition from the laptop to the monitor speakers no issue. 

So if you are using your laptop connected to an external display with built-in speakers: boot first and only then connect the monitor!

May help some people here :o)

Comment 135 Peter F. Patel-Schneider 2020-02-12 12:02:35 UTC
I'm still in the situation that some boots are not successful on my C940.  No change from https://bugzilla.redhat.com/show_bug.cgi?id=1772498#c124 but there is an error from sof-audio-pci.  Here is the log extract:

idefix ~> journalctl -b | grep "sof-\|hda[-_]"
Feb 12 06:50:07 idefix kernel: snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
Feb 12 06:50:07 idefix kernel: snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
Feb 12 06:50:07 idefix kernel: sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
Feb 12 06:50:07 idefix kernel: sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
Feb 12 06:50:07 idefix kernel: sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
Feb 12 06:50:07 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
Feb 12 06:50:07 idefix kernel: sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
Feb 12 06:50:07 idefix kernel: sof-audio-pci 0000:00:1f.3: use msi interrupt mode
Feb 12 06:50:07 idefix kernel: sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
Feb 12 06:50:07 idefix kernel: sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
Feb 12 06:50:07 idefix kernel: sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
Feb 12 06:50:08 idefix kernel: sof-audio-pci 0000:00:1f.3: error: codec #2 probe error, ret: -5
Feb 12 06:50:08 idefix kernel: sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
Feb 12 06:50:08 idefix kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Feb 12 06:50:08 idefix kernel: sof-audio-pci 0000:00:1f.3: Firmware info: version 1:1:0-fcf6c
Feb 12 06:50:08 idefix kernel: sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:11:0 Kernel ABI 3:11:0
Feb 12 06:50:08 idefix kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Feb 12 06:50:08 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: failed to init link iDisp1: -517

Also, sometimes suspending and resuming causes problems.  I'll try to get better information on this, but it may be related to the above.

Comment 136 Peter F. Patel-Schneider 2020-02-12 12:06:49 UTC
I'm attaching the output of alsa-info.sh for an unsuccessful boot on my C940.  This is with kernel 5.4.17-200.fc31.x86_64+debug.  I have an older vanilla 5.5, do you specifically want that or just output for a successful boot on this kernel?

Comment 137 Peter F. Patel-Schneider 2020-02-12 12:09:23 UTC
Created attachment 1662656 [details]
alsa-info.sh for unsuccessful boot on Lenovo Yoga C940 with kernel 5.4.17-200.fc31.x86_64+debug

Comment 138 Jaroslav Kysela 2020-02-12 14:19:32 UTC
Peter, could you test kernel from http://people.redhat.com/~jkysela/sof/kernel-i915/ ? The kernel fix mentioned in comment#121 is there.

Also, please, attach alsa-info output from the working boot. Thank you.

Comment 139 Peter F. Patel-Schneider 2020-02-12 14:40:14 UTC
I just got this alsa-info.sh output from a working boot.  :-)
I'm attaching the output.  
I'll try the new kernel soon-ish.

Comment 140 Peter F. Patel-Schneider 2020-02-12 14:41:29 UTC
Created attachment 1662687 [details]
alsa-info.sh for successful boot on Lenovo Yoga C940 with kernel 5.4.17-200.fc31.x86_64+debug

Comment 141 Peter F. Patel-Schneider 2020-02-12 14:44:46 UTC
Here is a system log extract that might show some extra information:

idefix 2020 CRD> journalctl -b | grep "sof-\|hda[-_]"
Feb 12 08:30:11 idefix kernel: snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
Feb 12 08:30:11 idefix kernel: snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: use msi interrupt mode
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: Firmware info: version 1:1:0-fcf6c
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:11:0 Kernel ABI 3:11:0
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link iDisp1
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link iDisp2
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link iDisp3
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link Analog Playback and Capture
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link Digital Playback and Capture
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link dmic01
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override FE DAI link dmic16k
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: Topology: ABI 3:11:0 Kernel ABI 3:11:0
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp3 Tx not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec0_in not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp2 Tx not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec1_in not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp1 Tx not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec0_out not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Analog CPU Playback not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec1_out not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Digital CPU Playback not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec2_in not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Alt Analog CPU Playback not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec2_out not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Analog CPU Capture not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp1_out not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Digital CPU Capture not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp2_out not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Alt Analog CPU Capture not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp3_out not handled
Feb 12 08:30:11 idefix kernel: sof-audio-pci 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred
Feb 12 08:30:11 idefix kernel: snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC298: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
Feb 12 08:30:11 idefix kernel: snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
Feb 12 08:30:11 idefix kernel: snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
Feb 12 08:30:11 idefix kernel: snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
Feb 12 08:30:11 idefix kernel: snd_hda_codec_realtek ehdaudio0D0:    inputs:
Feb 12 08:30:11 idefix kernel: snd_hda_codec_realtek ehdaudio0D0:      Mic=0x18
Feb 12 08:30:11 idefix kernel: snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
Feb 12 08:30:11 idefix kernel: snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: intel-hdmi-hifi1 <-> iDisp1 Pin mapping ok
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: intel-hdmi-hifi2 <-> iDisp2 Pin mapping ok
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: intel-hdmi-hifi3 <-> iDisp3 Pin mapping ok
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: Analog Codec DAI <-> Analog CPU DAI mapping ok
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: Digital Codec DAI <-> Digital CPU DAI mapping ok
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: dmic-hifi <-> DMIC01 Pin mapping ok
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: dmic-hifi <-> DMIC16k Pin mapping ok
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> DMIC48kHz 6 mapping ok
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> DMIC16kHz 7 mapping ok
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Analog 0 mapping ok
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Digital 1 mapping ok
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI1 3 mapping ok
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI2 4 mapping ok
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI3 5 mapping ok
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi3 overwritten
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi2 overwritten
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi1 overwritten
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Codec Output Pin1 overwritten
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Codec Input Pin1 overwritten
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Analog Codec Playback overwritten
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Digital Codec Playback overwritten
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Alt Analog Codec Playback overwritten
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Analog Codec Capture overwritten
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Digital Codec Capture overwritten
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Alt Analog Codec Capture overwritten
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
Feb 12 08:30:11 idefix kernel: skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 4
Feb 12 08:30:11 idefix kernel: input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input32
Feb 12 08:30:11 idefix kernel: input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input33
Feb 12 08:30:11 idefix kernel: input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input34
Feb 12 08:30:11 idefix kernel: input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input35
Feb 12 08:30:11 idefix kernel: input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input36
Feb 12 08:30:13 idefix alsactl[1071]: Found hardware: "sof-hda-dsp" "Realtek ALC298" "HDA:8086280f,80860101,00100000 HDA:10ec0298,17aa3818,00100103 cfg-dmics:2" "" ""

Comment 142 Peter F. Patel-Schneider 2020-02-12 15:20:34 UTC
 Jaroslav, kernel 5.5.2-200.sof1.fc31.x86_64 appears to be working.

I do see some errors:

Feb 12 10:04:35 idefix alsactl[1049]: Found hardware: "sof-hda-dsp" "Realtek ALC298" "HDA:8086280f,80860101,00100000 HDA:10ec0298,17aa3818,00100103 cfg-dmics:2" "" ""
Feb 12 10:04:46 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:04:46 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
Feb 12 10:04:52 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:04:52 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for iDisp3
Feb 12 10:04:52 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:04:52 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
Feb 12 10:04:52 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:04:52 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for iDisp1
Feb 12 10:04:52 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:04:52 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for iDisp2

I have two options in /etc/modprobe.d/alsa.conf 
options snd-sof-pci sof_pci_debug=1
options snd-intel-dspcfg dsp-driver=0

What should this be for this kernel?

Comment 143 Hans de Goede 2020-02-12 15:26:53 UTC
Peter, in my own experience with the 5.5 kernels (without the extra patch which Jaroslav has added) my X1 7th gen crashes when suspending it,
passing "options snd-intel-dspcfg dsp-driver=1" fixes this, so it most likely has something to do with the SOF driver.

I don't have time to look into this atm, since you are running 5.5.2-200.sof1.fc31.x86_64 now, can you check if that one has working suspend / resume (while using the SOF driver) ?

Comment 144 Jaroslav Kysela 2020-02-12 15:33:33 UTC
The SOF bug for IPC errors is here:  https://github.com/thesofproject/linux/issues/1747

It appears like a wrong timing / usage of IPC calls from the driver side. Hopefully, Intel will respond with a solution.

Note that sof_pci_debug=1 means SOF_PCI_DISABLE_PM_RUNTIME ...

Comment 145 Peter F. Patel-Schneider 2020-02-12 15:35:43 UTC
I don't get a crash but there are some problems.   I think I had a sound play loop a bit after resuming, but it wasn't permanent.

Here are some errors in the system log when restoring and just after:

Feb 12 10:28:32 idefix kernel: sof-audio-pci 0000:00:1f.3: error: cl_dsp_init: timeout for HIPCIE done
Feb 12 10:28:32 idefix kernel: sof-audio-pci 0000:00:1f.3: error: status = 0xffffffff panic = 0xffffffff
Feb 12 10:28:32 idefix kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Feb 12 10:28:32 idefix kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Feb 12 10:28:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:28:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture

I wasn't playing sound when suspending but started shortly thereafter.

Comment 146 Peter F. Patel-Schneider 2020-02-12 15:41:53 UTC
Suspend and resume work, but produce a few errors, again with the two-line /etc/modprobe.d/alsa.conf 

>> lid close and then open
Feb 12 10:38:45 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:38:45 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
Feb 12 10:38:45 idefix kernel:  Analog Playback and Capture: ASoC: trigger BE failed -22
Feb 12 10:38:45 idefix kernel:  HDA Analog: ASoC: trigger FE cmd: 5 failed: -22
Feb 12 10:38:45 idefix kernel: sof-audio-pci 0000:00:1f.3: error: cl_dsp_init: timeout for HIPCIE done
Feb 12 10:38:45 idefix kernel: sof-audio-pci 0000:00:1f.3: error: status = 0xffffffff panic = 0xffffffff
Feb 12 10:38:45 idefix kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Feb 12 10:38:45 idefix kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete

>> suspend via shutdown menu and resume via Fn key
Feb 12 10:39:54 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:39:54 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
Feb 12 10:39:54 idefix kernel:  Analog Playback and Capture: ASoC: trigger BE failed -22
Feb 12 10:39:54 idefix kernel:  HDA Analog: ASoC: trigger FE cmd: 5 failed: -22
Feb 12 10:39:54 idefix kernel: sof-audio-pci 0000:00:1f.3: error: cl_dsp_init: timeout for HIPCIE done
Feb 12 10:39:54 idefix kernel: sof-audio-pci 0000:00:1f.3: error: status = 0xffffffff panic = 0xffffffff
Feb 12 10:39:54 idefix kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Feb 12 10:39:54 idefix kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete

Comment 147 Peter F. Patel-Schneider 2020-02-12 15:50:47 UTC
With an empty /etc/modprobe.d/alsa.conf things are still working, but more errors show up on boot:

Feb 12 10:43:06 idefix alsactl[1045]: Found hardware: "sof-hda-dsp" "Realtek ALC298" "HDA:8086280f,80860101,00100000 HDA:10ec0298,17aa3818,00100103 cfg-dmics:2" "" ""
Feb 12 10:43:17 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:43:17 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
Feb 12 10:43:17 idefix kernel:  Analog Playback and Capture: ASoC: trigger BE failed -22
Feb 12 10:43:17 idefix kernel:  HDA Analog: ASoC: trigger FE cmd: 0 failed: -22
Feb 12 10:43:22 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:43:22 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for iDisp1
Feb 12 10:43:22 idefix kernel:  iDisp1: ASoC: trigger BE failed -22
Feb 12 10:43:22 idefix kernel:  HDMI1: ASoC: trigger FE cmd: 0 failed: -22
Feb 12 10:43:22 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:43:22 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for iDisp2
Feb 12 10:43:22 idefix kernel:  iDisp2: ASoC: trigger BE failed -22
Feb 12 10:43:22 idefix kernel:  HDMI2: ASoC: trigger FE cmd: 0 failed: -22
Feb 12 10:43:22 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:43:22 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for iDisp3
Feb 12 10:43:22 idefix kernel:  iDisp3: ASoC: trigger BE failed -22
Feb 12 10:43:22 idefix kernel:  HDMI3: ASoC: trigger FE cmd: 0 failed: -22
Feb 12 10:43:22 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:43:22 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
Feb 12 10:43:22 idefix kernel:  Analog Playback and Capture: ASoC: trigger BE failed -22
Feb 12 10:43:22 idefix kernel:  HDA Analog: ASoC: trigger FE cmd: 0 failed: -22

and on restore from suspend:

 journalctl -f | grep "sof-\|hda[-_]\|ASoC"
Feb 12 10:49:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:49:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
Feb 12 10:49:57 idefix kernel:  Analog Playback and Capture: ASoC: trigger BE failed -22
Feb 12 10:49:57 idefix kernel:  HDA Analog: ASoC: trigger FE cmd: 5 failed: -22
Feb 12 10:49:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:49:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
Feb 12 10:49:57 idefix kernel:  Analog Playback and Capture: ASoC: trigger BE failed -22
Feb 12 10:49:57 idefix kernel:  HDA Analog: ASoC: trigger FE cmd: 5 failed: -22
Feb 12 10:49:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:49:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for iDisp1
Feb 12 10:49:57 idefix kernel:  iDisp1: ASoC: trigger BE failed -22
Feb 12 10:49:57 idefix kernel:  HDMI1: ASoC: trigger FE cmd: 5 failed: -22
Feb 12 10:49:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:49:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for iDisp2
Feb 12 10:49:57 idefix kernel:  iDisp2: ASoC: trigger BE failed -22
Feb 12 10:49:57 idefix kernel:  HDMI2: ASoC: trigger FE cmd: 5 failed: -22
Feb 12 10:49:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 12 10:49:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for iDisp3
Feb 12 10:49:57 idefix kernel:  iDisp3: ASoC: trigger BE failed -22
Feb 12 10:49:57 idefix kernel:  HDMI3: ASoC: trigger FE cmd: 5 failed: -22
Feb 12 10:49:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: cl_dsp_init: timeout for HIPCIE done
Feb 12 10:49:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: status = 0xffffffff panic = 0xffffffff
Feb 12 10:49:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Feb 12 10:49:57 idefix kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete

Comment 148 Parker Berberian 2020-02-14 03:40:07 UTC
I am experiencing some issues on my X1 Carbon gen 7.
My sound output it only 2 channels, and sounds very poor quality and sounds tinny.

My sound card (Cannon Point-LP High Definition Audio Controller) is listed in pavucontrol for input and output device, but under "Configuration" it says "no cards are available for configuration"

My setup:

kernel: 5.4.19-200.fc31.x86_64
alsa-firmware: 1.2.1-5
alsa-ucm: 1.2.1.2-4
pulseaudio: 13.0

[~]$ cat /etc/modprobe.d/alsa.conf 
options snd-sof-pci sof-pci_debug=1
options snd-intel-dspcfg dsp_driver=0

[~]$ cat /etc/modprobe.d/blacklist.conf 
blacklist snd_hda_intel
blacklist snd_soc_skl

I also added these two lines to /etc/pulse/default.pa
load-module module-alsa-sink device=hw:0,0 channels=4
load-module module-alsa-source device=hw:0,7 channels=4


It seems like other people in this thread are able to see their device in the configuration tab. Any ideas?

Comment 149 Denzil Ferreira 2020-02-14 04:46:41 UTC
(In reply to Parker Berberian from comment #148)
> [~]$ cat /etc/modprobe.d/blacklist.conf 
> blacklist snd_hda_intel
> blacklist snd_soc_skl

You don't need to blacklist these modules. That's why the card is not detected properly.

D

Comment 150 Parker Berberian 2020-02-14 05:09:06 UTC
> You don't need to blacklist these modules. That's why the card is not
> detected properly.


I blacklisted those modules based on the documentation from the arch wiki (also how I got the pulseaudio config): https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_7)

I just removed the lines from the blacklist file and double checked that they are loaded, but there is no change. The sound card is still not detected properly.

Comment 151 Peter F. Patel-Schneider 2020-02-14 13:28:41 UTC
I'm now running with 5.5.2-200.sof1.fc31.x86_6 and an empty /etc/modprobe/alsa.conf and everything else standard F31, except pulseaudio 
13.0  2.20200105gitf5d36.fc31 from rdieter's copr repository.   Should I go back to pulseaudio from F31?

Things are mostly good.  I've had a boot where pulseaudio doesn't start up correctly, causing aplay -l to list outputs but then hang and playing sound does not work.  This appears to be less common than the previous problem with no sound cards being detected at all, but my sample size is small.

Suspend and resume doesn't cause problems playing or recording sound but some errors are produced on resume.  Here are extracts from the system log 

Feb 14 04:45:27 idefix kernel: sof-audio-pci 0000:00:1f.3: error: cl_dsp_init: timeout for HIPCIE done
Feb 14 04:45:27 idefix kernel: sof-audio-pci 0000:00:1f.3: error: status = 0xffffffff panic = 0xffffffff
Feb 14 04:45:27 idefix kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Feb 14 04:45:27 idefix kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Feb 14 06:46:20 idefix kernel: sof-audio-pci 0000:00:1f.3: error: cl_dsp_init: timeout for HIPCIE done
Feb 14 06:46:20 idefix kernel: sof-audio-pci 0000:00:1f.3: error: status = 0xffffffff panic = 0xffffffff
Feb 14 06:46:20 idefix kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Feb 14 06:46:20 idefix kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete

I also see errors reported but these don't seem to be producing any noticeable effects

Feb 14 07:14:03 idefix dnf[21687]: Copr repo for pulseaudio owned by rdieter        12 kB/s | 3.3 kB     00:00
Feb 14 08:11:11 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 14 08:11:11 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
Feb 14 08:18:04 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 14 08:18:04 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
Feb 14 08:20:43 idefix kernel: sof-audio-pci 0000:00:1f.3: error: ipc error for 0x80010000 size 12
Feb 14 08:20:43 idefix kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture

Comment 152 Parker Berberian 2020-02-14 14:24:34 UTC
(In reply to Peter F. Patel-Schneider from comment #151)
> I'm now running with 5.5.2-200.sof1.fc31.x86_6 and an empty
> /etc/modprobe/alsa.conf and everything else standard F31, except pulseaudio 
> 13.0  2.20200105gitf5d36.fc31 from rdieter's copr repository.   Should I go
> back to pulseaudio from F31?


Have you modified your pulseaudio configuration at all? Pulseaudio cannot recognize my sound card at all without specifying 

load-module module-alsa-sink device=hw:0,0 channels=4

in the default.pa. And I still cannot access device profiles or configurations, so pulseaudio does not fully recognize the sound card.

Comment 153 Sammy 2020-02-14 19:30:22 UTC
This is driving me crazy! I have Carbon X1 (gen 7) and tried all the recipes discussed here (including running the sof1 kernel) etc. Pulseaduio git from copr and all the updated alsa-lib etc. Fedora 31 x86_64.

In all cases the devices are found and the system startup sound comes loud and clear (running KDE plasma). After that it is all downhill. Trying to watch any video on any browser (youtube, cnn on firefox or chrome) kills the sound and almost the system due to repeated kernel messages:

========================
 kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
 kernel: sof-audio-pci 0000:00:1f.3: ASoC: can't set Analog CPU DAI hw params: -110
 kernel: Analog Playback and Capture: ASoC: hw_params BE failed -110
 kernel: HDA Analog: ASoC: hw_params BE failed -110
 pulseaudio[1421]: E: [alsa-sink-HDA Analog (*)] alsa-sink.c: Failed to set hardware parameters: Connection timed out
 kernel: sof-audio-pci 0000:00:1f.3: error: ipc timed out for 0x80010000 size 120
 kernel: sof-audio-pci 0000:00:1f.3: error: status = 0x001c003c panic = 0x00000003
 kernel: sof-audio-pci 0000:00:1f.3: error: hda irq intsts 0x00000000 intlctl 0x00000000 rirb 00
 kernel: sof-audio-pci 0000:00:1f.3: error: dsp irq ppsts 0x00000000 adspis 0x00000000
 kernel: sof-audio-pci 0000:00:1f.3: error: host status 0x00000000 dsp status 0x00040000 mask 0x00000000
 kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
 kernel: sof-audio-pci 0000:00:1f.3: ASoC: can't set Analog CPU DAI hw params: -110
 kernel: Analog Playback and Capture: ASoC: hw_params BE failed -110
==========================

Any help would be appreciated!

Comment 154 Jaroslav Kysela 2020-02-14 19:42:29 UTC
Try to disable runtime PM (options snd-sof-pci sof-pci_debug=1) to avoid DSP lockup. Anyway, the IPC errors means that the driver does not operate correctly. I am trying to resolve this with Intel: https://github.com/thesofproject/linux/issues/1747 . Until resolved, we cannot expect the full functionality.

Comment 155 Sammy 2020-02-14 19:45:26 UTC
Thank you for all your efforts. I will be patient and follow this thread to test as things become available.

Comment 156 Peter F. Patel-Schneider 2020-02-15 14:39:26 UTC
(In reply to Parker Berberian from comment #152)
> (In reply to Peter F. Patel-Schneider from comment #151)
> > I'm now running with 5.5.2-200.sof1.fc31.x86_6 and an empty
> > /etc/modprobe/alsa.conf and everything else standard F31, except pulseaudio 
> > 13.0  2.20200105gitf5d36.fc31 from rdieter's copr repository.   Should I go
> > back to pulseaudio from F31?
> 
> 
> Have you modified your pulseaudio configuration at all? Pulseaudio cannot
> recognize my sound card at all without specifying 
> 
> load-module module-alsa-sink device=hw:0,0 channels=4
> 
> in the default.pa. And I still cannot access device profiles or
> configurations, so pulseaudio does not fully recognize the sound card.

I have a Yoga C940, which has some differences from the X1 (Generation 7).  I don't need any changes to pulseaudio, but I am running a pre-release pulseaudio.  I don't know whether this is a good idea - I think I went to the pre-release version a while ago because of some other problems.

peter

Comment 157 Jaroslav Kysela 2020-02-21 11:56:46 UTC
I finally isolated the kernel driver issue (IPC errors), the test kernel is here:

https://koji.fedoraproject.org/koji/taskinfo?taskID=41735478

Remove "options snd-sof-pci sof_pci_debug=1" configuration for this kernel. It is no longer required.

This kernel also contains the ACPI fix, so the mute LEDs are working now.

Comment 158 Jaroslav Kysela 2020-02-21 11:58:40 UTC
Correction: Mute LEDs should be working with Lenovo Carbon X1 7th.

Comment 159 Denzil Ferreira 2020-02-21 12:32:08 UTC
(In reply to Jaroslav Kysela from comment #158)
> Correction: Mute LEDs should be working with Lenovo Carbon X1 7th.

I just tried the shared kernel. The LED is not working, however when I press it, I do get the modal window showing the Microphone to be enabled/disabled. However, I don't get the microphone detected :-/ The HDMI audio is working now though, so that's progress :)

Standard Fedora 31, not using the copr pulseaudio shared before, running latest SOF firmware:
kernel: 5.5.5-200.sof1.fc31.x86_64
pulseaudio: 13.0
alsa-firmware.noarch                1.2.1-5.fc31

What I get on my dmesg: sudo dmesg | grep sof

[   13.444581] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[   13.444698] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[   13.444842] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
[   13.444847] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
[   13.444938] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[   13.449471] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[   13.453604] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[   13.453629] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[   13.471974] sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
[   13.471975] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[   13.558915] sof-audio-pci 0000:00:1f.3: Firmware info: version 1:4:2-66a5a
[   13.558916] sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:11:0 Kernel ABI 3:11:0
[   13.559128] sof-audio-pci 0000:00:1f.3: firmware boot complete
[   13.562111] sof-audio-pci 0000:00:1f.3: Topology: ABI 3:11:0 Kernel ABI 3:11:0
[   13.562115] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp3 Tx not handled
[   13.562919] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec0_in not handled
[   13.562921] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp2 Tx not handled
[   13.563647] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec1_in not handled
[   13.563649] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp1 Tx not handled
[   13.564344] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec0_out not handled
[   13.564346] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Analog CPU Playback not handled
[   13.565051] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec1_out not handled
[   13.565052] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Digital CPU Playback not handled
[   13.565052] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec2_in not handled
[   13.565053] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Alt Analog CPU Playback not handled
[   13.565054] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec2_out not handled
[   13.565055] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Analog CPU Capture not handled
[   13.565788] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp1_out not handled
[   13.565789] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Digital CPU Capture not handled
[   13.566514] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp2_out not handled
[   13.566515] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Alt Analog CPU Capture not handled
[   13.567256] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp3_out not handled
[   13.574154] sof-audio-pci 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred
[   13.646433] input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card2/input20
[   13.646506] input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card2/input21
[   13.646544] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card2/input22
[   13.646580] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card2/input23
[   13.646617] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card2/input24
[   17.137894] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[   17.232657] sof-audio-pci 0000:00:1f.3: firmware boot complete

and this is what I get with sudo dmesg | grep snd

[   13.067150] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[   13.067280] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[   13.097981] usbcore: registered new interface driver snd-usb-audio
[   13.384729] snd_soc_skl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[   13.384814] snd_soc_skl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[   13.594535] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC285: line_outs=2 (0x14/0x17/0x0/0x0/0x0) type:speaker
[   13.594536] snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   13.594537] snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[   13.594538] snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
[   13.594539] snd_hda_codec_realtek ehdaudio0D0:    inputs:
[   13.594540] snd_hda_codec_realtek ehdaudio0D0:      Mic=0x19
[   13.633604] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
[   13.633609] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten
[   13.633670] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> DMIC48kHz 6 mapping ok
[   13.633680] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> DMIC16kHz 7 mapping ok
[   13.633695] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Analog 0 mapping ok
[   13.633711] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Digital 1 mapping ok
[   13.633721] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI1 3 mapping ok
[   13.633734] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI2 4 mapping ok
[   13.633743] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI3 5 mapping ok

Any idea why the mic doesn't work? :( so close!

Comment 160 Denzil Ferreira 2020-02-21 12:43:52 UTC
I figured it out. I now have a working mic! The LED still doesn't work though. Had to remove the changes I did before to /etc/pulse/default.pa to just have this:

load-module module-alsa-source device=hw:0,6 channels=4

This makes the microphone work and by default also get all 4 speakers working.

AWESOME!

Comment 161 Denzil Ferreira 2020-02-21 12:45:37 UTC
I figured it out. I now have a working mic! The LED still doesn't work though. Had to remove the changes I did before to /etc/pulse/default.pa to just have this:

load-module module-alsa-source device=hw:0,6 channels=4

This makes the microphone work and by default also get all 4 speakers working.

AWESOME!

Comment 162 Peter F. Patel-Schneider 2020-02-21 13:26:52 UTC
Yes, no more IPC errors with kernel 5.5.5-200.sof1.fc31.x86_64 with my Lenovo Yoga C940.

I am seeing some errors on suspend/resume.  This happens on each cycle.  But sound still works.

Here are the kernel messages.  The third is benign, I know, but I'm not sure about the first two.

Feb 21 08:15:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: cl_dsp_init: timeout for HIPCIE done
Feb 21 08:15:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: status = 0xffffffff panic = 0xffffffff
Feb 21 08:15:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Feb 21 08:15:57 idefix kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete



Now if only I could get the other speakers to work.
@Denzil Ferreia My guess is that the Carbon X1 7th is different, but how did you figure out the incantation to get your other speakers to work?  I didn't have to add anything to have the microphone work and I think that my 48k digital microphone is hw:0,6 or at least that appears to be what arecord -l is saying:

>arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 1: HDA Digital (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 6: DMIC48kHz (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 7: DMIC16kHz (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Comment 163 Jaroslav Kysela 2020-02-21 13:40:15 UTC
(In reply to Denzil Ferreira from comment #161)
> I figured it out. I now have a working mic! The LED still doesn't work
> though. Had to remove the changes I did before to /etc/pulse/default.pa to
> just have this:
> 
> load-module module-alsa-source device=hw:0,6 channels=4

This is not the target configuration. If you read my comments, you need the latest pulseaudio (from copr) and UCM configurations to make everything work. Your configuration is just a workaround and I don't support it.

(In reply to Peter F. Patel-Schneider from comment #162)
> Feb 21 08:15:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error:
> cl_dsp_init: timeout for HIPCIE done
> Feb 21 08:15:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: status =
> 0xffffffff panic = 0xffffffff
> Feb 21 08:15:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: no reply
> expected, received 0x0
> Feb 21 08:15:57 idefix kernel: sof-audio-pci 0000:00:1f.3: firmware boot
> complete

I think that it's harmless. Perhaps kernel should not be so verbose.

> Now if only I could get the other speakers to work.

Could you try this change in UCM configuration?

  # diff -u /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf~ /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf
  --- /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf~	2020-01-22 09:03:43.000000000 +0100
  +++ /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf	2020-02-21 14:37:41.454448243 +0100
  @@ -77,7 +77,7 @@
  		PlaybackMasterElem "Master"
 		PlaybackVolume "Speaker Playback Volume"
 		PlaybackSwitch "Speaker Playback Switch"
  -		PlaybackChannels "2"
  +		PlaybackChannels "4"
 	}
  }

The PlaybackChannels is missing in alsa-1.2.2, just add it to the Speaker device section.

Comment 164 Denzil Ferreira 2020-02-21 14:11:04 UTC
(In reply to Jaroslav Kysela from comment #163)
> (In reply to Denzil Ferreira from comment #161)
> > I figured it out. I now have a working mic! The LED still doesn't work
> > though. Had to remove the changes I did before to /etc/pulse/default.pa to
> > just have this:
> > 
> > load-module module-alsa-source device=hw:0,6 channels=4
> 
> This is not the target configuration. If you read my comments, you need the
> latest pulseaudio (from copr) and UCM configurations to make everything
> work. Your configuration is just a workaround and I don't support it.
> 
> (In reply to Peter F. Patel-Schneider from comment #162)
> > Feb 21 08:15:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error:
> > cl_dsp_init: timeout for HIPCIE done
> > Feb 21 08:15:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: status =
> > 0xffffffff panic = 0xffffffff
> > Feb 21 08:15:57 idefix kernel: sof-audio-pci 0000:00:1f.3: error: no reply
> > expected, received 0x0
> > Feb 21 08:15:57 idefix kernel: sof-audio-pci 0000:00:1f.3: firmware boot
> > complete
> 
> I think that it's harmless. Perhaps kernel should not be so verbose.
> 
> > Now if only I could get the other speakers to work.
> 
> Could you try this change in UCM configuration?
> 
>   # diff -u /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf~
> /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf
>   --- /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf~	2020-01-22
> 09:03:43.000000000 +0100
>   +++ /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf	2020-02-21
> 14:37:41.454448243 +0100
>   @@ -77,7 +77,7 @@
>   		PlaybackMasterElem "Master"
>  		PlaybackVolume "Speaker Playback Volume"
>  		PlaybackSwitch "Speaker Playback Switch"
>   -		PlaybackChannels "2"
>   +		PlaybackChannels "4"
>  	}
>   }
> 
> The PlaybackChannels is missing in alsa-1.2.2, just add it to the Speaker
> device section.

Please accept my apologies. I missed that we needed the pulseaudio from the shared copr. I updated and all works now. Microphone, 4 speakers, the LED, all. Thank you! I'm on X1 Carbon 7th Gen just for the record.

Comment 165 Sammy 2020-02-21 14:14:10 UTC
I will test these tonight to as my Carbon 7th had a bad left trackpoint key that has been replaced.

By the way, I see that kernel 5.5.6-rc1 has a bunch of sof fixes. Are these the same fixes you 
implemented. Thanks!

Comment 166 Peter F. Patel-Schneider 2020-02-21 14:20:43 UTC
(In reply to Jaroslav Kysela from comment #163)

> (In reply to Peter F. Patel-Schneider from comment #162)

> > Now if only I could get the other speakers to work.
> 
> Could you try this change in UCM configuration?
> 
>   # diff -u /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf~
> /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf
>   --- /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf~	2020-01-22
> 09:03:43.000000000 +0100
>   +++ /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf	2020-02-21
> 14:37:41.454448243 +0100
>   @@ -77,7 +77,7 @@
>   		PlaybackMasterElem "Master"
>  		PlaybackVolume "Speaker Playback Volume"
>  		PlaybackSwitch "Speaker Playback Switch"
>   -		PlaybackChannels "2"
>   +		PlaybackChannels "4"
>  	}
>   }
> 
> The PlaybackChannels is missing in alsa-1.2.2, just add it to the Speaker
> device section.

No dice.  The two speakers below the keyboard are still off.

I thought that this was kind of a longshot as someone (maybe you) diagnosed the problem as the amplifier for these speakers not being turned on by the BIOS.  I'm still trying to figure out if there is a magic sentence I can put in a request to Lenovo to elicit the information to turn them on.  

I am running alsa-ucm 1.2.1.2-4.fc31 if that makes a difference but I don't think it does.

Comment 167 Jaroslav Kysela 2020-02-21 19:02:29 UTC
(In reply to Peter F. Patel-Schneider from comment #166)
> (In reply to Jaroslav Kysela from comment #163)
> 
> > (In reply to Peter F. Patel-Schneider from comment #162)
> 
> > > Now if only I could get the other speakers to work.
> > 
> > Could you try this change in UCM configuration?
> > 
> >   # diff -u /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf~
> > /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf
> >   --- /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf~	2020-01-22
> > 09:03:43.000000000 +0100
> >   +++ /usr/share/alsa/ucm2/sof-hda-dsp/HiFi.conf	2020-02-21
> > 14:37:41.454448243 +0100
> >   @@ -77,7 +77,7 @@
> >   		PlaybackMasterElem "Master"
> >  		PlaybackVolume "Speaker Playback Volume"
> >  		PlaybackSwitch "Speaker Playback Switch"
> >   -		PlaybackChannels "2"
> >   +		PlaybackChannels "4"
> >  	}
> >   }
> > 
> > The PlaybackChannels is missing in alsa-1.2.2, just add it to the Speaker
> > device section.
> 
> No dice.  The two speakers below the keyboard are still off.

OK.

> I thought that this was kind of a longshot as someone (maybe you) diagnosed
> the problem as the amplifier for these speakers not being turned on by the
> BIOS.

Yes, Lenovo game me this info. But it seems that the driver / BIOS parts are written by the hardware vendors (for codecs and amplifiers) and there are different amplifiers in those gaming laptops (Texas Instruments?). Realtek does at least something to support their chips in Linux.

> I'm still trying to figure out if there is a magic sentence I can put
> in a request to Lenovo to elicit the information to turn them on.  

Perhaps the Windows driver might reveal something (.ini files or so).

> I am running alsa-ucm 1.2.1.2-4.fc31 if that makes a difference but I don't
> think it does.

No, there are only cleanups in 1.2.2 for SOF.

Comment 168 Sammy 2020-02-21 21:40:35 UTC
I can report that all is well now. Could you get these patches into the regular FC 31 5.5.6 kernel. It seems like you have two extra patches and a modified alsa-5.6 patch. Is there something else? Thanks!

Comment 169 Gustaf Andersson 2020-02-22 06:41:01 UTC
*** Bug 1806102 has been marked as a duplicate of this bug. ***

Comment 170 David Quiñones 2020-02-22 11:30:41 UTC
I can also confirm everything works with 
- kernel-5.5.5-200.sof1.fc31
- rdieter/pulseaudio
- Adding 'load-module module-alsa-source device=hw:0,6 channels=4' to /etc/pulse/default.pa

Thanks to everyone involved!

Comment 171 David Quiñones 2020-02-22 11:48:18 UTC
I apologize, adding 'load-module module-alsa-source device=hw:0,6 channels=4' to /etc/pulse/default.pa is actually NOT required and works without it fine with the mentioned copr pulseaudio and alsa-ucm-1.2.1.2-4.fc31.noarch.

Thanks again.

Comment 172 Marco Soffritti 2020-02-24 09:48:24 UTC
Hi there, I would like to let you know that with 5.5.5-200.fc31.x86_64 sound and mic work, but there is suspend issue. Every time I close the lid, system crash and I need to keep press power button for 5 second than press again to power on the system (lenovo x1 carbon 7th gen). anyone else with this issue?
Thanks

Comment 173 Jaroslav Kysela 2020-02-24 09:58:41 UTC
Use this kernel 5.5.5-200.sof1.fc31.x86_64 : https://koji.fedoraproject.org/koji/taskinfo?taskID=41735478 (comment 157)

Comment 174 David Quiñones 2020-02-24 10:07:38 UTC
So far the only problem I've encountered is that when I connect my Bluetooth headphones only the system sound is played through them by default. The rest of the applications still use the previously selected output (after selecting the bluetooth headphones in settings). I need to use pavucontrol to set each application to the Bluetooth headphones in order to make them play sound through them. I'm not sure this is related to this issue or would be an issue in pulseaudio. Is there a better way to fix this that is not selecting every application to the correct output in pavucontrol?

Comment 175 Marco Soffritti 2020-02-24 10:17:45 UTC
(In reply to Jaroslav Kysela from comment #173)
> Use this kernel 5.5.5-200.sof1.fc31.x86_64 :
> https://koji.fedoraproject.org/koji/taskinfo?taskID=41735478 (comment 157)

it works, many thanks! do you think are these patches going into next stable fedora 31 kernel version?

Comment 176 Timothy Rees 2020-02-24 10:41:20 UTC
(In reply to Marco Soffritti from comment #172)
> Hi there, I would like to let you know that with 5.5.5-200.fc31.x86_64 sound
> and mic work, but there is suspend issue. Every time I close the lid, system
> crash and I need to keep press power button for 5 second than press again to
> power on the system (lenovo x1 carbon 7th gen). anyone else with this issue?
> Thanks

I also have this issue with my X1C7

Comment 177 Marco Soffritti 2020-02-24 10:52:32 UTC
(In reply to Timothy Rees from comment #176)
> (In reply to Marco Soffritti from comment #172)
> > Hi there, I would like to let you know that with 5.5.5-200.fc31.x86_64 sound
> > and mic work, but there is suspend issue. Every time I close the lid, system
> > crash and I need to keep press power button for 5 second than press again to
> > power on the system (lenovo x1 carbon 7th gen). anyone else with this issue?
> > Thanks
> 
> I also have this issue with my X1C7

In reply to Marco Soffritti from comment #175)
> (In reply to Jaroslav Kysela from comment #173)
> > Use this kernel 5.5.5-200.sof1.fc31.x86_64 :
> > https://koji.fedoraproject.org/koji/taskinfo?taskID=41735478 (comment 157)
> 
> it works, many thanks! do you think are these patches going into next stable
> fedora 31 kernel version?

Comment 178 Jaroslav Kysela 2020-02-24 11:14:57 UTC
(In reply to Marco Soffritti from comment #175)
> (In reply to Jaroslav Kysela from comment #173)
> > Use this kernel 5.5.5-200.sof1.fc31.x86_64 :
> > https://koji.fedoraproject.org/koji/taskinfo?taskID=41735478 (comment 157)
> 
> it works, many thanks! do you think are these patches going into next stable
> fedora 31 kernel version?

The changes are already queued. We just need to wait for the next 5.5 kernel update.

Comment 179 Denzil Ferreira 2020-02-24 11:19:52 UTC
(In reply to David Quiñones from comment #174)
> So far the only problem I've encountered is that when I connect my Bluetooth
> headphones only the system sound is played through them by default. The rest
> of the applications still use the previously selected output (after
> selecting the bluetooth headphones in settings). I need to use pavucontrol
> to set each application to the Bluetooth headphones in order to make them
> play sound through them. I'm not sure this is related to this issue or would
> be an issue in pulseaudio. Is there a better way to fix this that is not
> selecting every application to the correct output in pavucontrol?

I can't seem to replicate this with my Bluetooth headphones (QC35 II Bose). I turn them on and the audio is routed properly to them, regardless of what app I'm using. I'm not sure if this is because I'm using this Gnome extension (https://extensions.gnome.org/extension/906/sound-output-device-chooser/)... could be a bug on Gnome side? Can you try with a different Bluetooth headset?

Comment 180 David Quiñones 2020-02-24 11:32:55 UTC
(In reply to Denzil Ferreira from comment #179)
> (In reply to David Quiñones from comment #174)
> > So far the only problem I've encountered is that when I connect my Bluetooth
> > headphones only the system sound is played through them by default. The rest
> > of the applications still use the previously selected output (after
> > selecting the bluetooth headphones in settings). I need to use pavucontrol
> > to set each application to the Bluetooth headphones in order to make them
> > play sound through them. I'm not sure this is related to this issue or would
> > be an issue in pulseaudio. Is there a better way to fix this that is not
> > selecting every application to the correct output in pavucontrol?
> 
> I can't seem to replicate this with my Bluetooth headphones (QC35 II Bose).
> I turn them on and the audio is routed properly to them, regardless of what
> app I'm using. I'm not sure if this is because I'm using this Gnome
> extension
> (https://extensions.gnome.org/extension/906/sound-output-device-chooser/)...
> could be a bug on Gnome side? Can you try with a different Bluetooth headset?

It's a pretty old model (Sony MDR-10RBT) and I don't have any other to test. Anyway, I just connected them again and tried with an application that I hadn't used before (so I didn't set it using pavucontrol to use the headphones) and seems to pick it up just fine. I'll keep an eye to see if I can replicate it again.

Thank you.

Comment 181 Sammy 2020-02-24 23:44:14 UTC
Hi, I just tried kernel-5.5.6-200 and 5.5.6-201 from koji. Both kernels are hanging on XC17. The grub selection shows up, after selecting the kernel the fedora boot starts but just hangs before starting the login screen. The only thing to do is hard power down and repower. Going back to 5.5.5-sof1 works just fine. I have the feeling that the 5.5.6 kernel has a patch for SOF that may be conflicting with the i915 patch. Perhaps this one:

ASoC: SOF: Intel: hda: solve MSI issues by merging ipc and stream irq handlers

Comment 182 Sammy 2020-02-25 00:26:02 UTC
It is not that....I recompiled the kernel by removing the i915 patch we used before and same thing happened. I cannot see anythting in /var/log/messages. The boot seems to hang at a statement something like creating volatile files....  I did use these kernels on my desktop machines and they worked just fine but they are desktop and have nvidia graphics.

Comment 183 dpawlik 2020-02-25 08:37:00 UTC
Same situation with kernel 5.5.6 in my X1.
So I decide to installed kernel-5.6.0-0.rc3.git0.1.fc32 (https://bodhi.fedoraproject.org/updates/FEDORA-2020-e38c78eb80) and after reboot, microphone + 2 speakers are working.
Then I install new pulseaudio (pulseaudio-13.99.1-1.fc32 - https://bodhi.fedoraproject.org/updates/FEDORA-2020-dc332d60f1) and it seems that everything is working well (but still 2 speakers are working).
To avoid next question about which alsa version I have installed before installing kernela and pulseaudio: alsa 1.2.1-6 (https://koji.fedoraproject.org/koji/buildinfo?buildID=1433758).

Comment 184 Fedora Update System 2020-02-25 12:29:24 UTC
FEDORA-2020-3cd64d683c has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-3cd64d683c

Comment 185 fattony4 2020-02-25 14:34:42 UTC
Audio worked on my `HP Spectre x360 df0709nz` (firmware: `F.40`) on kernels 5.3.x.

In kernel `5.4.7-200.fc31.x86_64`, it stopped working.

In kernel `5.4.10-200.fc31.x86_64`, it worked again.

In kernel `5.5.5-200.fc31.x86_64`, the problem reappeared.

This is the relevant dmesg log: `dmesg | grep sof-audio-pci`
[    9.690471] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    9.911030] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    9.911039] sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
[    9.911183] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
[    9.911187] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    9.911513] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[    9.911956] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    9.920557] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[    9.920558] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    9.986412] sof-audio-pci 0000:00:1f.3: Direct firmware load for intel/sof/sof-cnl.ri failed with error -2
[    9.986414] sof-audio-pci 0000:00:1f.3: error: request firmware intel/sof/sof-cnl.ri failed err: -2
[    9.986415] sof-audio-pci 0000:00:1f.3: error: failed to load DSP firmware -2
[    9.986740] sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -2

This workaround solved the problem temporarily: `echo "options snd-intel-dspcfg dsp_driver=1" > /etc/modprobe.d/alsa.conf`

Comment 186 Sammy 2020-02-25 14:59:08 UTC
I built kernel-5.6.0-0.rc3.git0.1 on fc31 and everything is working as before. As far as I can tell the extra patches in sof1 (and some more) are in the 5.6.0 kernel already. So, 5.5.6 has some problem somewhere.

Comment 187 fattony4 2020-02-25 15:09:49 UTC
Apologies for the double post!

After installing alsa-firmware, alsa-lib AND alsa-ucm, sound briefly worked! But then, it froze my laptop.

This is what I now get during boot:

❯ dmesg | grep sof-audio-pci
[    9.582982] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    9.634771] sof-audio-pci 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    9.634780] sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
[    9.634951] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
[    9.634954] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    9.635105] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[    9.635299] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    9.643649] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[    9.643650] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    9.997915] sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
[    9.997917] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[   10.085606] sof-audio-pci 0000:00:1f.3: Firmware info: version 1:1:0-fcf6c
[   10.085612] sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:11:0 Kernel ABI 3:11:0
[   10.085942] sof-audio-pci 0000:00:1f.3: firmware boot complete
[   10.097184] sof-audio-pci 0000:00:1f.3: Topology: ABI 3:11:0 Kernel ABI 3:11:0
[   10.097201] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp3 Tx not handled
[   10.098454] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec0_in not handled
[   10.098460] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp2 Tx not handled
[   10.099409] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec1_in not handled
[   10.099416] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp1 Tx not handled
[   10.100586] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec0_out not handled
[   10.100593] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Analog CPU Playback not handled
[   10.101501] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec1_out not handled
[   10.101507] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Digital CPU Playback not handled
[   10.101511] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec2_in not handled
[   10.101516] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Alt Analog CPU Playback not handled
[   10.101520] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec2_out not handled
[   10.101524] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Analog CPU Capture not handled
[   10.102410] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp1_out not handled
[   10.102414] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Digital CPU Capture not handled
[   10.103297] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp2_out not handled
[   10.103302] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Alt Analog CPU Capture not handled
[   10.104529] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp3_out not handled
[   10.116262] sof-audio-pci 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred
[   12.877873] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[   12.962565] sof-audio-pci 0000:00:1f.3: firmware boot complete

This is what I get after it stops working:

Feb 25 15:55:02 hostname kernel:  Analog Playback and Capture: ASoC: hw_params BE failed -110
Feb 25 15:55:02 hostname kernel:  HDA Analog: ASoC: hw_params BE failed -110
Feb 25 15:55:02 hostname kernel: sof-audio-pci 0000:00:1f.3: error: ipc timed out for 0x80010000 size 120
Feb 25 15:55:02 hostname kernel: sof-audio-pci 0000:00:1f.3: error: status = 0x001c003c panic = 0x00000003
Feb 25 15:55:02 hostname kernel: sof-audio-pci 0000:00:1f.3: error: hda irq intsts 0x00000000 intlctl 0x00000000 rirb 00
Feb 25 15:55:02 hostname kernel: sof-audio-pci 0000:00:1f.3: error: dsp irq ppsts 0x00000000 adspis 0x00050000
Feb 25 15:55:02 hostname kernel: sof-audio-pci 0000:00:1f.3: error: host status 0x00000000 dsp status 0x00040000 mask 0x00000000
Feb 25 15:55:02 hostname kernel: sof-audio-pci 0000:00:1f.3: error: failed to set dai config for Analog Playback and Capture
Feb 25 15:55:02 hostname kernel: sof-audio-pci 0000:00:1f.3: ASoC: can't set Analog CPU DAI hw params: -110
Feb 25 15:55:02 hostname kernel:  Analog Playback and Capture: ASoC: hw_params BE failed -110


I ran `alsa-info_alsa-info.sh` while sound was still working (https://pastebin.com/u415Zw4J) and after it stopped working (https://pastebin.com/8Q6kUiEk). Hope this is useful.

Comment 188 Wim Taymans 2020-02-26 15:47:56 UTC
I have prepared a less invasive solution for f31 that seems to work for me:

- kernel-5.5.5-200.sof1.fc31 (see above)
- pulseaudio-13.0-2.fc31 (see comment below)
- alsa-firmware (what f31 currently has works for me)

The new pulseaudio adds a udev rule to select a custom profile-set on Carbon X1.
It has a patch to ignore the UCM profile if there is a udev profile-set so it
should work even with alsa-ucm installed.

If the new 5.5 kernel lands in f31 with the sof patches, this should make things
work out of the box, I hope.

Comment 189 Fedora Update System 2020-02-26 15:52:57 UTC
FEDORA-2020-dc60623ab5 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-dc60623ab5

Comment 190 Sammy 2020-02-26 16:08:34 UTC
Unfortunately (see comments 181 and 183) kernel 5.5.6 with the include patches for some reason hangs Carbon X1 after reboot before the login window. Not clear what is causing it! Are the patches you added to pulseaudio from 13.99.1? Because we built this on fc31 and it is working.

Comment 191 Wim Taymans 2020-02-26 16:17:51 UTC
(In reply to Sammy from comment #190)
> Unfortunately (see comments 181 and 183) kernel 5.5.6 with the include
> patches for some reason hangs Carbon X1 after reboot before the login
> window. Not clear what is causing it! Are the patches you added to
> pulseaudio from 13.99.1? Because we built this on fc31 and it is working.

No, they are not upstream.. They are from here: https://bugzilla.redhat.com/show_bug.cgi?id=1782148#c5

13.99.1 does the right thing and implements the UCM profile parsing for this new
configuration. I tried backporting those patches but it's more invasive than I'm
comfortable with for f31 and we can't really upgrade to 13.99 in f31.

Comment 192 Jaroslav Kysela 2020-02-26 23:17:07 UTC
(In reply to Wim Taymans from comment #191)
> we can't really upgrade to 13.99 in f31.

Reason? The most PA modifications are minor now.

Comment 193 Sammy 2020-02-26 23:20:43 UTC
I updated all my machines (desktops and laptops) to 13.99.1 and had no problems. Actually, things work better.

Comment 194 Wim Taymans 2020-02-27 08:40:32 UTC
(In reply to Jaroslav Kysela from comment #192)
> (In reply to Wim Taymans from comment #191)
> > we can't really upgrade to 13.99 in f31.
> 
> Reason? The most PA modifications are minor now.

I'm mostly just going with the rule that we only do point upgrades and small patches
on top of stable releases. We're talking about upgrading to a prerelease here on a
stable version.

But, since pulseaudio doesn't really do point releases and this is important enough,
we could make an exception.

Comment 195 Tomáš Trnka 2020-02-27 13:10:43 UTC
5.5.6 oopses on boot on my laptop in snd_soc_register_dai(), so the udev settling never finishes and systemd gets stuck. I'd guess this is the "hang on boot" problem others have mentioned in recent comments.

BUG: unable to handle page fault for address: 0000138800000000
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD 0 P4D 0 
Oops: 0000 [#1] SMP NOPTI
CPU: 4 PID: 184 Comm: kworker/4:1 Not tainted 5.5.6-201.fc31.x86_64 #1
Hardware name: HP HP EliteBook 850 G6/8549, BIOS R70 Ver. 01.04.05 02/18/2020
Workqueue: events sof_probe_work [snd_sof]
RIP: 0010:strlen+0x0/0x20
Code: 48 89 f9 74 09 48 83 c1 01 80 39 00 75 f7 31 d2 44 0f b6 04 16 44 88 04 11 48 83 c2 01 45 84 c0 75 >
RSP: 0018:ffffacde0033bd30 EFLAGS: 00010206
RAX: ffff8ca649b78868 RBX: ffff8ca651782828 RCX: 0000000000000000
RDX: 0000000000000cc0 RSI: 0000138800000000 RDI: 0000138800000000
RBP: 0000138800000000 R08: ffff8ca6530ea360 R09: ffff8ca6530ea360
R10: ffff8ca654407100 R11: f000000000000000 R12: ffff8ca649b78868
R13: ffff8ca6530ea0b0 R14: 0000000000000cc0 R15: 000000000000000f
FS:  0000000000000000(0000) GS:ffff8ca655700000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000138800000000 CR3: 000000008b60a005 CR4: 00000000003606e0
Call Trace:
 devm_kstrdup+0x22/0x60
 snd_soc_register_dai+0x6d/0x190 [snd_soc_core]
 snd_soc_add_component+0xf9/0x2e0 [snd_soc_core]
 devm_snd_soc_register_component+0x55/0xa0 [snd_soc_core]
 sof_probe_work+0x100/0x270 [snd_sof]
 ? __switch_to+0x37b/0x420
 ? __switch_to_asm+0x34/0x70
 ? __schedule+0x2cf/0x740
 process_one_work+0x1b5/0x360
 worker_thread+0x50/0x3c0
 kthread+0xf9/0x130
 ? process_one_work+0x360/0x360
 ? kthread_park+0x90/0x90
 ret_from_fork+0x1f/0x40
Modules linked in: snd_hda_codec_hdmi snd_soc_hdac_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_s>
 int3400_thermal hp_wireless acpi_thermal_rel auth_rpcgss sunrpc ip_tables dm_crypt rfkill i915 i2c_algo_>
CR2: 0000138800000000
---[ end trace 529217cf5f3c0b08 ]---
RIP: 0010:strlen+0x0/0x20
Code: 48 89 f9 74 09 48 83 c1 01 80 39 00 75 f7 31 d2 44 0f b6 04 16 44 88 04 11 48 83 c2 01 45 84 c0 75 >
RSP: 0018:ffffacde0033bd30 EFLAGS: 00010206
RAX: ffff8ca649b78868 RBX: ffff8ca651782828 RCX: 0000000000000000
RDX: 0000000000000cc0 RSI: 0000138800000000 RDI: 0000138800000000
RBP: 0000138800000000 R08: ffff8ca6530ea360 R09: ffff8ca6530ea360
R10: ffff8ca654407100 R11: f000000000000000 R12: ffff8ca649b78868
R13: ffff8ca6530ea0b0 R14: 0000000000000cc0 R15: 000000000000000f
FS:  0000000000000000(0000) GS:ffff8ca655700000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000138800000000 CR3: 000000008b60a005 CR4: 00000000003606e0

This is apparently due to the commit 24c259557c45e817941d3843f82331a477c86a7e which went into stable in 5.5.6:

Author: Cezary Rojewski <cezary.rojewski>
Date:   Mon Jan 13 12:40:54 2020 +0100

    ASoC: SOF: Intel: hda: Fix SKL dai count
    
    [ Upstream commit a6947c9d86bcfd61b758b5693eba58defe7fd2ae ]

Reverting this commit fixes the oops for me and the machine boots normally (sound also works fine).

Comment 196 Fedora Update System 2020-02-27 18:34:54 UTC
kernel-5.5.6-201.fc31, kernel-headers-5.5.6-200.fc31, kernel-tools-5.5.6-200.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-3cd64d683c

Comment 197 Fedora Update System 2020-02-27 18:36:36 UTC
pulseaudio-13.0-2.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-dc60623ab5

Comment 198 Hans de Goede 2020-02-27 19:29:51 UTC
(In reply to Tomáš Trnka from comment #195)
> 5.5.6 oopses on boot on my laptop in snd_soc_register_dai(), so the udev
> settling never finishes and systemd gets stuck. I'd guess this is the "hang
> on boot" problem others have mentioned in recent comments.
> 
> BUG: unable to handle page fault for address: 0000138800000000
> #PF: supervisor read access in kernel mode
> #PF: error_code(0x0000) - not-present page
> PGD 0 P4D 0 
> Oops: 0000 [#1] SMP NOPTI
> CPU: 4 PID: 184 Comm: kworker/4:1 Not tainted 5.5.6-201.fc31.x86_64 #1
> Hardware name: HP HP EliteBook 850 G6/8549, BIOS R70 Ver. 01.04.05 02/18/2020
> Workqueue: events sof_probe_work [snd_sof]
> RIP: 0010:strlen+0x0/0x20
> Code: 48 89 f9 74 09 48 83 c1 01 80 39 00 75 f7 31 d2 44 0f b6 04 16 44 88
> 04 11 48 83 c2 01 45 84 c0 75 >
> RSP: 0018:ffffacde0033bd30 EFLAGS: 00010206
> RAX: ffff8ca649b78868 RBX: ffff8ca651782828 RCX: 0000000000000000
> RDX: 0000000000000cc0 RSI: 0000138800000000 RDI: 0000138800000000
> RBP: 0000138800000000 R08: ffff8ca6530ea360 R09: ffff8ca6530ea360
> R10: ffff8ca654407100 R11: f000000000000000 R12: ffff8ca649b78868
> R13: ffff8ca6530ea0b0 R14: 0000000000000cc0 R15: 000000000000000f
> FS:  0000000000000000(0000) GS:ffff8ca655700000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 0000138800000000 CR3: 000000008b60a005 CR4: 00000000003606e0
> Call Trace:
>  devm_kstrdup+0x22/0x60
>  snd_soc_register_dai+0x6d/0x190 [snd_soc_core]
>  snd_soc_add_component+0xf9/0x2e0 [snd_soc_core]
>  devm_snd_soc_register_component+0x55/0xa0 [snd_soc_core]
>  sof_probe_work+0x100/0x270 [snd_sof]
>  ? __switch_to+0x37b/0x420
>  ? __switch_to_asm+0x34/0x70
>  ? __schedule+0x2cf/0x740
>  process_one_work+0x1b5/0x360
>  worker_thread+0x50/0x3c0
>  kthread+0xf9/0x130
>  ? process_one_work+0x360/0x360
>  ? kthread_park+0x90/0x90
>  ret_from_fork+0x1f/0x40
> Modules linked in: snd_hda_codec_hdmi snd_soc_hdac_hdmi
> snd_hda_codec_realtek snd_hda_codec_generic snd_s>
>  int3400_thermal hp_wireless acpi_thermal_rel auth_rpcgss sunrpc ip_tables
> dm_crypt rfkill i915 i2c_algo_>
> CR2: 0000138800000000
> ---[ end trace 529217cf5f3c0b08 ]---
> RIP: 0010:strlen+0x0/0x20
> Code: 48 89 f9 74 09 48 83 c1 01 80 39 00 75 f7 31 d2 44 0f b6 04 16 44 88
> 04 11 48 83 c2 01 45 84 c0 75 >
> RSP: 0018:ffffacde0033bd30 EFLAGS: 00010206
> RAX: ffff8ca649b78868 RBX: ffff8ca651782828 RCX: 0000000000000000
> RDX: 0000000000000cc0 RSI: 0000138800000000 RDI: 0000138800000000
> RBP: 0000138800000000 R08: ffff8ca6530ea360 R09: ffff8ca6530ea360
> R10: ffff8ca654407100 R11: f000000000000000 R12: ffff8ca649b78868
> R13: ffff8ca6530ea0b0 R14: 0000000000000cc0 R15: 000000000000000f
> FS:  0000000000000000(0000) GS:ffff8ca655700000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 0000138800000000 CR3: 000000008b60a005 CR4: 00000000003606e0
> 
> This is apparently due to the commit
> 24c259557c45e817941d3843f82331a477c86a7e which went into stable in 5.5.6:
> 
> Author: Cezary Rojewski <cezary.rojewski>
> Date:   Mon Jan 13 12:40:54 2020 +0100
> 
>     ASoC: SOF: Intel: hda: Fix SKL dai count
>     
>     [ Upstream commit a6947c9d86bcfd61b758b5693eba58defe7fd2ae ]
> 
> Reverting this commit fixes the oops for me and the machine boots normally
> (sound also works fine).

I can confirm the issue and thank you for figuring out the cause. I've come up with a different fix, the commit causing the issue is a fix for a commit which is a bugfix itself:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e68d6696575e1af3f92125e842f2853708f34589

But that one did not make it into 5.5.6, where as the later fix for the fix did causing the issue.

So instead of reverting the fix I've just pushed an update to the Fedora F30 and F31 5.5.6 kernel packages to add the missing commit, which also fixes this. This fix will be picked up by the next official build. In the mean time I have done a fixed 5.5.6 build here: https://koji.fedoraproject.org/koji/taskinfo?taskID=41968566

I will also report this issue upstream so that it can hopefully be fixed for 5.5.7.

I can also confirm that sound works fine on the x1 7th gen when using the fixed 5.5.6 kernel with pulseaudio-13.99.1 (I'm running the Fedora 32 branch of Fedora).

Comment 199 Jaroslav Kysela 2020-02-27 19:34:35 UTC
Thanks Hans. I have the same result (the culprit is really bad e68d6696575e1af3f92125e842f2853708f34589 cherry-pick to 5.5.6). You was faster :-)

Comment 200 Tomáš Trnka 2020-02-28 08:17:32 UTC
(In reply to Hans de Goede from comment #198)
> I can confirm the issue and thank you for figuring out the cause. I've come
> up with a different fix, the commit causing the issue is a fix for a commit
> which is a bugfix itself:

Thanks for figuring that out. I wasn't really thinking the revert is the right solution,
but it was the first thing I tried and it got my machine back online, so it was just the
easiest way out for me.

> In the mean time I have done a fixed 5.5.6 build here:
> https://koji.fedoraproject.org/koji/taskinfo?taskID=41968566

I can confirm that this scratch build fixes the issue for me.

Comment 201 Fedora Update System 2020-02-28 22:21:22 UTC
FEDORA-2020-fe00e12580 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2020-fe00e12580

Comment 202 Fedora Update System 2020-02-29 03:11:55 UTC
kernel-5.5.7-200.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-227a4c0530

Comment 203 Fedora Update System 2020-02-29 03:21:16 UTC
kernel-5.5.6-201.fc31, kernel-headers-5.5.6-200.fc31, kernel-tools-5.5.6-200.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.

Comment 204 Fedora Update System 2020-02-29 04:00:07 UTC
kernel-5.5.7-100.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-fe00e12580

Comment 205 Dmitry Tantsur 2020-02-29 14:47:49 UTC
For those confused by various comments (like me): kernel-5.5.6-201.fc31.x86_64 hangs on udev, kernel-5.5.7-100.fc30 works and fixes the sound.

Comment 206 Fedora Update System 2020-02-29 22:32:00 UTC
pulseaudio-13.0-2.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.

Comment 207 Hans de Goede 2020-03-01 13:22:54 UTC
Some people are still reporting sound not working with the 5.5.7 kernel due to them not having alsa-firmware installed, we really should fix that. Perhaps we need to add a Requires on alsa-firmware to the kernel-core pkg? It already requires linux-firmware so adding a Requires on alsa-firmware seems like a logical thing to do.

I guess we should discuss this on the Fedora kernel mailinglist?

Comment 208 Benjamin Berg 2020-03-02 11:00:08 UTC
I just tried it again. Seems to work reasonably well (I installed alsa-firmware and set the kernel command line).

Two things I noticed:

 1. For DisplayPort output, I need to unmute the "S/PDIF" output using alsamixer
 2. Mic Boost is not enabled, and input volume from the internal microphone seems relatively low. Haven't tried with e.g. a call though.

Headphones worked fine, I did not try a headset this time.

Comment 209 Dmitry Tantsur 2020-03-02 15:00:04 UTC
I think we declared success a bit too early :( After some time the sound broke down, dmesg shows repeated instances of

[17600.132219] sof-audio-pci 0000:00:1f.3: error: ipc timed out for 0x60010000 size 108
[17600.132230] sof-audio-pci 0000:00:1f.3: status: fw entered - code 00000005
[17600.132325] sof-audio-pci 0000:00:1f.3: error: can't enter idle
[17600.132329] sof-audio-pci 0000:00:1f.3: error: trace point 00004000
[17600.132333] sof-audio-pci 0000:00:1f.3: error: panic at src/lib/agent.c:50
[17600.132337] sof-audio-pci 0000:00:1f.3: error: DSP Firmware Oops
[17600.132343] sof-audio-pci 0000:00:1f.3: EXCCAUSE 0x0000003f EXCVADDR 0x00000000 PS       0x00060b25 SAR     0x00000000
[17600.132347] sof-audio-pci 0000:00:1f.3: EPC1     0x00000000 EPC2     0xbe00d4c6 EPC3     0x00000000 EPC4    0x00000000
[17600.132352] sof-audio-pci 0000:00:1f.3: EPC5     0x00000000 EPC6     0x00000000 EPC7     0x00000000 DEPC    0x00000000
[17600.132356] sof-audio-pci 0000:00:1f.3: EPS2     0x00060d20 EPS3     0x00000000 EPS4     0x00000000 EPS5    0x00000000
[17600.132360] sof-audio-pci 0000:00:1f.3: EPS6     0x00000000 EPS7     0x00000000 INTENABL 0x00000000 INTERRU 0x00000222
[17600.132364] sof-audio-pci 0000:00:1f.3: stack dump from 0xbe04f5b0
[17600.132371] sof-audio-pci 0000:00:1f.3: 0xbe04f5b0: be00fd20 be04f5e0 be062180 00000001
[17600.132377] sof-audio-pci 0000:00:1f.3: 0xbe04f5b4: 00000000 00000000 00000032 00000000
[17600.132383] sof-audio-pci 0000:00:1f.3: 0xbe04f5b8: 09243200 3a48c845 a9e29028 ffff95b9
[17600.132388] sof-audio-pci 0000:00:1f.3: 0xbe04f5bc: c1a57a38 ffffb398 00000000 00000000
[17600.132393] sof-audio-pci 0000:00:1f.3: 0xbe04f5c0: a0b13ce8 ffff95b9 0000006c 00000000
[17600.132398] sof-audio-pci 0000:00:1f.3: 0xbe04f5c4: 7dc93c00 ffff95b8 a9e29028 ffff95b9
[17600.132404] sof-audio-pci 0000:00:1f.3: 0xbe04f5c8: a25ce828 ffff95b9 09243200 0000006c
[17600.132409] sof-audio-pci 0000:00:1f.3: 0xbe04f5cc: 00000000 00000001 00000000 00000000
[17600.132419] sof-audio-pci 0000:00:1f.3: error: hda irq intsts 0x00000000 intlctl 0xc0000080 rirb 00
[17600.132423] sof-audio-pci 0000:00:1f.3: error: dsp irq ppsts 0x00000000 adspis 0x00000000
[17600.132430] sof-audio-pci 0000:00:1f.3: error: host status 0x00000000 dsp status 0x00000000 mask 0x00000003
[17600.132435] sof-audio-pci 0000:00:1f.3: error: hw params ipc failed for stream 1
[17600.132441] sof-audio-pci 0000:00:1f.3: ASoC: 0000:00:1f.3 hw params failed: -110
[17600.132447]  DMIC48kHz: ASoC: hw_params FE failed -110

Comment 210 Fedora Update System 2020-03-02 18:51:32 UTC
kernel-5.5.7-100.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.

Comment 211 Fedora Update System 2020-03-02 19:05:10 UTC
kernel-5.5.7-200.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.

Comment 212 Archil Durglishvili 2020-03-03 11:10:03 UTC
I have kernel-5.5.7-200.fc31 with alsa-firmware installed on HP ProBook 450 G6 and the input sound problem still presists.

Comment 213 Benjamin Berg 2020-03-03 11:41:16 UTC
Archil, this is likely expected. It only works for the X1 Carbon, because of the following udev rule. You are probably going to need something similar:

# Carbon X1
SUBSYSTEMS=="pci", ATTRS{vendor}=="0x8086", ATTRS{device}=="0x9dc8", ENV{PULSE_PROFILE_SET}="sof-hda-dsp-dmic4.conf"

Comment 214 Hans de Goede 2020-03-03 16:28:15 UTC
*** Bug 1768288 has been marked as a duplicate of this bug. ***

Comment 215 Archil Durglishvili 2020-03-03 17:06:34 UTC
Thanks Benjamin for the reply.
I had to downgrade the pulseaudio, this solved my problem.

Comment 216 Hans de Goede 2020-03-03 19:00:53 UTC
*** Bug 1775918 has been marked as a duplicate of this bug. ***

Comment 217 Hans de Goede 2020-03-03 21:02:50 UTC
*** Bug 1790199 has been marked as a duplicate of this bug. ***

Comment 218 Dmitry Tantsur 2020-03-04 14:10:59 UTC
An update: I haven't seen the problem in comment 209 since then.

As we discussed with Hans off-list, I'm hearing slight (but annoying) clicks when a song is switched in Audacious (using headsets connected via mini-jack). I *think* I also heard them before I started using the new driver, so it may not be the driver problem..

Comment 219 Jaroslav Kysela 2020-03-04 14:33:13 UTC
Those DSP crashes should be reported here: https://github.com/thesofproject/sof/issues . But if it's a rare case, it might be difficult for Intel guys to resolve it. There are already some reports which may be similar (it seems timing related).

Comment 220 Enrique Gomezdelcampo 2020-03-09 02:02:01 UTC
Hi,

I have an Acer Aspire Z24-890 AIO desktop running Fedora 31. The mic array (2 mics) does not work and the internal speakers (2 of them) only work with the latest kernel if I do: echo "options snd-intel-dspcfg dsp_driver=1" > /etc/modprobe.d/alsa.conf  (so using legacy driver). If I set options snd-intel-dspcfg dsp_driver=0 the computer crashes.

From alsa_info.txt:
!!Soundcards recognised by ALSA
!!-----------------------------

 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xa1510000 irq 140


!!PCI Soundcards installed in the system
!!--------------------------------------

00:1f.3 Multimedia audio controller [0401]: Intel Corporation Cannon Lake PCH cAVS [8086:a348] (rev 10)
	Subsystem: Acer Incorporated [ALI] Device [1025:126c]

------------------------------------------------
Kernel 5.5.7-200.fc31.x86_64

alsa-lib-1.2.2-1.fc31.x86_64
alsa-plugins-pulseaudio-1.2.2-1.fc31.x86_64
alsa-tools-firmware-1.2.2-1.fc31.x86_64
alsa-utils-1.2.2-1.fc31.x86_64
alsa-ucm-1.2.2-1.fc31.noarch
alsa-firmware-1.2.1-4.fc31.noarch

pulseaudio-libs-13.0-2.fc31.x86_64
pulseaudio-module-x11-13.0-2.fc31.x86_64
pulseaudio-utils-13.0-2.fc31.x86_64
pulseaudio-libs-glib2-13.0-2.fc31.x86_64
pulseaudio-module-bluetooth-13.0-2.fc31.x86_64
pulseaudio-13.0-2.fc31.x86_64

What else do you need? Any help is greatly appreciated.

Comment 221 rb 2020-03-09 19:00:38 UTC
I managed to get speakers working on 5.5.7-200 by installing alsa-firmware.

In pavucontrol I see my mic too, and I see it react to audio (it's called "digital microphone(unplugged)") . So it's there, however, in sound settings it doesn't let me select anything ("greyed out")

Also info:

!!################################
!!ALSA Information Script v 0.4.64
!!################################

!!Script ran on: Mon Mar  9 18:56:50 UTC 2020


!!Linux Distribution
!!------------------

Fedora release 31 (Thirty One) NAME=Fedora ID=fedora PRETTY_NAME="Fedora 31 (Workstation Edition)" LOGO=fedora-logo-icon CPE_NAME="cpe:/o:fedoraproject:fedora:31" HOME_URL="https://fedoraproject.org/" DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f31/system-administrators-guide/" SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=31 REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=31 PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" Fedora release 31 (Thirty One) Fedora release 31 (Thirty One)


!!DMI Information
!!---------------

Manufacturer:      LENOVO
Product Name:      20R1S05A00
Product Version:   ThinkPad X1 Carbon 7th
Firmware Version:  N2QET19W (1.13 )
Board Vendor:      LENOVO
Board Name:        20R1S05A00


!!ACPI Device Status Information
!!---------------

/sys/bus/acpi/devices/ACPI0003:00/status 	 15
/sys/bus/acpi/devices/ACPI000C:00/status 	 15
/sys/bus/acpi/devices/ACPI000E:00/status 	 15
/sys/bus/acpi/devices/INT0E0C:00/status 	 15
/sys/bus/acpi/devices/INT3400:00/status 	 15
/sys/bus/acpi/devices/INT3403:00/status 	 15
/sys/bus/acpi/devices/INT3403:01/status 	 15
/sys/bus/acpi/devices/INT34BB:00/status 	 15
/sys/bus/acpi/devices/INT3F0D:00/status 	 15
/sys/bus/acpi/devices/LEN0100:00/status 	 15
/sys/bus/acpi/devices/LEN0111:00/status 	 15
/sys/bus/acpi/devices/LEN0268:00/status 	 15
/sys/bus/acpi/devices/LEN0300:00/status 	 15
/sys/bus/acpi/devices/LNXPOWER:00/status 	 1
/sys/bus/acpi/devices/LNXPOWER:01/status 	 1
/sys/bus/acpi/devices/LNXPOWER:02/status 	 15
/sys/bus/acpi/devices/LNXPOWER:05/status 	 1
/sys/bus/acpi/devices/LNXPOWER:06/status 	 1
/sys/bus/acpi/devices/LNXPOWER:07/status 	 1
/sys/bus/acpi/devices/LNXPOWER:08/status 	 1
/sys/bus/acpi/devices/PNP0103:00/status 	 15
/sys/bus/acpi/devices/PNP0C02:00/status 	 3
/sys/bus/acpi/devices/PNP0C02:01/status 	 3
/sys/bus/acpi/devices/PNP0C02:06/status 	 3
/sys/bus/acpi/devices/PNP0C0A:00/status 	 31
/sys/bus/acpi/devices/PNP0C60:00/status 	 15
/sys/bus/acpi/devices/PRP00001:00/status 	 11
/sys/bus/acpi/devices/STM7308:00/status 	 15
/sys/bus/acpi/devices/SYNA8004:00/status 	 15
/sys/bus/acpi/devices/USBC000:00/status 	 15
/sys/bus/acpi/devices/device:17/status 	 15
/sys/bus/acpi/devices/device:26/status 	 15
/sys/bus/acpi/devices/device:27/status 	 15


!!Kernel Information
!!------------------

Kernel release:    5.5.7-200.fc31.x86_64
Operating System:  GNU/Linux
Architecture:      x86_64
Processor:         x86_64
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     k5.5.7-200.fc31.x86_64
Library version:    
Utilities version:  1.2.2


!!Loaded ALSA modules
!!-------------------

snd_soc_skl_hda_dsp


!!Sound Servers on this system
!!----------------------------

Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - Yes


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [sofhdadsp      ]: sof-hda-dsp - sof-hda-dsp
                      LENOVO-20R1S05A00-ThinkPadX1Carbon7th


!!PCI Soundcards installed in the system
!!--------------------------------------

00:1f.3 Audio device [0403]: Intel Corporation Device [8086:02c8] (prog-if 80)
	Subsystem: Lenovo Device [17aa:2292]


!!Loaded sound module options
!!---------------------------

!!Module: snd_soc_skl_hda_dsp
	* : 


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Realtek ALC285
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0285
Subsystem Id: 0x17aa2293
Revision Id: 0x100002
No Modem Function Group found
Default PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D1 D2 D3 D3cold CLKSTOP EPSS
  Power: setting=D0, actual=D0
GPIO: io=3, o=0, i=0, unsolicited=1, wake=0
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="Speaker Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x57 0x57]
  Converter: stream=1, channel=0
  PCM:
    rates [0x40]: 48000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x41d: Stereo Amp-Out
  Control: name="Headphone Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0
  Amp-Out vals:  [0x57 0x57]
  Converter: stream=1, channel=0
  PCM:
    rates [0x40]: 48000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x04 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x05 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x06 [Audio Output] wcaps 0x411: Stereo
  Converter: stream=0, channel=0
  PCM:
    rates [0x40]: 48000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x07 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
  Amp-In vals:  [0x97 0x97]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x40]: 48000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x24
Node 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Control: name="Capture Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Capture Switch", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
  Amp-In vals:  [0x3f 0x3f]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x23
Node 0x09 [Audio Input] wcaps 0x10051b: Stereo Amp-In
  Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1
  Amp-In vals:  [0x97 0x97]
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x22
Node 0x0a [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0b [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0c [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0d [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0e [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x0f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x10 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x11 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x12 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x13 [Pin Complex] wcaps 0x40040b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x40000000: [N/A] Line Out at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0x0, Sequence = 0x0
  Pin-ctls: 0x00:
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x14 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00010014: OUT EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x90170110: [Fixed] Speaker at Int N/A
    Conn = Analog, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x02
Node 0x15 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x16 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x02* 0x03
Node 0x17 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Bass Speaker Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x90170111: [Fixed] Speaker at Int N/A
    Conn = Analog, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x1
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 3
     0x02* 0x03 0x06
  In-driver Connection: 1
     0x02
Node 0x18 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000024: IN Detect
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x19 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Control: name="Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x03 0x03]
  Pincap 0x00003724: IN Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x04a11040: [Jack] Mic at Ext Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x4, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=02, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1a [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00003724: IN Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00013734: IN OUT EAPD Detect
    Vref caps: HIZ 50 GRD 80 100
  EAPD 0x2: EAPD
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x02* 0x03
Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x1d [Pin Complex] wcaps 0x400400: Mono
  Pincap 0x00000020: IN
  Pin Default 0x40600001: [N/A] Modem Line at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0x0, Sequence = 0x1
  Pin-ctls: 0x20: IN
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x1e [Pin Complex] wcaps 0x400501: Stereo
  Pincap 0x00000010: OUT
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 1
     0x06
Node 0x1f [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono
  Processing caps: benign=0, ncoeff=142
Node 0x21 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001001c: OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x04211020: [Jack] HP Out at Ext Right
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=01, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x02 0x03*
Node 0x22 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 5
     0x19 0x1a 0x1b 0x1d 0x13
Node 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-In vals:  [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]
  Connection: 5
     0x19 0x1a 0x1b 0x1d 0x12
Node 0x24 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 3
     0x12* 0x13 0x18
Codec: Intel Kabylake HDMI
Address: 2
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x8086280b
Subsystem Id: 0x80860101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0, Clock-stop-OK
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x04 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
Node 0x07 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
Node 0x08 [Vendor Defined Widget] wcaps 0xf00000: Mono
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw----+ 1 root audio 116, 13 Mar  9 14:48 /dev/snd/controlC0
crw-rw----+ 1 root audio 116, 12 Mar  9 14:48 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116, 11 Mar  9 14:48 /dev/snd/hwC0D2
crw-rw----+ 1 root audio 116,  5 Mar  9 14:53 /dev/snd/pcmC0D0c
crw-rw----+ 1 root audio 116,  4 Mar  9 14:56 /dev/snd/pcmC0D0p
crw-rw----+ 1 root audio 116,  7 Mar  9 14:48 /dev/snd/pcmC0D1c
crw-rw----+ 1 root audio 116,  6 Mar  9 14:48 /dev/snd/pcmC0D1p
crw-rw----+ 1 root audio 116,  8 Mar  9 14:48 /dev/snd/pcmC0D3p
crw-rw----+ 1 root audio 116,  9 Mar  9 14:48 /dev/snd/pcmC0D4p
crw-rw----+ 1 root audio 116, 10 Mar  9 14:48 /dev/snd/pcmC0D5p
crw-rw----+ 1 root audio 116,  2 Mar  9 14:53 /dev/snd/pcmC0D6c
crw-rw----+ 1 root audio 116,  3 Mar  9 14:48 /dev/snd/pcmC0D7c
crw-rw----+ 1 root audio 116,  1 Mar  9 14:48 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Mar  9 14:48 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x. 2 root root  60 Mar  9 14:48 .
drwxr-xr-x. 3 root root 340 Mar  9 14:48 ..
lrwxrwxrwx. 1 root root  12 Mar  9 14:48 pci-0000:00:1f.3-platform-skl_hda_dsp_generic -> ../controlC0


!!ALSA configuration files
!!------------------------

!!System wide config file (/etc/asound.conf)

#
# Place your global alsa-lib configuration here...
#


!!Aplay/Arecord output
!!--------------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 1: HDA Digital (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 3: HDMI1 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 4: HDMI2 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 5: HDMI3 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 1: HDA Digital (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 6: DMIC48kHz (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 7: DMIC16kHz (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card sofhdadsp

Card hw:0 'sofhdadsp'/'LENOVO-20R1S05A00-ThinkPadX1Carbon7th'
  Mixer name	: 'Realtek ALC285'
  Components	: 'HDA:8086280b,80860101,00100000 HDA:10ec0285,17aa2293,00100002 cfg-dmics:4'
  Controls      : 49
  Simple ctrls  : 20
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB] [on]
  Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB] [on]
  Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Bass Speaker',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
Simple mixer control 'Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 3 [100%] [30.00dB]
  Front Right: 3 [100%] [30.00dB]
Simple mixer control 'Mic Mute-LED Mode',0
  Capabilities: enum
  Items: 'On' 'Off' 'Follow Capture' 'Follow Mute'
  Item0: 'Follow Mute'
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',1
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 63 [100%] [30.00dB] [on]
  Front Right: Capture 63 [100%] [30.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Disabled'
Simple mixer control 'Dmic0',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 70
  Front Left: Capture 70 [100%] [20.00dB] [on]
  Front Right: Capture 70 [100%] [20.00dB] [on]
Simple mixer control 'Dmic1',0
  Capabilities: cvolume
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 70
  Front Left: Capture 70 [100%] [20.00dB]
  Front Right: Capture 70 [100%] [20.00dB]
Simple mixer control 'PGA1.0 1 Master',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 32
  Mono:
  Front Left: Playback 32 [100%] [0.00dB]
  Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'PGA2.0 2 Master',0
  Capabilities: cvolume
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 80 [100%] [30.00dB]
  Front Right: Capture 80 [100%] [30.00dB]
Simple mixer control 'PGA3.0 3 Master',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 32
  Mono:
  Front Left: Playback 32 [100%] [0.00dB]
  Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'PGA4.0 4 Master',0
  Capabilities: cvolume
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 80 [100%] [30.00dB]
  Front Right: Capture 80 [100%] [30.00dB]
Simple mixer control 'PGA7.0 7 Master',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 32
  Mono:
  Front Left: Playback 32 [100%] [0.00dB]
  Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'PGA8.0 8 Master',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 32
  Mono:
  Front Left: Playback 32 [100%] [0.00dB]
  Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'PGA9.0 9 Master',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 32
  Mono:
  Front Left: Playback 32 [100%] [0.00dB]
  Front Right: Playback 32 [100%] [0.00dB]


!!Alsactl output
!!--------------

--startcollapse--
state.sofhdadsp {
	control.1 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 87
		value.1 87
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.2 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Speaker Playback Volume'
		value.0 87
		value.1 87
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.4 {
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Bass Speaker Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.6 {
		iface MIXER
		name 'Auto-Mute Mode'
		value Disabled
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 Enabled
		}
	}
	control.7 {
		iface MIXER
		name 'Capture Volume'
		value.0 63
		value.1 63
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 63'
			dbmin -1725
			dbmax 3000
			dbvalue.0 3000
			dbvalue.1 3000
		}
	}
	control.8 {
		iface MIXER
		name 'Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.9 {
		iface MIXER
		name 'Mic Boost Volume'
		value.0 3
		value.1 3
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 3000
			dbvalue.1 3000
		}
	}
	control.10 {
		iface MIXER
		name 'Mic Mute-LED Mode'
		value 'Follow Mute'
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 On
			item.1 Off
			item.2 'Follow Capture'
			item.3 'Follow Mute'
		}
	}
	control.11 {
		iface MIXER
		name 'Master Playback Volume'
		value 87
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 87'
			dbmin -6525
			dbmax 0
			dbvalue.0 0
		}
	}
	control.12 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.13 {
		iface CARD
		name 'Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.14 {
		iface CARD
		name 'Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.15 {
		iface CARD
		name 'Speaker Front Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.16 {
		iface CARD
		name 'Speaker Surround Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.17 {
		iface CARD
		name 'HDMI/DP,pcm=3 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.18 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.19 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.20 {
		iface MIXER
		name 'IEC958 Playback Default'
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.21 {
		iface MIXER
		name 'IEC958 Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.22 {
		iface PCM
		device 3
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.23 {
		iface CARD
		name 'HDMI/DP,pcm=4 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.24 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 1
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.25 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 1
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.26 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 1
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.27 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 1
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.28 {
		iface PCM
		device 4
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.29 {
		iface CARD
		name 'HDMI/DP,pcm=5 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.30 {
		iface MIXER
		name 'IEC958 Playback Con Mask'
		index 2
		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.31 {
		iface MIXER
		name 'IEC958 Playback Pro Mask'
		index 2
		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access read
			type IEC958
			count 1
		}
	}
	control.32 {
		iface MIXER
		name 'IEC958 Playback Default'
		index 2
		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read write'
			type IEC958
			count 1
		}
	}
	control.33 {
		iface MIXER
		name 'IEC958 Playback Switch'
		index 2
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.34 {
		iface PCM
		device 5
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.35 {
		iface PCM
		device 3
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.36 {
		iface PCM
		device 4
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.37 {
		iface PCM
		device 5
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		value.2 0
		value.3 0
		value.4 0
		value.5 0
		value.6 0
		value.7 0
		comment {
			access 'read write'
			type INTEGER
			count 8
			range '0 - 36'
		}
	}
	control.38 {
		iface MIXER
		name 'PGA1.0 1 Master Playback Volume'
		value.0 32
		value.1 32
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 32'
			dbmin -9999999
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.39 {
		iface MIXER
		name 'PGA2.0 2 Master Capture Volume'
		value.0 80
		value.1 80
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 80'
			dbmin -9999999
			dbmax 3000
			dbvalue.0 3000
			dbvalue.1 3000
		}
	}
	control.40 {
		iface MIXER
		name 'PGA3.0 3 Master Playback Volume'
		value.0 32
		value.1 32
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 32'
			dbmin -9999999
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.41 {
		iface MIXER
		name 'PGA4.0 4 Master Capture Volume'
		value.0 80
		value.1 80
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 80'
			dbmin -9999999
			dbmax 3000
			dbvalue.0 3000
			dbvalue.1 3000
		}
	}
	control.42 {
		iface MIXER
		name 'PGA7.0 7 Master Playback Volume'
		value.0 32
		value.1 32
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 32'
			dbmin -9999999
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.43 {
		iface MIXER
		name 'PGA8.0 8 Master Playback Volume'
		value.0 32
		value.1 32
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 32'
			dbmin -9999999
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.44 {
		iface MIXER
		name 'PGA9.0 9 Master Playback Volume'
		value.0 32
		value.1 32
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 32'
			dbmin -9999999
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.45 {
		iface MIXER
		name 'Dmic0 Capture Volume'
		value.0 70
		value.1 70
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 70'
			dbmin -9999999
			dbmax 2000
			dbvalue.0 2000
			dbvalue.1 2000
		}
	}
	control.46 {
		iface MIXER
		name 'Dmic0 Capture Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.48 {
		iface MIXER
		name 'Dmic1 Capture Volume'
		value.0 70
		value.1 70
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 70'
			dbmin -9999999
			dbmax 2000
			dbvalue.0 2000
			dbvalue.1 2000
		}
	}
}
--endcollapse--


!!All Loaded Modules
!!------------------

ac97_bus
acpi_pad
acpi_tad
acpi_thermal_rel
bluetooth
bnep
bridge
btbcm
btintel
btrtl
btusb
ccm
cfg80211
cmac
coretemp
crc32_pclmul
crc32c_intel
crct10dif_pclmul
dm_crypt
drm
drm_kms_helper
e1000e
ebtable_broute
ebtable_filter
ebtable_nat
ebtables
ecc
ecdh_generic
fat
fuse
ghash_clmulni_intel
hid_multitouch
i2c_algo_bit
i2c_hid
i2c_i801
i915
iTCO_vendor_support
iTCO_wdt
idma64
int3400_thermal
int3403_thermal
int340x_thermal_zone
intel_cstate
intel_powerclamp
intel_rapl_common
intel_rapl_msr
intel_soc_dts_iosf
intel_wmi_thunderbolt
ip6_tables
ip6t_REJECT
ip6t_rpfilter
ip6table_filter
ip6table_mangle
ip6table_nat
ip6table_raw
ip6table_security
ip_set
ip_tables
ipt_REJECT
iptable_filter
iptable_mangle
iptable_nat
iptable_raw
iptable_security
irqbypass
iwlmvm
iwlwifi
joydev
kvm
kvm_intel
ledtrig_audio
libarc4
libcrc32c
llc
loop
mac80211
mc
mei
mei_hdcp
mei_me
nf_conntrack
nf_conntrack_broadcast
nf_conntrack_netbios_ns
nf_conntrack_tftp
nf_defrag_ipv4
nf_defrag_ipv6
nf_nat
nf_nat_tftp
nf_reject_ipv4
nf_reject_ipv6
nfnetlink
nvme
nvme_core
pcspkr
pinctrl_cannonlake
pinctrl_intel
processor_thermal_device
rfcomm
rfkill
serio_raw
snd
snd_compress
snd_hda_codec
snd_hda_codec_generic
snd_hda_codec_hdmi
snd_hda_codec_realtek
snd_hda_core
snd_hda_ext_core
snd_hda_intel
snd_hwdep
snd_intel_dspcfg
snd_pcm
snd_pcm_dmaengine
snd_seq
snd_seq_device
snd_soc_acpi
snd_soc_acpi_intel_match
snd_soc_core
snd_soc_dmic
snd_soc_hdac_hda
snd_soc_hdac_hdmi
snd_soc_skl
snd_soc_skl_hda_dsp
snd_soc_sst_dsp
snd_soc_sst_ipc
snd_sof
snd_sof_intel_byt
snd_sof_intel_hda
snd_sof_intel_hda_common
snd_sof_intel_ipc
snd_sof_pci
snd_sof_xtensa_dsp
snd_timer
soundcore
squashfs
stp
sunrpc
thinkpad_acpi
thunderbolt
tun
typec
typec_ucsi
ucsi_acpi
uinput
uvcvideo
vfat
video
videobuf2_common
videobuf2_memops
videobuf2_v4l2
videobuf2_vmalloc
videodev
wmi
wmi_bmof
x86_pkg_temp_thermal
xt_CHECKSUM
xt_CT
xt_MASQUERADE
xt_conntrack
zstd_decompress


!!Sysfs Files
!!-----------

/sys/class/sound/hwC0D0/init_pin_configs:
0x12 0x411111f0
0x13 0x40000000
0x14 0x90170110
0x16 0x411111f0
0x17 0x90170111
0x18 0x411111f0
0x19 0x04a11040
0x1a 0x411111f0
0x1b 0x411111f0
0x1d 0x40600001
0x1e 0x411111f0
0x21 0x04211020

/sys/class/sound/hwC0D0/driver_pin_configs:

/sys/class/sound/hwC0D0/user_pin_configs:

/sys/class/sound/hwC0D0/init_verbs:

/sys/class/sound/hwC0D0/hints:

/sys/class/sound/hwC0D2/init_pin_configs:
0x05 0x18560010
0x06 0x18560010
0x07 0x18560010

/sys/class/sound/hwC0D2/driver_pin_configs:

/sys/class/sound/hwC0D2/user_pin_configs:

/sys/class/sound/hwC0D2/init_verbs:

/sys/class/sound/hwC0D2/hints:


!!ALSA/HDA dmesg
!!--------------

[    0.835000] ACPI: Added _OSI(Linux-Dell-Video)
[    0.835000] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    0.835000] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
--
[   18.279942] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[   18.318858] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[   18.320038] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[   18.341032] iwlwifi 0000:00:14.3: base HW address: 94:e6:f7:66:af:85
--
[   18.362281] iwlwifi 0000:00:14.3 wlp0s20f3: renamed from wlan0
[   18.464594] snd_soc_skl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[   18.464670] snd_soc_skl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[   18.543505] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
--
[   18.548885] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[   18.553001] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[   18.553003] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[   18.620487] sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
--
[   18.730912] sof-audio-pci 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred
[   18.749469] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC285: line_outs=2 (0x14/0x17/0x0/0x0/0x0) type:speaker
[   18.749470] snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   18.749471] snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[   18.749471] snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
[   18.749472] snd_hda_codec_realtek ehdaudio0D0:    inputs:
[   18.749472] snd_hda_codec_realtek ehdaudio0D0:      Mic=0x19
[   18.788832] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
[   18.788836] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten
[   18.788853] skl_hda_dsp_generic skl_hda_dsp_generic: intel-hdmi-hifi1 <-> iDisp1 Pin mapping ok
--
[   18.788864] skl_hda_dsp_generic skl_hda_dsp_generic: dmic-hifi <-> DMIC16k Pin mapping ok
[   18.788876] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> DMIC48kHz 6 mapping ok
[   18.788884] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> DMIC16kHz 7 mapping ok
[   18.788897] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Analog 0 mapping ok
[   18.788909] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Digital 1 mapping ok
[   18.788917] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI1 3 mapping ok
[   18.788925] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI2 4 mapping ok
[   18.788933] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI3 5 mapping ok
[   18.788972] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi3 overwritten
--
[   18.789008] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Alt Analog Codec Capture overwritten
[   18.801240] input: sof-hda-dsp Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input17
[   18.801283] input: sof-hda-dsp Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input18
[   18.801310] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input19
[   18.801337] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input20
[   18.801363] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input21
[   18.943184] loop: module loaded

Comment 222 Damian Wrobel 2020-03-09 21:28:42 UTC
Created attachment 1668768 [details]
alsa-info-Lenovo-Yoga-C740-14IML-kernel-5.5.8-200.fc31.txt

On the Lenovo-Yoga-C740 with:
 - alsa-firmware-1.2.1-5.fc31.noarch,
 - pulseaudio-13.0-2.fc31.x86_64,
 - kernel-5.5.8-200.fc31.x86_64

observations are as follows:

- output device is working however,
  - after reboot by default in setting "dummy" output is selected and I had to change it to "sof" based one (on kernel 5.4.17 and without alsa-firmware - non-dummy output was selected by default),
  - maximum audio level is much lower (even with Over-Amplification enabled) in comparison to kernel 5.4.17.

- input device is not working (no single entry to be selected - the same as on kernel 5.4.17).

Comment 223 Damian Wrobel 2020-03-11 20:25:40 UTC
(In reply to Damian Wrobel from comment #222)

After upgrading to pulseaudio-13.99.1-1.fc31.x86_64 both output and input devices started to work OOTB. More precisely (and comparing to pulseaudio-13.0-2.fc31.x86_64) "sof-hda-dsp" output device is selected by default (there is no dummy output to be selected). As input device: "sof-hda-dsp" is selected by default and works great.

Thank you for supporting such a new hardware.

Comment 224 Ben W 2020-03-12 05:40:44 UTC
This isn't working for me...

Thinkpad X11 Carbon Gen 7
Kernel 5.6.0-0.rc4.git0.1.fc32.x86_64
pulseaudio-13.99.1-1.fc32.x86_64
alsa-firmware-1.2.1-7.fc32.noarch
alsa-sof-firmware-1.4.2-3.fc32.noarch
alsa-ucm-1.2.2-1.fc32.noarch

dmesg | grep SOF returns nothing.

cat /etc/modprobe.d/alsa.conf 
options snd-sof-pci sof-pci_debug=1
options snd-intel-dspcfg dsp_driver=0

/etc/pulse/daemon.conf has
enable-lfe-remixing = yes
lfe-crossover-freq = 250

/etc/pulse/default.pa has
load-module module-alsa-source device=hw:0,6 channels=4

I'm able to get the legacy driver to come up, but with that only 2 speakers work (no bass), no mic, and audio is distorted (tinny?).

Comment 225 ryan@testtoast.com 2020-03-12 05:53:26 UTC
> This isn't working for me...

> Thinkpad X11 Carbon Gen 7
> Kernel 5.6.0-0.rc4.git0.1.fc32.x86_64
> pulseaudio-13.99.1-1.fc32.x86_64
> alsa-firmware-1.2.1-7.fc32.noarch
> alsa-sof-firmware-1.4.2-3.fc32.noarch
> alsa-ucm-1.2.2-1.fc32.noarch

Was going to say you need alsa-sof-firmware now (which wasn't well-communicated) but see you do have it installed. My X1Y4 is working fine with FC32. Try dmesg | grep sof (not SOF) and see if there's anything helpful.

Comment 226 Ben W 2020-03-12 06:00:12 UTC
> Was going to say you need alsa-sof-firmware now (which wasn't well-communicated) but see you do have it installed. My X1Y4 is working fine with FC32. Try dmesg | grep sof (not SOF) and see if there's anything helpful.

Thanks for the super quick reply. Some results containing the word "software" but nothing relating to SOF.

Comment 227 Ben W 2020-03-12 06:01:34 UTC
> Was going to say you need alsa-sof-firmware now (which wasn't well-communicated) but see you do have it installed. My X1Y4 is working fine with FC32. Try dmesg | grep sof (not SOF) and see if there's anything helpful.

Thanks for the super quick reply. Some results containing the word "software" but nothing relating to SOF.

Comment 228 ryan@testtoast.com 2020-03-12 07:07:20 UTC
> Thanks for the super quick reply. Some results containing the word "software" but nothing relating to SOF.

Weird. Do you have sof-cnl.ri under /lib/firmware/intel/sof and various .tplg files under /lib/firmware/intel/sof-tplg (or links?). There should be at least the line "snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver" in dmesg if so.

Comment 229 Jaroslav Kysela 2020-03-12 08:30:42 UTC
(In reply to Ben W from comment #224)
> This isn't working for me...
> 
> Thinkpad X11 Carbon Gen 7
> Kernel 5.6.0-0.rc4.git0.1.fc32.x86_64
> pulseaudio-13.99.1-1.fc32.x86_64
> alsa-firmware-1.2.1-7.fc32.noarch
> alsa-sof-firmware-1.4.2-3.fc32.noarch
> alsa-ucm-1.2.2-1.fc32.noarch
> 
> dmesg | grep SOF returns nothing.

It should be "grep sof"

> cat /etc/modprobe.d/alsa.conf 
> options snd-sof-pci sof-pci_debug=1
> options snd-intel-dspcfg dsp_driver=0
> 
> /etc/pulse/daemon.conf has
> enable-lfe-remixing = yes
> lfe-crossover-freq = 250
> 
> /etc/pulse/default.pa has
> load-module module-alsa-source device=hw:0,6 channels=4

Remove any of those custom modifications in the PA config. It won't work. This above line is wrong for the UCM config.

(In reply to ryan from comment #225)
> > This isn't working for me...
> 
> > Thinkpad X11 Carbon Gen 7
> > Kernel 5.6.0-0.rc4.git0.1.fc32.x86_64
> > pulseaudio-13.99.1-1.fc32.x86_64
> > alsa-firmware-1.2.1-7.fc32.noarch
> > alsa-sof-firmware-1.4.2-3.fc32.noarch
> > alsa-ucm-1.2.2-1.fc32.noarch
> 
> Was going to say you need alsa-sof-firmware now (which wasn't
> well-communicated) but see you do have it installed. My X1Y4 is working fine
> with FC32. Try dmesg | grep sof (not SOF) and see if there's anything
> helpful.

Yes, we're moving the firmware to alsa-sof-firmware package and it will be installed by default for F32. https://pagure.io/fedora-comps/pull-request/465 . Sorry, this bug is for F31.

Comment 230 Ben W 2020-03-12 14:15:04 UTC
> Sorry, this bug is for F31.

My apologies. Should we continue in this bug then?
https://bugzilla.redhat.com/show_bug.cgi?id=1811914

Comment 231 Ben W 2020-03-12 15:24:38 UTC
New bug for F32 filed here, as directed: https://bugzilla.redhat.com/show_bug.cgi?id=1812964

Comment 232 Enrique Gomezdelcampo 2020-03-21 00:49:11 UTC
Since nobody responded to my problem I am posting it again. Noticed that I waited for the updated kernel and pulseaudio versions and that I have alsa-firmware installed. Still my PC, an Acer Aspire Z24-890 AIO desktop running Fedora 31, crashes unless I use the echo "options snd-intel-dspcfg dsp_driver=1" > /etc/modprobe.d/alsa.conf (so using legacy driver). With that option in alsa.conf the speakers work, but the mic array (2 mics) do not. If I set the options snd-intel-dspcfg dsp_driver to 0, Fedora 31 crashes shortly after opening Gnome.

These are the versions installed:
kernel-5.5.9-200.fc31.x86_64

alsa-ucm-utils-1.2.2-1.fc31.x86_64
alsa-lib-1.2.2-1.fc31.x86_64
alsa-plugins-pulseaudio-1.2.2-1.fc31.x86_64
alsa-tools-firmware-1.2.2-1.fc31.x86_64
alsa-utils-1.2.2-1.fc31.x86_64
alsa-ucm-1.2.2-1.fc31.noarch
alsa-firmware-1.2.1-4.fc31.noarch

pulseaudio-utils-13.99.1-1.fc31.x86_64
pulseaudio-module-x11-13.99.1-1.fc31.x86_64
pulseaudio-libs-glib2-13.99.1-1.fc31.x86_64
pulseaudio-libs-13.99.1-1.fc31.x86_64
pulseaudio-module-bluetooth-13.99.1-1.fc31.x86_64
pulseaudio-13.99.1-1.fc31.x86_64

And from alsa_info.txt:
!!Soundcards recognised by ALSA
!!-----------------------------

 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xa1510000 irq 140


!!PCI Soundcards installed in the system
!!--------------------------------------

00:1f.3 Multimedia audio controller [0401]: Intel Corporation Cannon Lake PCH cAVS [8086:a348] (rev 10)
	Subsystem: Acer Incorporated [ALI] Device [1025:126c]

------------------------------------------------


*****Any help is greatly appreciated. Thanks!

Comment 233 Jaroslav Kysela 2020-03-21 08:40:28 UTC
Create another issue with 'dmesg' output after boot, output from 'alsa-info.sh --no-upload' and try to gather the crash data (what crashes, kernel?) for the analysis. This bug is closed, but we can try to isolate the issues for the specific hardware variants.

Comment 234 Enrique Gomezdelcampo 2020-03-23 02:50:06 UTC
Thanks for the quick reply. By issue do you mean to create another bug report or just add the output files requested in this bug report?

Comment 235 Jaroslav Kysela 2020-03-23 08:20:55 UTC
Create a new bug, please.

Comment 236 Sammy 2020-03-24 16:02:14 UTC
I bought new headphones, CORSAIR HS45, connected to Carbon X1. The headphone and the microphone are detected and show up under sound devices fine, When selected the headphones get the sound but I could not get the microphone to work. I am teaching remotely now and it would be nice to use the headphone instead of the bultin in speakers and microphone. I am on Fedora 31 with the latest

pulseaudio-13.99.1-2.fc31
alsa-lib-1.2.2-1.fc31

HS45 can be connected either by the jack or has a usb connection adapter. I used both with same result. Any ideas? Thanks.

Comment 237 Sammy 2020-03-24 21:31:10 UTC
These are the messages in /var/log/messages

Mar 24 16:09:55 Thinkpad kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Mar 24 16:09:55 Thinkpad kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Mar 24 16:14:45 Thinkpad kernel: usb 1-3: new full-speed USB device number 6 using xhci_hcd
Mar 24 16:14:45 Thinkpad kernel: usb 1-3: New USB device found, idVendor=1b1c, idProduct=0a58, bcdDevice= 1.00
Mar 24 16:14:45 Thinkpad kernel: usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Mar 24 16:14:45 Thinkpad kernel: usb 1-3: Product: CORSAIR HS45 SURROUND
Mar 24 16:14:45 Thinkpad kernel: usb 1-3: Manufacturer: Corsair Components Inc.
Mar 24 16:14:45 Thinkpad kernel: usb 1-3: SerialNumber: v0.1
Mar 24 16:14:45 Thinkpad kernel: input: Corsair Components Inc. CORSAIR HS45 SURROUND as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.3/0003:1B1C:0A58.0003/input/input23
Mar 24 16:14:45 Thinkpad kernel: hid-generic 0003:1B1C:0A58.0003: input,hidraw1: USB HID v1.00 Device [Corsair Components Inc. CORSAIR HS45 SURROUND] on usb-0000:00:14.0-3/input3
Mar 24 16:14:45 Thinkpad mtp-probe[15473]: checking bus 1, device 6: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-3"
Mar 24 16:14:45 Thinkpad mtp-probe[15473]: bus: 1, device: 6 was not an MTP device
Mar 24 16:14:45 Thinkpad mtp-probe[15490]: checking bus 1, device 6: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-3"
Mar 24 16:14:45 Thinkpad mtp-probe[15490]: bus: 1, device: 6 was not an MTP device
Mar 24 16:14:46 Thinkpad rtkit-daemon[862]: Successfully made thread 15493 of process 1425 (/usr/bin/pulseaudio) owned by '1000' RT at priority 5.
Mar 24 16:14:46 Thinkpad rtkit-daemon[862]: Successfully made thread 15496 of process 1425 (/usr/bin/pulseaudio) owned by '1000' RT at priority 5.
Mar 24 16:14:46 Thinkpad plasmashell[1391]: org.kde.plasma.pulseaudio: No object for name "alsa_input.usb-Corsair_Components_Inc._CORSAIR_HS45_SURROUND_v0.1-00.multichannel-input"
Mar 24 16:15:07 Thinkpad kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Mar 24 16:15:07 Thinkpad kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Mar 24 16:15:33 Thinkpad kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Mar 24 16:15:33 Thinkpad kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Mar 24 16:16:12 Thinkpad kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Mar 24 16:16:12 Thinkpad kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Mar 24 16:16:16 Thinkpad kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Mar 24 16:16:16 Thinkpad kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Mar 24 16:16:19 Thinkpad kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Mar 24 16:16:19 Thinkpad kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Mar 24 16:16:21 Thinkpad kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Mar 24 16:16:22 Thinkpad kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
Mar 24 16:16:32 Thinkpad kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
Mar 24 16:16:32 Thinkpad kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete

Comment 238 Jeff 2020-04-15 15:09:30 UTC
(In reply to Enrique Gomezdelcampo from comment #232)
> Since nobody responded to my problem I am posting it again. Noticed that I
> waited for the updated kernel and pulseaudio versions and that I have
> alsa-firmware installed. Still my PC, an Acer Aspire Z24-890 AIO desktop
> running Fedora 31, crashes unless I use the echo "options snd-intel-dspcfg
> dsp_driver=1" > /etc/modprobe.d/alsa.conf (so using legacy driver). With
> that option in alsa.conf the speakers work, but the mic array (2 mics) do
> not. If I set the options snd-intel-dspcfg dsp_driver to 0, Fedora 31
> crashes shortly after opening Gnome.
> 
> These are the versions installed:
> kernel-5.5.9-200.fc31.x86_64
> 
> alsa-ucm-utils-1.2.2-1.fc31.x86_64
> alsa-lib-1.2.2-1.fc31.x86_64
> alsa-plugins-pulseaudio-1.2.2-1.fc31.x86_64
> alsa-tools-firmware-1.2.2-1.fc31.x86_64
> alsa-utils-1.2.2-1.fc31.x86_64
> alsa-ucm-1.2.2-1.fc31.noarch
> alsa-firmware-1.2.1-4.fc31.noarch
> 
> pulseaudio-utils-13.99.1-1.fc31.x86_64
> pulseaudio-module-x11-13.99.1-1.fc31.x86_64
> pulseaudio-libs-glib2-13.99.1-1.fc31.x86_64
> pulseaudio-libs-13.99.1-1.fc31.x86_64
> pulseaudio-module-bluetooth-13.99.1-1.fc31.x86_64
> pulseaudio-13.99.1-1.fc31.x86_64
> 
> And from alsa_info.txt:
> !!Soundcards recognised by ALSA
> !!-----------------------------
> 
>  0 [PCH            ]: HDA-Intel - HDA Intel PCH
>                       HDA Intel PCH at 0xa1510000 irq 140
> 
> 
> !!PCI Soundcards installed in the system
> !!--------------------------------------
> 
> 00:1f.3 Multimedia audio controller [0401]: Intel Corporation Cannon Lake
> PCH cAVS [8086:a348] (rev 10)
> 	Subsystem: Acer Incorporated [ALI] Device [1025:126c]
> 
> ------------------------------------------------
> 
> 
> *****Any help is greatly appreciated. Thanks!


I have the same configuration (and tried all the latest distros)  with the same result, "crash" (maybe freeze as he means) issue on my machine (Dell Inspiron 7590) and has no way to trace log because it freezes just right after logging in. So I think there is no hope for dmic in my machine. But I keep waiting for any fixes, updates for the kernel and sof-firmware.

Comment 239 m.frueauff 2020-04-29 12:17:55 UTC
So upgrade to Fedora 32 broken the audio of my Lenovo X1 7th....

alsa info here:
http://alsa-project.org/db/?f=705366fae828d6e9bc597657552bcec01a2c91d2

No sound at all.
With option:
options snd-intel-dspcfg dsp_driver=1

I do have sound - but no mic anymore and only upper-front speakers gives sounds :(


Regs
Marek

Comment 240 m.frueauff 2020-04-29 12:36:00 UTC
(In reply to m.frueauff from comment #239)
> So upgrade to Fedora 32 broken the audio of my Lenovo X1 7th....
> 
> alsa info here:
> http://alsa-project.org/db/?f=705366fae828d6e9bc597657552bcec01a2c91d2
> 
> No sound at all.
> With option:
> options snd-intel-dspcfg dsp_driver=1
> 
> I do have sound - but no mic anymore and only upper-front speakers gives
> sounds :(
> 
> 
> Regs
> Marek

Ok - my fault....
Removing all "tips and tricks" from /etc/modprobe.d/alsa.conf and other, reinstall pulseaudio/alsa and install sof firmware, and everything is working like a charm.

Sorry for panic mode :)

regs.
Marek

Comment 241 Dmitry Tantsur 2020-05-08 13:49:25 UTC
> HDA Analog: ASoC: hw_params BE failed -110

Seeing this again pretty regularly :(

How do I file a bug against SOF? They need a few things that are not obvious to me:

> Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
> Name of the topology file
> firmware log from *sof-logger*

Comment 242 Bernie Innocenti 2020-06-01 07:21:28 UTC
Hey, sorry for necroing this bug after it's been long resolved.

Sound has been working just fine for a few months on my X1C7, but there's still a minor issue left: the DMIC has persisting background noise. It's much louder than the noise from a headset. It's barely usable for videoconferencing, and I doubt this is how the DSP firmware should perform.

I just want to ask if anyone else is experiencing this, and which upstream project would be the most appropriate to file a bug report.

Comment 243 kxra 2021-01-08 03:12:07 UTC
Have these two been reported on this bugzilla? 

https://bugzilla.kernel.org/show_bug.cgi?id=203409
https://bugzilla.kernel.org/show_bug.cgi?id=205755

Comment 244 Xiaoliang Yu 2021-03-02 21:40:15 UTC
  Sorry for that late, but may I ask what is the situation with SOF driver now in F33 ? I still have trouble with the soundcard 1 year after this issue came out.

  Don't want to bother with loads of logs and dmesgs, I got ALC256m(8086:9d71) and an intel dmic in my commet-lake notebook, since it's recognised as skylake++, it drops to the SST driver(all related packages installed), which dosen't work at all(no sound, no mic), headsets and external microphones are even not working with dmic detection disabled. 

  After hours of searching I found many users with new laptops alike (mainly laptops with dmic) are experiencing the same, the only way to deal with it is to fall back to the legacy driver, which enables speakers and headphones on some model, but not on mine, and whatever the microphone is never gonna work, this is so bad concerning we have to do a lot of online meetings these days. 

  So maybe this has become something more than a choice whether to make changes to the driver, as old one causes troubles.