summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'init.d/unmute')
-rwxr-xr-xinit.d/unmute49
1 files changed, 49 insertions, 0 deletions
diff --git a/init.d/unmute b/init.d/unmute
new file mode 100755
index 0000000..7e73c83
--- /dev/null
+++ b/init.d/unmute
@@ -0,0 +1,49 @@
+#!/sbin/runscript
+
+depend()
+{
+ need alsasound
+}
+
+start()
+{
+ if [ -e /proc/asound/cards ]
+ then
+ for i in $(cat /proc/asound/cards | awk '{print $1}' | grep ^[[:digit:]])
+ do
+ einfo "unmuting sound card $i"
+ if [ -d /proc/asound/card$i ] && [ -x /usr/bin/amixer ]
+ then
+ amixer -c $i scontrols > /etc/amixer
+ [ -n "$(grep Master /etc/amixer)" ] \
+ && amixer -c $i -q set Master 95% unmute \
+ >/dev/null 2>&1
+ [ -n "$(grep Front /etc/amixer)" ] \
+ && amixer -c $i -q set Front 95% unmute \
+ >/dev/null 2>&1
+ [ -n "$(grep HDMI /etc/amixer)" ] \
+ && amixer -c $i -q set HDMI 95% unmute \
+ >/dev/null 2>&1
+ [ -n "$(grep IEC958 /etc/amixer)" ] \
+ && amixer -c $i -q set IEC958 95% unmute \
+ >/dev/null 2>&1
+ [ -n "$(grep PCM /etc/amixer)" ] \
+ && amixer -c $i -q set PCM 95% unmute \
+ >/dev/null 2>&1
+ [ -n "$(grep Speaker /etc/amixer)" ] \
+ && amixer -c $i -q set Speaker 95% unmute \
+ >/dev/null 2>&1
+ [ -n "$(grep Mic /etc/amixer)" ] \
+ && amixer -c $i -q set Mic 95% mute cap \
+ >/dev/null 2>&1
+ [ -n "$(grep Wave /etc/amixer)" ] \
+ && amixer -c $i -q set Wave 95% unmute \
+ >/dev/null 2>&1
+ [ -n "$(grep Capture /etc/amixer)" ] \
+ && amixer -c $i -q set Capture 95% unmute cap \
+ >/dev/null 2>&1
+ fi
+ done
+ fi
+ return 0
+}