* Cannon Lake PCH cAVS (ALC892) not detected by kernel driver @ 2022-02-08 18:46 dmummenschanz 2022-02-08 21:55 ` Pierre-Louis Bossart 0 siblings, 1 reply; 14+ messages in thread From: dmummenschanz @ 2022-02-08 18:46 UTC (permalink / raw) To: alsa-devel Hello, the audio chip Cannon Lake PCH cAVS ALC892 does not get recognized on my system. Only the HDMI devices are recognized. lspci shows the following audio device: 00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10) dmesg only shows: [ 189.559786] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_exit [i915]) [ 189.581395] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input20 [ 189.581503] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input21 [ 189.581628] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input22 [ 189.581711] input: HDA Intel PCH HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input23 [ 189.581849] input: HDA Intel PCH HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input24 ALSA-info file: http://alsa-project.org/db/?f=96102ee84f258d1cac83ed33795356550181511c There is a workaround availble: echo auto | tee /sys/devices/pci0000\:00/0000\:00\:1f.3/power/control echo 1 | tee /sys/devices/pci0000\:00/0000\:00\:1f.3/remove echo 1 | tee /sys/bus/pci/rescan unfortunately this doesn't work for me. The device never shows up. Sound on winX works fine on this device btw. I'm happy to assist with any attempts to make the sound work. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver 2022-02-08 18:46 Cannon Lake PCH cAVS (ALC892) not detected by kernel driver dmummenschanz @ 2022-02-08 21:55 ` Pierre-Louis Bossart 2022-02-09 7:14 ` Aw: " dmummenschanz 0 siblings, 1 reply; 14+ messages in thread From: Pierre-Louis Bossart @ 2022-02-08 21:55 UTC (permalink / raw) To: dmummenschanz, alsa-devel On 2/8/22 12:46, dmummenschanz@web.de wrote: > Hello, > > the audio chip Cannon Lake PCH cAVS ALC892 does not get recognized on > my system. Only the HDMI devices are recognized. > > lspci shows the following audio device: > 00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10) > > dmesg only shows: > > [ 189.559786] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops > i915_exit [i915]) > [ 189.581395] input: HDA Intel PCH HDMI/DP,pcm=3 as > /devices/pci0000:00/0000:00:1f.3/sound/card0/input20 > [ 189.581503] input: HDA Intel PCH HDMI/DP,pcm=7 as > /devices/pci0000:00/0000:00:1f.3/sound/card0/input21 > [ 189.581628] input: HDA Intel PCH HDMI/DP,pcm=8 as > /devices/pci0000:00/0000:00:1f.3/sound/card0/input22 > [ 189.581711] input: HDA Intel PCH HDMI/DP,pcm=9 as > /devices/pci0000:00/0000:00:1f.3/sound/card0/input23 > [ 189.581849] input: HDA Intel PCH HDMI/DP,pcm=10 as > /devices/pci0000:00/0000:00:1f.3/sound/card0/input24 > > > ALSA-info file: > http://alsa-project.org/db/?f=96102ee84f258d1cac83ed33795356550181511c I see to references to ALC892 in this profile, is this information based on the hardware specs or Windows logs? we usually ask people to try with a more recent kernel, but in your case I would try to go back to a mainline release. I have no idea what this version might contain audio-wise: 5.17.0-rc3-drmtip > > There is a workaround availble: > > echo auto | tee /sys/devices/pci0000\:00/0000\:00\:1f.3/power/control > echo 1 | tee /sys/devices/pci0000\:00/0000\:00\:1f.3/remove > echo 1 | tee /sys/bus/pci/rescan > > unfortunately this doesn't work for me. The device never shows up. > Sound on winX works fine on this device btw. > I'm happy to assist with any attempts to make the sound work. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Aw: Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver 2022-02-08 21:55 ` Pierre-Louis Bossart @ 2022-02-09 7:14 ` dmummenschanz 2022-02-09 15:51 ` Pierre-Louis Bossart 0 siblings, 1 reply; 14+ messages in thread From: dmummenschanz @ 2022-02-09 7:14 UTC (permalink / raw) To: Pierre-Louis Bossart, alsa-devel The information about the codec is based on the string windows provides: HDAUDIO\FUNC_01&VEN_10EC&DEV_0892&SUBSYS_15580351&REV_1003\4&16AF2B56&& 0001 Here is the alsa-info output for the 5.16 mainline kernel: http://alsa-project.org/db/?f=38c48cd24dc4ba9a9487dd96f857120cc9ce4367 Kernel config for the sound part: CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND_TIMER=y CONFIG_SND_PCM=m CONFIG_SND_HWDEP=m CONFIG_SND_RAWMIDI=m CONFIG_SND_JACK=y CONFIG_SND_JACK_INPUT_DEV=y CONFIG_SND_PCM_TIMER=y CONFIG_SND_HRTIMER=y CONFIG_SND_DYNAMIC_MINORS=y CONFIG_SND_MAX_CARDS=8 CONFIG_SND_PROC_FS=y CONFIG_SND_VMASTER=y CONFIG_SND_DMA_SGBUF=y CONFIG_SND_CTL_LED=m CONFIG_SND_PCI=y # # HD-Audio # CONFIG_SND_HDA=m CONFIG_SND_HDA_GENERIC_LEDS=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_ANALOG=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m CONFIG_SND_HDA_CODEC_HDMI=m CONFIG_SND_HDA_CODEC_CIRRUS=m CONFIG_SND_HDA_CODEC_CS8409=m CONFIG_SND_HDA_CODEC_CONEXANT=m CONFIG_SND_HDA_CODEC_CA0110=m CONFIG_SND_HDA_CODEC_CA0132=m CONFIG_SND_HDA_CODEC_CA0132_DSP=y CONFIG_SND_HDA_CODEC_CMEDIA=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_POWER_SAVE_DEFAULT=5 # end of HD-Audio Also tried current ubuntu distro with same results. Any advice? Gesendet: Dienstag, 08. Februar 2022 um 22:55 Uhr Von: "Pierre-Louis Bossart" <pierre-louis.bossart@linux.intel.com> An: dmummenschanz@web.de, alsa-devel@alsa-project.org Betreff: Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver On 2/8/22 12:46, dmummenschanz@web.de wrote: > Hello, > > the audio chip Cannon Lake PCH cAVS ALC892 does not get recognized on > my system. Only the HDMI devices are recognized. > > lspci shows the following audio device: > 00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10) > > dmesg only shows: > > [ 189.559786] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops > i915_exit [i915]) > [ 189.581395] input: HDA Intel PCH HDMI/DP,pcm=3 as > /devices/pci0000:00/0000:00:1f.3/sound/card0/input20 > [ 189.581503] input: HDA Intel PCH HDMI/DP,pcm=7 as > /devices/pci0000:00/0000:00:1f.3/sound/card0/input21 > [ 189.581628] input: HDA Intel PCH HDMI/DP,pcm=8 as > /devices/pci0000:00/0000:00:1f.3/sound/card0/input22 > [ 189.581711] input: HDA Intel PCH HDMI/DP,pcm=9 as > /devices/pci0000:00/0000:00:1f.3/sound/card0/input23 > [ 189.581849] input: HDA Intel PCH HDMI/DP,pcm=10 as > /devices/pci0000:00/0000:00:1f.3/sound/card0/input24 > > > ALSA-info file: > [1]http://alsa-project.org/db/?f=96102ee84f258d1cac83ed3379535655018151 1c I see to references to ALC892 in this profile, is this information based on the hardware specs or Windows logs? we usually ask people to try with a more recent kernel, but in your case I would try to go back to a mainline release. I have no idea what this version might contain audio-wise: 5.17.0-rc3-drmtip > > There is a workaround availble: > > echo auto | tee /sys/devices/pci0000\:00/0000\:00\:1f.3/power/control > echo 1 | tee /sys/devices/pci0000\:00/0000\:00\:1f.3/remove > echo 1 | tee /sys/bus/pci/rescan > > unfortunately this doesn't work for me. The device never shows up. > Sound on winX works fine on this device btw. > I'm happy to assist with any attempts to make the sound work. References 1. http://alsa-project.org/db/?f=96102ee84f258d1cac83ed33795356550181511c ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Aw: Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver 2022-02-09 7:14 ` Aw: " dmummenschanz @ 2022-02-09 15:51 ` Pierre-Louis Bossart 2022-02-09 16:47 ` Aw: " dmummenschanz 0 siblings, 1 reply; 14+ messages in thread From: Pierre-Louis Bossart @ 2022-02-09 15:51 UTC (permalink / raw) To: dmummenschanz, alsa-devel On 2/9/22 01:14, dmummenschanz@web.de wrote: > The information about the codec is based on the string windows > provides: > > HDAUDIO\FUNC_01&VEN_10EC&DEV_0892&SUBSYS_15580351&REV_1003\4&16AF2B56&& > 0001 > > Here is the alsa-info output for the 5.16 mainline kernel: > > http://alsa-project.org/db/?f=38c48cd24dc4ba9a9487dd96f857120cc9ce4367 The use of this option is not clear: snd_intel_dspcfg: dsp_driver=1 This means you are trying to force the use of the legacy driver. is this intentional? Can you remove it and see what happens? The results show you don't have a driver bound to the PCI device, so likely something goes boink in the probe. It wouldn't hurt to enable dynamic debug as well. options snd_hda_intel dyndbg=+p options snd_intel_dspcfg dyndbg=+p ^ permalink raw reply [flat|nested] 14+ messages in thread
* Aw: Re: Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver 2022-02-09 15:51 ` Pierre-Louis Bossart @ 2022-02-09 16:47 ` dmummenschanz 2022-02-12 11:33 ` dmummenschanz 0 siblings, 1 reply; 14+ messages in thread From: dmummenschanz @ 2022-02-09 16:47 UTC (permalink / raw) To: Pierre-Louis Bossart, alsa-devel snd_intel_dspcfg: dsp_driver=1 was a leftover from testing. I' ve removed all parameters, add added the debug options you've asked. http://alsa-project.org/db/?f=6e30e9f598bd2f03b2f5cff0df261f78719ea29d Some googling reveals that others suffer from the same problen on the same laptop as well. Some report that the device appears after pci-bus rescanning however that did not work in my case so I agree there might be an issue with probing the relatek device. Unfortunately I'm not a kernel dev so I don't even know where to start looking however I'm happy to investigate with your help. Gesendet: Mittwoch, 09. Februar 2022 um 16:51 Uhr Von: "Pierre-Louis Bossart" <pierre-louis.bossart@linux.intel.com> An: dmummenschanz@web.de, alsa-devel@alsa-project.org Betreff: Re: Aw: Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver On 2/9/22 01:14, dmummenschanz@web.de wrote: > The information about the codec is based on the string windows > provides: > > HDAUDIO\FUNC_01&VEN_10EC&DEV_0892&SUBSYS_15580351&REV_1003\4&16AF2B56&& > 0001 > > Here is the alsa-info output for the 5.16 mainline kernel: > > [1]http://alsa-project.org/db/?f=38c48cd24dc4ba9a9487dd96f857120cc9ce43 67 The use of this option is not clear: snd_intel_dspcfg: dsp_driver=1 This means you are trying to force the use of the legacy driver. is this intentional? Can you remove it and see what happens? The results show you don't have a driver bound to the PCI device, so likely something goes boink in the probe. It wouldn't hurt to enable dynamic debug as well. options snd_hda_intel dyndbg=+p options snd_intel_dspcfg dyndbg=+p References 1. http://alsa-project.org/db/?f=38c48cd24dc4ba9a9487dd96f857120cc9ce4367 ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Re: Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver 2022-02-09 16:47 ` Aw: " dmummenschanz @ 2022-02-12 11:33 ` dmummenschanz 2022-02-12 19:42 ` Pierre-Louis Bossart 0 siblings, 1 reply; 14+ messages in thread From: dmummenschanz @ 2022-02-12 11:33 UTC (permalink / raw) To: Pierre-Louis Bossart, alsa-devel I did some more digging into the code to find out what goes boink. For comparison I took my wife's desktop wich has a Cannon Lake chipset as well along with a working a ALC892 AVS device. It seems there is a codec mask issue selected in the chip->bus struct. Inside the function static int azx_probe_continue(struct azx *chip) of hda_intel.c the bus->codec_mask on my wife's pc contains the integer value "5" and both ALC892 and the HDMI is found. On my device it is "4" and only the HDMI is found. /* create codec instances */ if (bus->codec_mask) { err = azx_probe_codecs(chip, azx_max_codecs[chip->driver_type]); if (err < 0) goto out_free; } After forcing the falue before probing: "bus->codec_mask = 5;" the ALC892 is finally detected on my system and I have sound! alsa-info below: Please pardon the trash printk's in the log ;-) http://alsa-project.org/db/?f=057aac1a0e9591de3847dca5ebc424dd65c8a221 I'll do some more digging into it next week but it would probably save tons of time if someone could point me is the right direction where to look further? Gesendet: Mittwoch, 09. Februar 2022 um 17:47 Uhr Von: dmummenschanz@web.de An: "Pierre-Louis Bossart" <pierre-louis.bossart@linux.intel.com>, alsa-devel@alsa-project.org Betreff: Aw: Re: Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver snd_intel_dspcfg: dsp_driver=1 was a leftover from testing. I' ve removed all parameters, add added the debug options you've asked. [1]http://alsa-project.org/db/?f=6e30e9f598bd2f03b2f5cff0df261f78719ea2 9d Some googling reveals that others suffer from the same problen on the same laptop as well. Some report that the device appears after pci-bus rescanning however that did not work in my case so I agree there might be an issue with probing the relatek device. Unfortunately I'm not a kernel dev so I don't even know where to start looking however I'm happy to investigate with your help. Gesendet: Mittwoch, 09. Februar 2022 um 16:51 Uhr Von: "Pierre-Louis Bossart" <pierre-louis.bossart@linux.intel.com> An: dmummenschanz@web.de, alsa-devel@alsa-project.org Betreff: Re: Aw: Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver On 2/9/22 01:14, dmummenschanz@web.de wrote: > The information about the codec is based on the string windows > provides: > > HDAUDIO\FUNC_01&VEN_10EC&DEV_0892&SUBSYS_15580351&REV_1003\4&16AF2B56&& > 0001 > > Here is the alsa-info output for the 5.16 mainline kernel: > > [1][2]http://alsa-project.org/db/?f=38c48cd24dc4ba9a9487dd96f857120cc9c e43 67 The use of this option is not clear: snd_intel_dspcfg: dsp_driver=1 This means you are trying to force the use of the legacy driver. is this intentional? Can you remove it and see what happens? The results show you don't have a driver bound to the PCI device, so likely something goes boink in the probe. It wouldn't hurt to enable dynamic debug as well. options snd_hda_intel dyndbg=+p options snd_intel_dspcfg dyndbg=+p References 1. [3]http://alsa-project.org/db/?f=38c48cd24dc4ba9a9487dd96f857120cc9ce43 67 References 1. http://alsa-project.org/db/?f=6e30e9f598bd2f03b2f5cff0df261f78719ea29d 2. http://alsa-project.org/db/?f=38c48cd24dc4ba9a9487dd96f857120cc9ce43 3. http://alsa-project.org/db/?f=38c48cd24dc4ba9a9487dd96f857120cc9ce4367 ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver 2022-02-12 11:33 ` dmummenschanz @ 2022-02-12 19:42 ` Pierre-Louis Bossart 2022-02-13 9:08 ` Takashi Iwai 0 siblings, 1 reply; 14+ messages in thread From: Pierre-Louis Bossart @ 2022-02-12 19:42 UTC (permalink / raw) To: dmummenschanz, alsa-devel; +Cc: Takashi Iwai, Vehmanen, Kai On 2/12/22 05:33, dmummenschanz@web.de wrote: > I did some more digging into the code to find out what goes boink. > For comparison I took my wife's desktop wich has a Cannon Lake chipset > as well along with a working a ALC892 AVS device. > > It seems there is a codec mask issue selected in the chip->bus struct. > Inside the function > > static int azx_probe_continue(struct azx *chip) > > of hda_intel.c the bus->codec_mask on my wife's pc contains the integer > value "5" and both ALC892 and the HDMI is found. On my device it is "4" > and only the HDMI is found. > > /* create codec instances */ > if (bus->codec_mask) { > err = azx_probe_codecs(chip, azx_max_codecs[chip->driver_type]); > if (err < 0) > goto out_free; > } > > After forcing the falue before probing: "bus->codec_mask = 5;" the > ALC892 is finally detected on my system and I have sound! alsa-info > below: Please pardon the trash printk's in the log ;-) > > http://alsa-project.org/db/?f=057aac1a0e9591de3847dca5ebc424dd65c8a221 > > I'll do some more digging into it next week but it would probably > save tons of time if someone could point me is the right direction > where to look further? Adding Kai and Takashi, in case they haven't see this codec_mask issue. I personally don't recall having seen this before. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver 2022-02-12 19:42 ` Pierre-Louis Bossart @ 2022-02-13 9:08 ` Takashi Iwai 2022-02-14 6:49 ` dmummenschanz 0 siblings, 1 reply; 14+ messages in thread From: Takashi Iwai @ 2022-02-13 9:08 UTC (permalink / raw) To: Pierre-Louis Bossart; +Cc: Vehmanen, Kai, alsa-devel, dmummenschanz On Sat, 12 Feb 2022 20:42:28 +0100, Pierre-Louis Bossart wrote: > > > > On 2/12/22 05:33, dmummenschanz@web.de wrote: > > I did some more digging into the code to find out what goes boink. > > For comparison I took my wife's desktop wich has a Cannon Lake chipset > > as well along with a working a ALC892 AVS device. > > > > It seems there is a codec mask issue selected in the chip->bus struct. > > Inside the function > > > > static int azx_probe_continue(struct azx *chip) > > > > of hda_intel.c the bus->codec_mask on my wife's pc contains the integer > > value "5" and both ALC892 and the HDMI is found. On my device it is "4" > > and only the HDMI is found. > > > > /* create codec instances */ > > if (bus->codec_mask) { > > err = azx_probe_codecs(chip, azx_max_codecs[chip->driver_type]); > > if (err < 0) > > goto out_free; > > } > > > > After forcing the falue before probing: "bus->codec_mask = 5;" the > > ALC892 is finally detected on my system and I have sound! alsa-info > > below: Please pardon the trash printk's in the log ;-) > > > > http://alsa-project.org/db/?f=057aac1a0e9591de3847dca5ebc424dd65c8a221 > > > > I'll do some more digging into it next week but it would probably > > save tons of time if someone could point me is the right direction > > where to look further? > > Adding Kai and Takashi, in case they haven't see this codec_mask issue. > I personally don't recall having seen this before. This means BIOS trying to hide this codec by some reason. It's seen sometimes in the past although it's rare. You can forcibly probe it via probe_mask=0x105 option for snd-hda-intel module in this case. If this is confirmed to work reliably, we can add a static quirk table in the driver cideo. HTH, Takashi ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver 2022-02-13 9:08 ` Takashi Iwai @ 2022-02-14 6:49 ` dmummenschanz 2022-02-14 7:08 ` Takashi Iwai 0 siblings, 1 reply; 14+ messages in thread From: dmummenschanz @ 2022-02-14 6:49 UTC (permalink / raw) To: Takashi Iwai, Pierre-Louis Bossart, alsa-devel Thanks for the scoop. I've added "options snd-hda-intel probe_mask=0x105" to /etc/modules-d/alsa.conf. Unfortunately that didn't help. The ALC892 didn't show up. Why the log below says "codec_mask forced to 0x5" but I've explicitly set the value to 0x105 I don't know. [ 109.071253] snd_hda_intel 0000:00:1f.3: codec_mask forced to 0x5 [ 109.071329] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_exit [i915]) [ 109.092895] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input20 [ 109.093808] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input21 [ 109.093883] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input22 [ 109.093953] input: HDA Intel PCH HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input23 [ 109.095354] input: HDA Intel PCH HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input24 Gesendet: Sonntag, 13. Februar 2022 um 10:08 Uhr Von: "Takashi Iwai" <tiwai@suse.de> An: "Pierre-Louis Bossart" <pierre-louis.bossart@linux.intel.com> Cc: "Vehmanen, Kai" <kai.vehmanen@intel.com>, alsa-devel@alsa-project.org, dmummenschanz@web.de Betreff: Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver On Sat, 12 Feb 2022 20:42:28 +0100, Pierre-Louis Bossart wrote: > > > > On 2/12/22 05:33, dmummenschanz@web.de wrote: > > I did some more digging into the code to find out what goes boink. > > For comparison I took my wife's desktop wich has a Cannon Lake chipset > > as well along with a working a ALC892 AVS device. > > > > It seems there is a codec mask issue selected in the chip->bus struct. > > Inside the function > > > > static int azx_probe_continue(struct azx *chip) > > > > of hda_intel.c the bus->codec_mask on my wife's pc contains the integer > > value "5" and both ALC892 and the HDMI is found. On my device it is "4" > > and only the HDMI is found. > > > > /* create codec instances */ > > if (bus->codec_mask) { > > err = azx_probe_codecs(chip, azx_max_codecs[chip->driver_type]); > > if (err < 0) > > goto out_free; > > } > > > > After forcing the falue before probing: "bus->codec_mask = 5;" the > > ALC892 is finally detected on my system and I have sound! alsa-info > > below: Please pardon the trash printk's in the log ;-) > > > > [1]http://alsa-project.org/db/?f=057aac1a0e9591de3847dca5ebc424dd65c8a2 21 > > > > I'll do some more digging into it next week but it would probably > > save tons of time if someone could point me is the right direction > > where to look further? > > Adding Kai and Takashi, in case they haven't see this codec_mask issue. > I personally don't recall having seen this before. This means BIOS trying to hide this codec by some reason. It's seen sometimes in the past although it's rare. You can forcibly probe it via probe_mask=0x105 option for snd-hda-intel module in this case. If this is confirmed to work reliably, we can add a static quirk table in the driver cideo. HTH, Takashi References 1. http://alsa-project.org/db/?f=057aac1a0e9591de3847dca5ebc424dd65c8a221 ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver 2022-02-14 6:49 ` dmummenschanz @ 2022-02-14 7:08 ` Takashi Iwai 2022-02-14 7:38 ` dmummenschanz 0 siblings, 1 reply; 14+ messages in thread From: Takashi Iwai @ 2022-02-14 7:08 UTC (permalink / raw) To: dmummenschanz; +Cc: alsa-devel, Pierre-Louis Bossart On Mon, 14 Feb 2022 07:49:55 +0100, dmummenschanz@web.de wrote: > > Thanks for the scoop. I've added "options snd-hda-intel probe_mask=0x105" to / > etc/modules-d/alsa.conf. Unfortunately that didn't help. The ALC892 > didn't show up. Why the log below says "codec_mask forced to 0x5" but I've > explicitly set the value to 0x105 I don't know. The bit 0x100 means to forcibly set the codec probe mask, so this is fine. But the actual work of the forced bit doesn't seem right. Could you try the patch below and test with probe_mask=0x105 again? thanks, Takashi --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -1798,8 +1798,6 @@ static int azx_create(struct snd_card *card, struct pci_dev *pci, assign_position_fix(chip, check_position_fix(chip, position_fix[dev])); - check_probe_mask(chip, dev); - if (single_cmd < 0) /* allow fallback to single_cmd at errors */ chip->fallback_to_single_cmd = 1; else /* explicitly set to single_cmd or not */ @@ -2280,6 +2278,8 @@ static int azx_probe_continue(struct azx *chip) chip->beep_mode = beep_mode[dev]; #endif + check_probe_mask(chip, dev); + /* create codec instances */ if (bus->codec_mask) { err = azx_probe_codecs(chip, azx_max_codecs[chip->driver_type]); ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver 2022-02-14 7:08 ` Takashi Iwai @ 2022-02-14 7:38 ` dmummenschanz 2022-02-14 8:42 ` Takashi Iwai 0 siblings, 1 reply; 14+ messages in thread From: dmummenschanz @ 2022-02-14 7:38 UTC (permalink / raw) To: Takashi Iwai, alsa-devel Applied yout patch with "probe_mask=0x105" option. ALC892 is now found and I have sound. Thanks! :) [ 25.986154] snd_hda_intel 0000:00:1f.3: codec_mask forced to 0x5 [ 25.997511] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC892: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker [ 25.997516] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0) [ 25.997518] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x1b/0x0/0x0/0x0/0x0) [ 25.997520] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0 [ 25.997521] snd_hda_codec_realtek hdaudioC0D0: dig-out=0x1e/0x0 [ 25.997522] snd_hda_codec_realtek hdaudioC0D0: inputs: [ 25.997524] snd_hda_codec_realtek hdaudioC0D0: Mic=0x18 [ 25.997525] snd_hda_codec_realtek hdaudioC0D0: Internal Mic=0x12 [ 26.005460] elogind-daemon[1040]: Watching system buttons on /dev/input/event2 (Lid Switch) [ 26.022595] elogind-daemon[1040]: Watching system buttons on /dev/input/event6 (Intel HID events) [ 26.022736] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input15 [ 26.022793] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input16 [ 26.022830] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input17 [ 26.022863] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input18 [ 26.022896] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input19 [ 26.022927] input: HDA Intel PCH HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input20 [ 26.022957] input: HDA Intel PCH HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input21 Gesendet: Montag, 14. Februar 2022 um 08:08 Uhr Von: "Takashi Iwai" <tiwai@suse.de> An: dmummenschanz@web.de Cc: alsa-devel@alsa-project.org, "Pierre-Louis Bossart" <pierre-louis.bossart@linux.intel.com> Betreff: Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver On Mon, 14 Feb 2022 07:49:55 +0100, dmummenschanz@web.de wrote: > > Thanks for the scoop. I've added "options snd-hda-intel probe_mask=0x105" to / > etc/modules-d/alsa.conf. Unfortunately that didn't help. The ALC892 > didn't show up. Why the log below says "codec_mask forced to 0x5" but I've > explicitly set the value to 0x105 I don't know. The bit 0x100 means to forcibly set the codec probe mask, so this is fine. But the actual work of the forced bit doesn't seem right. Could you try the patch below and test with probe_mask=0x105 again? thanks, Takashi --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -1798,8 +1798,6 @@ static int azx_create(struct snd_card *card, struct pci_dev *pci, assign_position_fix(chip, check_position_fix(chip, position_fix[dev])); - check_probe_mask(chip, dev); - if (single_cmd < 0) /* allow fallback to single_cmd at errors */ chip->fallback_to_single_cmd = 1; else /* explicitly set to single_cmd or not */ @@ -2280,6 +2278,8 @@ static int azx_probe_continue(struct azx *chip) chip->beep_mode = beep_mode[dev]; #endif + check_probe_mask(chip, dev); + /* create codec instances */ if (bus->codec_mask) { err = azx_probe_codecs(chip, azx_max_codecs[chip->driver_type]); ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver 2022-02-14 7:38 ` dmummenschanz @ 2022-02-14 8:42 ` Takashi Iwai 2022-02-14 9:23 ` Aw: " dmummenschanz 0 siblings, 1 reply; 14+ messages in thread From: Takashi Iwai @ 2022-02-14 8:42 UTC (permalink / raw) To: dmummenschanz; +Cc: alsa-devel [-- Attachment #1: Type: text/plain, Size: 399 bytes --] On Mon, 14 Feb 2022 08:38:52 +0100, dmummenschanz@web.de wrote: > > Applied yout patch with "probe_mask=0x105" option. ALC892 is now found and I > have sound. Thanks! :) Good to hear. Below are two patches, one for a slightly revised version of probe_mask fix, and another to add your device to the quirk table. Could you give those a try, and test without probe_mask option? thanks, Takashi [-- Attachment #2: 0001-ALSA-hda-Fix-regression-on-forced-probe-mask-option.patch --] [-- Type: application/octet-stream, Size: 1704 bytes --] From 652dae26e0894c4bafe865eb89f0d57ba1bdfb8a Mon Sep 17 00:00:00 2001 From: Takashi Iwai <tiwai@suse.de> Date: Mon, 14 Feb 2022 09:33:54 +0100 Subject: [PATCH 1/2] ALSA: hda: Fix regression on forced probe mask option The forced probe mask via probe_mask 0x100 bit doesn't work any longer as expected since the bus init code was moved and it's clearing the codec_mask value that was set beforehand. This patch fixes the long-time regression by moving the check_probe_mask() call. Fixes: a41d122449be ("ALSA: hda - Embed bus into controller object") Reported-by: dmummenschanz@web.de Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/trinity-f018660b-95c9-442b-a2a8-c92a56eb07ed-1644345967148@3c-app-webde-bap22 Signed-off-by: Takashi Iwai <tiwai@suse.de> --- sound/pci/hda/hda_intel.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 4b0338c4c543..18b795220b52 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -1798,8 +1798,6 @@ static int azx_create(struct snd_card *card, struct pci_dev *pci, assign_position_fix(chip, check_position_fix(chip, position_fix[dev])); - check_probe_mask(chip, dev); - if (single_cmd < 0) /* allow fallback to single_cmd at errors */ chip->fallback_to_single_cmd = 1; else /* explicitly set to single_cmd or not */ @@ -1825,6 +1823,8 @@ static int azx_create(struct snd_card *card, struct pci_dev *pci, chip->bus.core.needs_damn_long_delay = 1; } + check_probe_mask(chip, dev); + err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops); if (err < 0) { dev_err(card->dev, "Error creating device [card]!\n"); -- 2.31.1 [-- Attachment #3: 0002-ALSA-hda-Fix-missing-codec-probe-on-Shenker-Dock-15.patch --] [-- Type: application/octet-stream, Size: 1269 bytes --] From 122e4fb9cc7845c252cd29f871c0166d32698e88 Mon Sep 17 00:00:00 2001 From: Takashi Iwai <tiwai@suse.de> Date: Mon, 14 Feb 2022 09:39:03 +0100 Subject: [PATCH 2/2] ALSA: hda: Fix missing codec probe on Shenker Dock 15 By some unknown reason, BIOS on Shenker Dock 15 doesn't set up the codec mask properly for the onboard audio. Let's set the forced codec mask to enable the codec discovery. Reported-by: dmummenschanz@web.de Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/trinity-f018660b-95c9-442b-a2a8-c92a56eb07ed-1644345967148@3c-app-webde-bap22 Signed-off-by: Takashi Iwai <tiwai@suse.de> --- sound/pci/hda/hda_intel.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 18b795220b52..917ad9d375b1 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -1615,6 +1615,7 @@ static const struct snd_pci_quirk probe_mask_list[] = { /* forced codec slots */ SND_PCI_QUIRK(0x1043, 0x1262, "ASUS W5Fm", 0x103), SND_PCI_QUIRK(0x1046, 0x1262, "ASUS W5F", 0x103), + SND_PCI_QUIRK(0x1558, 0x0351, "Schenker Dock 15", 0x105), /* WinFast VP200 H (Teradici) user reported broken communication */ SND_PCI_QUIRK(0x3a21, 0x040d, "WinFast VP200 H", 0x101), {} -- 2.31.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Aw: Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver 2022-02-14 8:42 ` Takashi Iwai @ 2022-02-14 9:23 ` dmummenschanz 2022-02-14 9:54 ` Takashi Iwai 0 siblings, 1 reply; 14+ messages in thread From: dmummenschanz @ 2022-02-14 9:23 UTC (permalink / raw) To: Takashi Iwai, alsa-devel Okay, I reverted the previous patch, removed the probe_mask option and applied both of your patches. Looks good! ALC is detected and I have sound. Thank you. Any chance this will hit the mainline kernel for upcomming 5.17 release? [ 25.947927] EXT4-fs (nvme0n1p8): mounted filesystem with ordered data mode. Quota mode: disabled. [ 25.963952] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC892: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker [ 25.963958] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0) [ 25.963961] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x1b/0x0/0x0/0x0/0x0) [ 25.963963] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0 [ 25.963964] snd_hda_codec_realtek hdaudioC0D0: dig-out=0x1e/0x0 [ 25.963965] snd_hda_codec_realtek hdaudioC0D0: inputs: [ 25.963967] snd_hda_codec_realtek hdaudioC0D0: Mic=0x18 [ 25.963968] snd_hda_codec_realtek hdaudioC0D0: Internal Mic=0x12 [ 25.985493] urandom_read: 3 callbacks suppressed [ 25.985496] random: dbus-daemon: uninitialized urandom read (12 bytes read) [ 25.986786] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input15 [ 25.986825] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input16 [ 25.986862] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input17 [ 25.986896] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input18 [ 25.986927] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input19 [ 25.986957] input: HDA Intel PCH HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input20 [ 25.986997] input: HDA Intel PCH HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input21 [ 25.992193] random: dbus-daemon: uninitialized urandom read (12 bytes read) Gesendet: Montag, 14. Februar 2022 um 09:42 Uhr Von: "Takashi Iwai" <tiwai@suse.de> An: dmummenschanz@web.de Cc: alsa-devel@alsa-project.org Betreff: Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver On Mon, 14 Feb 2022 08:38:52 +0100, dmummenschanz@web.de wrote: > > Applied yout patch with "probe_mask=0x105" option. ALC892 is now found and I > have sound. Thanks! :) Good to hear. Below are two patches, one for a slightly revised version of probe_mask fix, and another to add your device to the quirk table. Could you give those a try, and test without probe_mask option? thanks, Takashi ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Aw: Re: Cannon Lake PCH cAVS (ALC892) not detected by kernel driver 2022-02-14 9:23 ` Aw: " dmummenschanz @ 2022-02-14 9:54 ` Takashi Iwai 0 siblings, 0 replies; 14+ messages in thread From: Takashi Iwai @ 2022-02-14 9:54 UTC (permalink / raw) To: dmummenschanz; +Cc: alsa-devel On Mon, 14 Feb 2022 10:23:33 +0100, dmummenschanz@web.de wrote: > > Okay, I reverted the previous patch, removed the probe_mask option and applied > both of your patches. Looks good! ALC is detected and I have sound. Thank you. > Any chance this will hit the mainline kernel for upcomming 5.17 release? Yes, I'll submit and merge those for the next pull request. Takashi ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2022-02-14 9:55 UTC | newest] Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-02-08 18:46 Cannon Lake PCH cAVS (ALC892) not detected by kernel driver dmummenschanz 2022-02-08 21:55 ` Pierre-Louis Bossart 2022-02-09 7:14 ` Aw: " dmummenschanz 2022-02-09 15:51 ` Pierre-Louis Bossart 2022-02-09 16:47 ` Aw: " dmummenschanz 2022-02-12 11:33 ` dmummenschanz 2022-02-12 19:42 ` Pierre-Louis Bossart 2022-02-13 9:08 ` Takashi Iwai 2022-02-14 6:49 ` dmummenschanz 2022-02-14 7:08 ` Takashi Iwai 2022-02-14 7:38 ` dmummenschanz 2022-02-14 8:42 ` Takashi Iwai 2022-02-14 9:23 ` Aw: " dmummenschanz 2022-02-14 9:54 ` Takashi Iwai
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.