Bug 1152184

Summary: Yast sound card can't be configured, the alternative driver is not used
Product: [openSUSE] openSUSE Tumbleweed Reporter: Walddys Emmanuel Dorrejo Céspedes <dev.dorrejo>
Component: YaST2Assignee: YaST Team <yast-internal>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Major    
Priority: P4 - Low CC: dev.dorrejo, jslaby, tiwai
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://trello.com/c/IV9tunV0
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: descriptive picture

Description Walddys Emmanuel Dorrejo Céspedes 2019-09-26 18:15:20 UTC
Sound Card description:

lspci -vv -s 00:1f.3
00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10)
DeviceName: Onboard - Sound
Subsystem: Micro-Star International Co., Ltd. [MSI] Device 1219
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-
Interrupt: pin A routed to IRQ 16
Region 0: Memory at a4310000 (64-bit, non-prefetchable) [size=16K]
Region 4: Memory at a4100000 (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: 0000000000000000  Data: 0000
Kernel modules: snd_hda_intel, snd_soc_skl, sof_pci_dev

When try to use yast to configure the sound card (Attached picture).

And can't found snd_soc_skl on /lib/modules
Comment 1 Walddys Emmanuel Dorrejo Céspedes 2019-09-26 18:16:27 UTC
Created attachment 819660 [details]
descriptive picture
Comment 2 Jiri Slaby 2019-10-03 05:43:07 UTC
(In reply to Walddys Emmanuel Dorrejo Céspedes from comment #0)
> And can't found snd_soc_skl on /lib/modules

It's snd-soc-skl.ko in /lib/modules/<version>/kernel/sound/soc/intel/skylake/. 

Could you attach dmesg output after it fails in yast?
Comment 3 Walddys Emmanuel Dorrejo Céspedes 2019-10-04 21:07:59 UTC
(In reply to Jiri Slaby from comment #2)
> (In reply to Walddys Emmanuel Dorrejo Céspedes from comment #0)
> > And can't found snd_soc_skl on /lib/modules
> 
> It's snd-soc-skl.ko in
> /lib/modules/<version>/kernel/sound/soc/intel/skylake/. 
> 
> Could you attach dmesg output after it fails in yast?

Hello, after i run the config on yast, on dmesg appear this new line:

[ 6800.031529] snd_soc_skl 0000:00:1f.3: The DSP is not enabled on this platform, aborting probe
Comment 4 Jiri Slaby 2019-10-10 07:37:14 UTC
(In reply to Walddys Emmanuel Dorrejo Céspedes from comment #3)
> Hello, after i run the config on yast, on dmesg appear this new line:
> 
> [ 6800.031529] snd_soc_skl 0000:00:1f.3: The DSP is not enabled on this
> platform, aborting probe

That hardware should be handled by the legacy driver.

This is likely a yast bug if it insists on loading snd_soc_skl for this card.
Comment 5 Ladislav Slezák 2019-10-10 16:24:13 UTC
(In reply to Jiri Slaby from comment #4)
> That hardware should be handled by the legacy driver.

Um, YaST uses the "modinfo" tool to get the driver for the configured card. 

Unfortunately the PCI IDs reported by the snd_soc_skl driver are also covered by the snd_hda_intel driver. So the snd_soc_skl driver is used just because it's first found.

How can YaST know if the card requires the snd_soc_skl or the snd_hda_intel driver? Or should YaST just try the other one if the first used fails?
Comment 6 Walddys Emmanuel Dorrejo Céspedes 2019-10-10 18:36:55 UTC
this is a more clean detail

lspci -nnk

00:1f.3 Audio device [0403]: Intel Corporation Cannon Lake PCH cAVS [8086:a348] (rev 10)
DeviceName: Onboard - Sound
Subsystem: Micro-Star International Co., Ltd. [MSI] Device [1462:1219]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_soc_skl, sof_pci_dev
Comment 7 Walddys Emmanuel Dorrejo Céspedes 2019-10-14 17:54:29 UTC
alsa-info.sh :
https://pastebin.com/54yQccCj
Comment 8 Jiri Slaby 2019-10-17 07:34:14 UTC
See comment 5.
Comment 9 Takashi Iwai 2019-10-17 09:32:16 UTC
There is an implicit rule that the driver gets loaded in alphabetical order, and that's how the things working on such systems.

So, if you have multiple entries, try to pick up the first alphabetic one, unless it's blacklisted in the module configuration.
Comment 10 Ladislav Slezák 2019-10-17 12:37:49 UTC
(In reply to Takashi Iwai from comment #9)
> There is an implicit rule that the driver gets loaded in alphabetical order

Ah, that's the missing detail! Thanks!
Comment 11 Walddys Emmanuel Dorrejo Céspedes 2020-01-26 00:43:24 UTC
Is fixed, after some updates, yast can configure my sound card, but when the volume on some frequency crack, on windows this not happend.
Comment 12 Walddys Emmanuel Dorrejo Céspedes 2020-02-04 16:18:59 UTC
Fixed