#!/bin/sh # Load the mixer settings ALSA. # (the Advanced Linux Sound Architecture) # A function to load the ALSA mixer settings load_alsa_mixer() { if [ -r /etc/asound.state ]; then echo "Loading ALSA mixer settings: /usr/sbin/alsactl restore" /usr/sbin/alsactl restore else echo "ALSA warning: No mixer settings found in /etc/asound.state." echo " Sound may be muted. Use 'alsamixer' to unmute your sound card," echo " and then 'alsactl store' to save the default ALSA mixer settings" echo " to be loaded at boot." fi } # If hotplug or something else has loaded the ALSA modules, then # simply load the mixer settings if [ -d /proc/asound ]; then load_alsa_mixer else # If there are ALSA modules defined in /etc/modules.conf, but # ALSA is not yet loaded, then load the modules now DRIVERS=$(modprobe -c | grep -E "^[[:space:]]*alias[[:space:]]+snd-card-[[:digit:]]" | tr -s "[[:blank:]]" " " | cut -d " " -f 3) if [ ! "$DRIVERS" = "" ]; then echo "Loading ALSA kernel modules." for module in $DRIVERS; do modprobe $module done fi # If ALSA is now up, then load the mixer settings if [ -d /proc/asound ]; then load_alsa_mixer fi fi