alsactl=/usr/sbin/alsactl
-if [ -r /etc/modules.conf ]; then
-MODULES_CONF=/etc/modules.conf
+if [ $(kernelverser) = "002006" ]; then
+ MODULES_CONF=/etc/modprobe.conf
+elif [ -r /etc/modules.conf ]; then
+ MODULES_CONF=/etc/modules.conf
else
-MODULES_CONF=/etc/conf.modules
+ MODULES_CONF=/etc/conf.modules
fi
+echo $MODULES_CONF
+
driver_start()
{
#
if OLDLOGLEV=$(awk '{print $1}' < /proc/sys/kernel/printk 2> /dev/null); then
/sbin/loglevel 1
fi
- awk '$1 == "alias" && $3 != "off" && ($2 ~ /^snd-card-[0-9]$/ || $2 ~ /^sound-service-[0-9]-[0-9]+$/) {print $2}' < $MODULES_CONF | \
+ awk '$1 == "alias" && $3 != "off" && ($2 ~ /^snd-card-[0-9]$/) {print $2}' < $MODULES_CONF | \
+ while read line; do \
+ msg_starting "sound driver: $line"
+ busy
+ /sbin/modprobe $line
+ ok
+ done
+ awk '$1 == "alias" && $3 != "off" && ($2 ~ /^sound-service-[0-9]-[0-9]+$/) {print $2}' < $MODULES_CONF | \
while read line; do \
msg_starting "sound driver: $line"
busy
#
# remove all sound modules
#
- for module in `/sbin/lsmod | awk '/^snd/ { print $1 }'`; do
- /sbin/rmmod `echo $module | cut -d ' ' -f 1` > /dev/null 2>&1
- if [ $? == 1 ]; then
- echo
- show "ERROR: unable to umount module : "$module
- return 1
- fi
+ /sbin/lsmod | awk '/^snd/ { print $0 }' | while read line; do \
+ /sbin/rmmod `echo $line | cut -d ' ' -f 1`; \
done
- return 0
}
driver_stop()
# remove all sound modules
#
detect_stop
- return $?
}
detect_start()
exit 1
fi
else
- if [ $(kernelverser) == 002004 ]; then
- driver_start
- if [ -d /proc/asound ]; then
- touch /var/lock/subsys/alsasound
- else
- exit 1
- fi
- else
- msg_already_running "ALSA driver"
- fi
+ msg_already_running "ALSA driver"
fi
fi
;;
if [ -d /proc/asound ]; then
show "Shutting down sound driver:"
busy
-
if [ -f /proc/asound/detect ]; then
detect_stop
else
driver_stop
- if [ $? == 1 ]; then
- fail
- exit 1
- fi
fi
-
- (rmmod isapnp; rmmod soundcore) > /dev/null 2>&1
+ (rmmod isapnp; rmmod soundcore) 2> /dev/null
if [ -d /var/lock/subsys ]; then
rm -f /var/lock/subsys/alsasound
fi