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

alsactl restore udev rule failing #175

Open
rnhmjoj opened this issue Oct 21, 2022 · 5 comments
Open

alsactl restore udev rule failing #175

rnhmjoj opened this issue Oct 21, 2022 · 5 comments

Comments

@rnhmjoj
Copy link

rnhmjoj commented Oct 21, 2022

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
Copy link
Author

rnhmjoj commented Jun 29, 2024

ping @perexg

@rnhmjoj
Copy link
Author

rnhmjoj commented Jun 29, 2024

The exit code 99 seems to be coming from this line:

# print an error message and return with exit code 99

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.

@paletteguy
Copy link

paletteguy commented Jul 4, 2024

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

@rnhmjoj
Copy link
Author

rnhmjoj commented Jul 4, 2024

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.

@paletteguy
Copy link

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.

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