#! /bin/bash # # alsa # # This script takes care of starting alsa oss compatibility modules for # pcm and saving/restoring mixer volume settings. # If an alsa driver is not loaded this script does nothing. # # Copyright (c) 2004-2011 by Silvan Calarco # # chkconfig: 2345 87 14 # description: ALSA volumes set and oss compatibiliy layer # ### END INIT INFO [ -r /etc/init.d/functions ] && . /etc/init.d/functions [ -r /etc/sysconfig/sound ] && . /etc/sysconfig/sound # see how we were called. case "$1" in start) if [ -d /proc/asound ]; then [ "$ENABLE_LEGACY_OSS" = "true" -o "$ENABLE_LEGACY_OSS" = "1" ] && { echo -n "Loading ALSA-OSS legacy sound modules: " modprobe snd-seq-oss modprobe snd-mixer-oss modprobe snd-pcm-oss evaluate_retval echo } # Restore is now called by udev echo -n "Restoring sound card volumes" /usr/sbin/alsactl restore >/dev/null 2>&1 || /usr/sbin/alsactl init >/dev/null 2>&1 evaluate_retval echo else echo "ALSA driver is not running." fi ;; stop) # stop oss emulation modules if [ -d /proc/asound ]; then echo -n "Saving sound card volumes" /usr/sbin/alsactl store >/dev/null 2>&1 evaluate_retval fi ;; restart|reload) $0 stop $0 start ;; status) [ -n "`lsmod | grep snd[-_]mixer[-_]oss`" ] \ && echo "ALSA-OSS legacy modules loaded." \ || echo "ALSA-OSS legacy modules not loaded." ;; *) echo "Usage: alsa {start|stop|restart|status}" exit 1 esac exit 0