[opensuse-factory] Onboard sound does not initialize correctly anymore

Since some weeks I have the problem on TW, that my onboard sound (Intel Corporation 5 Series/3400 Series Chipset High Definition Audio) does not initialize anymore on boot. The mixer only shows an connected USB sound device from a headset after booting. I found two work-arounds: 1) Setup the onboard sound again in YaST. 2) unloading and loading the snd_hda_intel driver manually: # modprobe -v -r snd_hda_intel rmmod snd_hda_intel rmmod snd_hda_codec rmmod snd_hda_core # modprobe -v snd_hda_intel insmod /lib/modules/5.1.15-1-default/kernel/sound/hda/snd-hda-core.ko insmod /lib/modules/5.1.15-1-default/kernel/sound/pci/hda/snd-hda-codec.ko insmod /lib/modules/5.1.15-1-default/kernel/sound/pci/hda/snd-hda-intel.ko "dmesg" shows after booting: # dmesg -T | grep -i snd [Mon Jul 8 21:56:05 2019] snd_hda_intel 0000:00:1b.0: enabling device (0000 -> 0002) [Mon Jul 8 21:56:05 2019] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002) [Mon Jul 8 21:56:05 2019] snd_hda_intel 0000:01:00.1: Disabling MSI [Mon Jul 8 21:56:05 2019] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client [Mon Jul 8 21:56:10 2019] usbcore: registered new interface driver snd-usb-audio "dmesg" shows after manually loading the driver snd_hda_intel: # dmesg -T | grep -i snd [Mon Jul 8 22:41:19 2019] snd_hda_intel 0000:01:00.1: Disabling MSI [Mon Jul 8 22:41:19 2019] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC888: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:line [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=1 (0x15/0x0/0x0/0x0/0x0) [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x1b/0x0/0x0/0x0/0x0) [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0 [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: dig-out=0x1e/0x0 [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: inputs: [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: Front Mic=0x19 [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: Rear Mic=0x18 [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: Line=0x1a Any ideas? Greetings, Björn -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

On Mon, 08 Jul 2019 22:58:12 +0200, Bjoern Voigt wrote:
Since some weeks I have the problem on TW, that my onboard sound (Intel Corporation 5 Series/3400 Series Chipset High Definition Audio) does not initialize anymore on boot.
The mixer only shows an connected USB sound device from a headset after booting.
I found two work-arounds: 1) Setup the onboard sound again in YaST. 2) unloading and loading the snd_hda_intel driver manually: # modprobe -v -r snd_hda_intel rmmod snd_hda_intel rmmod snd_hda_codec rmmod snd_hda_core # modprobe -v snd_hda_intel insmod /lib/modules/5.1.15-1-default/kernel/sound/hda/snd-hda-core.ko insmod /lib/modules/5.1.15-1-default/kernel/sound/pci/hda/snd-hda-codec.ko insmod /lib/modules/5.1.15-1-default/kernel/sound/pci/hda/snd-hda-intel.ko
"dmesg" shows after booting: # dmesg -T | grep -i snd [Mon Jul 8 21:56:05 2019] snd_hda_intel 0000:00:1b.0: enabling device (0000 -> 0002) [Mon Jul 8 21:56:05 2019] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002) [Mon Jul 8 21:56:05 2019] snd_hda_intel 0000:01:00.1: Disabling MSI [Mon Jul 8 21:56:05 2019] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client [Mon Jul 8 21:56:10 2019] usbcore: registered new interface driver snd-usb-audio
"dmesg" shows after manually loading the driver snd_hda_intel: # dmesg -T | grep -i snd [Mon Jul 8 22:41:19 2019] snd_hda_intel 0000:01:00.1: Disabling MSI [Mon Jul 8 22:41:19 2019] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC888: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:line [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=1 (0x15/0x0/0x0/0x0/0x0) [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x1b/0x0/0x0/0x0/0x0) [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0 [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: dig-out=0x1e/0x0 [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: inputs: [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: Front Mic=0x19 [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: Rear Mic=0x18 [Mon Jul 8 22:41:20 2019] snd_hda_codec_realtek hdaudioC0D0: Line=0x1a
My wild guess is that you've put snd-hda-intel into initrd unnecessarily and incompletely. Maybe YaST did that incorrectly. Check and remove the contents of /etc/module-load.d/yast.conf, and recreate initrd. thanks, Takashi -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

My wild guess is that you've put snd-hda-intel into initrd unnecessarily and incompletely. Maybe YaST did that incorrectly. Check and remove the contents of /etc/module-load.d/yast.conf, and recreate initrd. Thanks. Your guess was right. There was a file /etc/module-load.d/yast.conf with the content snd-hda-intel created in
Takashi Iwai wrote: 2017. Unfortunately my etckeeper log only contains an automatic commit message. After removing the file and recreating initrd sound works again. The current YaST version does not create the file /etc/module-load.d/yast.conf with the content snd-hda-intel again, which is good. Greetings, Björn -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org

On Tue, 09 Jul 2019 10:54:35 +0200, Bjoern Voigt wrote:
My wild guess is that you've put snd-hda-intel into initrd unnecessarily and incompletely. Maybe YaST did that incorrectly. Check and remove the contents of /etc/module-load.d/yast.conf, and recreate initrd. Thanks. Your guess was right. There was a file /etc/module-load.d/yast.conf with the content snd-hda-intel created in
Takashi Iwai wrote: 2017. Unfortunately my etckeeper log only contains an automatic commit message. After removing the file and recreating initrd sound works again. The current YaST version does not create the file /etc/module-load.d/yast.conf with the content snd-hda-intel again, which is good.
OK, good to hear. I guess this is a thing that inherited from the old buggy system. Below are the explanations: YaST created this config file if the device that was configured was on neither PCI nor USB bus. yast2-sound judges this state from its own database, and this seemed to be outdated, so it decided to add it to the config file as if non-PCI device. A strange thing was that adding snd-hda-intel to yast.conf itself didn't break boot-up in the past just because dracut couldn't bring the module into initrd due to the specific modproble.d config included in the past alsa.rpm. (The only visible problem was that you got a boot message "Loading Kernel Modules failed" or such.) The crafted modprobe config was needed for automatic loading of ALSA OSS emulation and sequencer modules. And, the hackish modprobe config got removed (and moved to systemd service) from alsa.rpm recently. Now out of sudden, dracut is able to bring snd-hda-intel module into initrd. However, this made things worse: the snd-hda-intel module itself supports only the HD-audio controller, while the actual codec drivers are bound on HD-audio bus. These codec drivers aren't dealt by yast2-sound, thus they were not put in initrd. As a result, initrd creates only HD-audio bus without the actual devices on initrd. More badly, because HD-audio bus was already created beforehand, the system won't re-trigger the loading of codec modules after switching to the real root, hence leaving the HD-audio uninitialized in the end. It's a sort of butterfly effect :) Takashi -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (2)
-
Bjoern Voigt
-
Takashi Iwai