So I think the right way to go here is to modify /lib/udev/rules.d/90 -alsa-restore.rules and add a check of /usr/share/alsa and /var/run/alsa, so the entire file ends up like this (first line changed) :
----- ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS!="card*", TEST=="/usr/share/alsa", TEST=="/var/run/alsa", GOTO="alsa_restore_go" GOTO="alsa_restore_end" LABEL="alsa_restore_go" TEST!="/var/lib/alsa/state-daemon.conf", RUN+="/usr/sbin/alsactl -E HOME=/var/run/alsa restore $attr{device/number}" TEST=="/var/lib/alsa/state-daemon.conf", RUN+="/usr/sbin/alsactl -E HOME=/var/run/alsa nrestore $attr{device/number}" LABEL="alsa_restore_end" ----- ...because this udev rule is meant for hotplugging. In case this udev rule gets to run before /usr or /var is mounted, alsactl restore will instead be run for these cards later on, in /etc/init/alsa-restore.conf or /lib/systemd/system/basic.target.wants/alsa-restore.service. Does that make sense? -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1289730 Title: systemd-udev fails to execute alsactl during start-up if /usr and/or /var are separate volumes To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/alsa-utils/+bug/1289730/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs