Package: alsa-utils
Version: 1.1.3-1
Severity: normal

Dear Maintainer,

*** Reporter, please consider answering these questions, where appropriate ***

   * What led up to the situation?
modified  values with alsamixer are not restored at boot
   * What exactly did you do (or not do) that was effective (or
     ineffective)?
use alsamixer
reboot
   * What was the outcome of this action?
cursors are not well restored
   * What outcome did you expect instead?
same values than before the boot

i modify to  use /var/lib/alsa


cat /lib/systemd/system/alsa-restore.service
#
# Note that two different ALSA card state management schemes exist and they
# can be switched using a file exist check - /etc/alsa/state-daemon.conf .
#

[Unit]
Description=Save/Restore Sound Card State
Documentation=man:alsactl(1)
ConditionPathExists=!/etc/alsa/state-daemon.conf
ConditionPathExistsGlob=/dev/snd/control*
After=alsa-state.service

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=-/usr/sbin/alsactl -E HOME=/var/lib/alsa restore
ExecStop=-/usr/sbin/alsactl -E HOME=/var/lib/alsa store



-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable'), (500, 'oldstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), 
LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages alsa-utils depends on:
ii  kmod              24-1
ii  libasound2        1.1.3-5
ii  libc6             2.24-12
ii  libfftw3-single3  3.3.6p2-1
ii  libncursesw5      6.0+20170715-2
ii  libsamplerate0    0.1.8-8+b2
ii  libtinfo5         6.0+20170715-2
ii  lsb-base          9.20161125
ii  whiptail          0.52.20-1+b1

alsa-utils recommends no packages.

alsa-utils suggests no packages.

-- Configuration Files:
/etc/init.d/alsa-utils changed:
[ -x /usr/sbin/alsactl ] || exit 0
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MYNAME=/etc/init.d/alsa-utils
ALSACTLHOME=/run/alsa
[ -d "$ALSACTLHOME" ] || mkdir -p "$ALSACTLHOME"
. /lib/lsb/init-functions
. /usr/share/alsa/utils.sh
log_action_end_msg_and_exit()
{
        log_action_end_msg "$1" ${2:+"$2"}
        exit $1
}
executable()
{
        # If which is not available then we must be running before
        # /usr is mounted on a system that has which in /usr/bin/.
        # Conclude that $1 is not executable.
        [ -x /bin/which ] || [ -x /usr/bin/which ] || return 1
        which "$1" >/dev/null 2>&1
}
executable amixer || { echo "${MYNAME}: Error: No amixer program available." 
>&2 ; exit 1 ; }
restore_levels()
{
        [ -f /var/lib/alsa/asound.state ] || return 1
        CARD="$1"
        [ "$1" = all ] && CARD=""
        # Assume that if alsactl prints a message on stderr
        # then it failed somehow.  This works around the fact
        # that alsactl doesn't return nonzero status when it
        # can't restore settings for the card
        touch /home/guy/alsa-utils-ok.txt
        if MSG="$(alsactl -E HOME="$ALSACTLHOME" restore $CARD 2>&1 
>/dev/null)" && [ ! "$MSG" ] ; then
                return 0
        else
                # Retry with the "force" option.  This restores more levels
                # but it results in much longer error messages.
                alsactl -F restore $CARD >/dev/null 2>&1
                log_action_cont_msg "warning: 'alsactl -E HOME="$ALSACTLHOME" 
restore${CARD:+ $CARD}' failed with error message '$MSG'"
                return 1
        fi
}
store_levels()
{
        CARD="$1"
        [ "$1" = all ] && CARD=""
        if MSG="$(alsactl -E HOME="$ALSACTLHOME" store $CARD 2>&1)" ; then
                sleep 1
                return 0
        else
                log_action_cont_msg "warning: 'alsactl store${CARD:+ $CARD}' 
failed with error message '$MSG'"
                return 1
        fi
}
mute_and_zero_levels_on_card()
{
        CARDOPT="-c $1"
        for CTL in \
                Master \
                PCM \
                Synth \
                CD \
                Line \
                Mic \
                "PCM,1" \
                Wave \
                Music \
                AC97 \
                "Master Digital" \
                DAC \
                "DAC,0" \
                "DAC,1" \
                Headphone \
                Speaker \
                Playback
        do
                mute_and_zero_level "$CTL"
        done
        return 0
}
mute_and_zero_levels()
{
        TTZML_RETURNSTATUS=0
        case "$1" in
          all)
                for CARD in $(echo_card_indices) ; do
                        mute_and_zero_levels_on_card "$CARD" || 
TTZML_RETURNSTATUS=1
                done
                ;;
          *)
                mute_and_zero_levels_on_card "$1" || TTZML_RETURNSTATUS=1
                ;;
        esac
        return $TTZML_RETURNSTATUS
}
card_OK()
{
        [ "$1" ] || bugout
        if [ "$1" = all ] ; then
                [ -d /proc/asound ]
                return $?
        else
                [ -d "/proc/asound/card$1" ] || [ -d "/proc/asound/$1" ]
                return $?
        fi
}
case "$1" in
  start)
        EXITSTATUS=0
        TARGET_CARD="$2"
        case "$TARGET_CARD" in
          ""|all) TARGET_CARD=all ; log_action_begin_msg "Setting up ALSA" ;;
          *) log_action_begin_msg "Setting up ALSA card ${TARGET_CARD}" ;;
        esac
        card_OK "$TARGET_CARD" || log_action_end_msg_and_exit "$( [ ! "$2" ] ; 
echo $? ; )" "none loaded"
        preinit_levels "$TARGET_CARD" || EXITSTATUS=1
        if ! restore_levels "$TARGET_CARD" ; then
                sanify_levels "$TARGET_CARD" || EXITSTATUS=1
                restore_levels "$TARGET_CARD" >/dev/null 2>&1 || :
        fi
        log_action_end_msg_and_exit "$EXITSTATUS"
        ;;
  stop)
        EXITSTATUS=0
        TARGET_CARD="$2"
        case "$TARGET_CARD" in
          ""|all) TARGET_CARD=all ; log_action_begin_msg "Shutting down ALSA" ;;
          *) log_action_begin_msg "Shutting down ALSA card ${TARGET_CARD}" ;;
        esac
        card_OK "$TARGET_CARD" || log_action_end_msg_and_exit "$( [ ! "$2" ] ; 
echo $? ; )" "none loaded"
        store_levels "$TARGET_CARD" || EXITSTATUS=1
        #mute_and_zero_levels "$TARGET_CARD" || EXITSTATUS=1
        log_action_end_msg_and_exit "$EXITSTATUS"
        ;;
  restart|force-reload)
        EXITSTATUS=0
        $0 stop || EXITSTATUS=1
        $0 start || EXITSTATUS=1
        exit $EXITSTATUS
        ;;
  reset)
        TARGET_CARD="$2"
        case "$TARGET_CARD" in
          ""|all) TARGET_CARD=all ; log_action_begin_msg "Resetting ALSA" ;;
          *) log_action_begin_msg "Resetting ALSA card ${TARGET_CARD}" ;;
        esac
        card_OK "$TARGET_CARD" || log_action_end_msg_and_exit "$( [ ! "$2" ] ; 
echo $? ; )" "none loaded"
        preinit_levels "$TARGET_CARD"
        sanify_levels "$TARGET_CARD"
        log_action_end_msg_and_exit "$?"
        ;;
  *)
        echo "Usage: $MYNAME {start [CARD]|stop [CARD]|restart [CARD]|reset 
[CARD]}" >&2
        exit 3
        ;;
esac


-- no debconf information

Reply via email to