diff options
Diffstat (limited to 'init.d/unmute')
-rwxr-xr-x | init.d/unmute | 49 |
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 +} |