alsa-utils icon indicating copy to clipboard operation
alsa-utils copied to clipboard

alsactl restore udev rule failing

Open rnhmjoj opened this issue 3 years ago • 6 comments

It seems the udev rule to restore card settings is always failing during the boot:

$ journalctl -u systemd-udevd -b -o cat --grep alsa
controlC2: Process '/sbin/alsactl restore 2' failed with exit code 99.
controlC2: Process '/sbin/alsactl restore 2' failed with exit code 99.
controlC1: Process '/sbin/alsactl restore 1' failed with exit code 99.
controlC0: Process '/sbin/alsactl restore 0' failed with exit code 99.

I checked and made sure the file system is mounted and /var/lib/asound.state is ok by the time the rule runs. I guess the issue could be the hardware is not yet fully initialised.

Somehow the settings of card 0 (HDA Intel PCH) are restored anyway, but not those of card 1 (HDA ATI HDMI). Manually running alsactl restore 2 later works, albeit partially (some softvol controls are never recovered).

rnhmjoj avatar Oct 21 '22 16:10 rnhmjoj

ping @perexg

rnhmjoj avatar Jun 29 '24 15:06 rnhmjoj

The exit code 99 seems to be coming from this line: https://github.com/alsa-project/alsa-utils/blob/ca82cf8ed63c10b5bd018624e29d07c765d3e5ff/alsactl/init/00main#L24 IIUC it means the device couldn't be identified, or the hardware-specific initialisation failed.

Since I can later issue the command manually and the settings are restored, it really looks like the rule is firing too early before the card is fully ready.

rnhmjoj avatar Jun 29 '24 15:06 rnhmjoj

Some embedded audio cards do not support UCM hence the error. Adding --no-ucm to udev rule 90-alsa-restore.rules removes the warning.

paletteguy avatar Jul 04 '24 16:07 paletteguy

I don't think that's the issue: the settings are not being restored on boot, but they do if I manually run the same command later.

rnhmjoj avatar Jul 04 '24 16:07 rnhmjoj

The 90-alsa-restore.rules /lib/udev/rules.d is called during boot to restore settings.

I had the same warning / problem in a project and adding --no-ucm removed the error from the logs and ALSA controls got restored correctly.

paletteguy avatar Jul 04 '24 16:07 paletteguy