Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

After Update: No more sound. Downgrading solved it. #131

Closed
aljazzair opened this issue Dec 27, 2021 · 8 comments
Closed

After Update: No more sound. Downgrading solved it. #131

aljazzair opened this issue Dec 27, 2021 · 8 comments

Comments

@aljazzair
Copy link

aljazzair commented Dec 27, 2021

Hello.

I am on Manjaro Linux, an Arch derivative.
Recently, after a system update, sound was gone.
After a couple of hours investigation, I narrowed it down to an update of alsa-ucm-conf.
Basically after downgrading 1.2.6.3-0 => 1.2.5.1-1, my problem is gone.

Symptom: With 1.2.6.3-0, there was no sound.
Running aplay -l listed my hardware.
Also I was able to hear sound from my monitor using the following command:

aplay -D plughw:0,7 /usr/share/sounds/alsa/Front_Right.wav

But pactl list sinks came back empty. Pavucontrol showed no output devices either. Rebooting several times, editing various config files did not help.

I looked at the list of recent upgrades and saw alsa-ucm-conf in the logs. Downgrading solved my issue.

Distribution:

Linux homelab 5.13.19-2-MANJARO #1 SMP PREEMPT Sun Sep 19 21:31:53 UTC 2021 x86_64 GNU/Linux

List of PLAYBACK Hardware Devices from aplay -l:

card 0: PCH [HDA Intel PCH], device 0: ALC1220 Analog [ALC1220 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC1220 Digital [ALC1220 Digital]
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: 0/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

Sound managed with:

pipewire --version
pipewire
Compiled with libpipewire 0.3.40
Linked with libpipewire 0.3.40

I am posting this in order to document what happened in case someone has a similar issue, and searches google for hints.
Also to inform the developer, maybe something can be done to avoid this.

Thank you.

@perexg
Copy link
Member

perexg commented Dec 27, 2021

Please, provide output from alsa-info.sh --no-upload (only URL - attach/gist/pastebin) and show output from alsaucm -c hw:PCH dump text and alsaucm -c hw:PCH set _verb HiFi.

@aljazzair
Copy link
Author

aljazzair commented Dec 27, 2021

Thanks for taking the time to look into this.
Here is the requested data, collected after the downgrade, with audio working. Hope it helps.

alsaucm -c hw:PCH set _verb HiFi

ALSA lib main.c:761:(execute_sequence) unable to execute cset 'name='Speaker Playback Switch' off'
ALSA lib main.c:2443:(set_verb_user) error: failed to initialize new use case: HiFi
alsaucm: error failed to set _verb=HiFi: No such file or directory

alsaucm -c hw:PCH dump text

   Verb.HiFi {
	Comment Default
	Device.Speaker {
		Comment Speaker
		ConflictingDevices [
			Headphones
		]
		Values {
			CaptureCTL "_ucm0001.hw:PCH"
			PlaybackCTL "_ucm0001.hw:PCH"
			PlaybackMixerElem Speaker
			PlaybackPCM "_ucm0001.hw:PCH,4"
			PlaybackPriority 100
			TQ HiFi
		}
	}
	Device.Line1 {
		Comment "Line Out"
		Values {
			CaptureCTL "_ucm0001.hw:PCH"
			JackControl "Line Out Jack"
			JackHWMute Speaker
			PlaybackCTL "_ucm0001.hw:PCH"
			PlaybackPCM "_ucm0001.hw:PCH"
			PlaybackPriority 200
			TQ HiFi
		}
	}
	Device.Headphones {
		Comment Headphones
		ConflictingDevices [
			Speaker
		]
		Values {
			CaptureCTL "_ucm0001.hw:PCH"
			JackControl "Front Headphone Jack"
			JackHWMute Speaker
			PlaybackCTL "_ucm0001.hw:PCH"
			PlaybackMixerElem Headphone
			PlaybackPCM "_ucm0001.hw:PCH,4"
			PlaybackPriority 300
			TQ HiFi
		}
	}
	Device.Line2 {
		Comment "Rear Line In"
		ConflictingDevices [
			Mic2
		]
		Values {
			CaptureCTL "_ucm0001.hw:PCH"
			CapturePCM "_ucm0001.hw:PCH"
			CapturePriority 200
			JackControl "Line Jack"
			PlaybackCTL "_ucm0001.hw:PCH"
			TQ HiFi
		}
	}
	Device.Mic2 {
		Comment "Rear Microphone"
		ConflictingDevices [
			Line2
		]
		Values {
			CaptureCTL "_ucm0001.hw:PCH"
			CapturePCM "_ucm0001.hw:PCH"
			CapturePriority 300
			JackControl "Rear Mic Jack"
			JackHWMute Line2
			PlaybackCTL "_ucm0001.hw:PCH"
			TQ HiFi
		}
	}
	Device.Mic1 {
		Comment "Front Microphone"
		Values {
			CaptureCTL "_ucm0001.hw:PCH"
			CaptureMixerElem Front-Panel
			CapturePCM "_ucm0001.hw:PCH,4"
			CapturePriority 100
			JackControl "Front Mic Jack"
			PlaybackCTL "_ucm0001.hw:PCH"
			TQ HiFi
		}
	}
}

alsa info attached.
alsa-info.txt

@perexg
Copy link
Member

perexg commented Dec 27, 2021

Why you are using model=dual-codecs option for the snd-hda-intel module ? Apparently, your hardware does not have dual codecs. Remove this option.

@aljazzair
Copy link
Author

aljazzair commented Dec 27, 2021

I had added this option after installing my OS more than a year ago, to resolve issues unrelated to this.
The sound works perfectly fine, and pipewire detects the cards with previous versions of alsa-ucm-conf.
Only with the latest version of this package, nothing is detected.

@perexg
Copy link
Member

perexg commented Dec 27, 2021

The driver configuration is wrong, bacause there are no PCM devices for the second codec (PCH,4). Anyway, the Speaker UCM device should not be added - there's a condition in the configuration files:

Control "name='Speaker Playback Switch'"

I found a little typo which is fixed in 0b2aa9d , but it does not explain the behavior for your settings. The UCM configuration for DualCodecs hw is in /usr/share/alsa/ucm2/HDA/DualCodecs directory.

It looks like that results for ControlExists conditions are somewhat inverted in your environment.

@aljazzair
Copy link
Author

aljazzair commented Dec 28, 2021

OK thanks for the advice on the modprobe option.
I remember now, right after installing the OS, an error was showing in dmesg, can't remember the exact content, and the sound was giving me issues. The suggestion to use dual codecs option was found on a forum post.

https://forums.gentoo.org/viewtopic-t-1078124-start-0.html

Also had found reference to dual codecs here, under ALC1220:
https://www.kernel.org/doc/html/latest/sound/hd-audio/models.html#alc88x-898-1150-1220

But I must admit I was using this option without fully understanding its purpose. Either way the sound was working fine, and alsa devices where detected until the latest package upgrade.

I tried listing the location you mentioned:

ls /usr/share/alsa/ucm2/HDA/DualCodecs
ls: cannot access '/usr/share/alsa/ucm2/HDA/DualCodecs': No such file or directory

Please let me now if I can help any further.
For me the sound works fine after downgrading.

@perexg
Copy link
Member

perexg commented Dec 28, 2021

I already gave you an advice to remove the module option. It's not appropriate for your device. You don't have two audio codecs.

The /usr/share/alsa/ucm2 is the standard path. Perhaps, your distribution packages the alsa-ucm-conf package differently so you can check the package (alsa-ucm or alsa-ucm-conf or alsa-lib - I don't know).

@aljazzair
Copy link
Author

OK thanks very much for your help. I will be closing this for now, and trying your suggestion in the future. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants