Alsamixer (Не сохраняет настройки)

PCLinuxOS

Модератор: Bizdelnick

Alsarine
Сообщения: 200
ОС: PCLinuxOS LXDE 2010.12 desktop

Alsamixer

Сообщение Alsarine »

Нужен совет. В поиске искал,не помогло.
После обновления системы alsamixer при загрузках в "ноль".
Пробовал alsamixer под root,команды

Код: Выделить всё

alsactl -store

Не понятно.

Код: Выделить всё

alsactl -f /root/tmp/asound.state_tmp store

Не работает. Не могу понять.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Alsamixer

Сообщение eddy »

У меня такая проблема в какой-то мандриве была, оказалось, что скрипт из rc.d, запускающий звук, самостоятельно сбрасывал настройки микшера и загружал свои. Удалением из скрипта вредительских строчек и добавлением alsactl restore получилось все вернуть в нормальное состояние. (вредительским там было еще то, что он делал alsactl store при каждом отключении, что нецелесообразно - мало ли как я сиюминутно захочу громкость накрутить?)
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Alsarine
Сообщения: 200
ОС: PCLinuxOS LXDE 2010.12 desktop

Re: Alsamixer

Сообщение Alsarine »

Уже понятней. Можно поподробней? Это вот этот?

Код: Выделить всё

#!/usr/bin/perl -pi

# known whitelist:
# - "DAC Volume" must be unmuted on Cirrus Logic CS4297A driver (#12151)
# - "wave surround" must be unmuted on SB Live in order to make rear speakers working

my $factor = 0.8;

# state machine:
if (/\s*control\./) {
    ($min, $max) = (0, 0);
} elsif (/\s*name '/) {
    # fix too fast sound on "Terratec Aureon 5.1 Sky" (#12100):
    $max = 44100/$factor if $fix_frequ = /Multi Track Internal Clock/;
    # fix distortion on SBLive Value with stereo analogue speakers (#13911):
    $max*= 0.5/$factor if /Tone Control - Treble|Tone Control - Bass/;
    # reduce level of speaker (#49045):
    $max /= 4 if /Speaker Playback Volume/;
    # skip masks and blacklist mixer elements that corrupt or mute the sound:
    $blacklisted = m!\s*name\s'.*(
# fix distorsion on some Ali 5455, AMD 768/8111, Intel i8x0, nVidia nForce and SiS 7012 sound cards:
        3D\ Control
# prevent a larsen effect above 50/60% on SB Live:
        |AC97\ Playback\ Volume
# most users use analog hps rather than digital ones and some audigy do not have digital output anyway:
# (also fix muted sound on Creative Labs EMU10K2 Audigy (#7938)):
        |^Analog/Digital\ Output\ Jack
# Some cards need this enabled (#17515, #18235), some need it disabled
# (Launchpad #106380, http://forum.mandriva.com/viewtopic.php?p=580272,
# ALSA #2560 for e.g.) According to Daniel Chen in the launchpad report
# it is probably best for the majority of users to mute it by default:
        |Audigy\ Analog/Digital\ Output\ Jack
# fix low sound on some laptops with internal HPs:
# (fix disabled b/c it mute sound on new laptops (#16582)
#        |External\ Amplifier
# fix muted sound on ICH4:
        |External\ Amplifier\ Power\ Down
# fix muted sound on C-Media PCI (CMI):
        |Exchange\ DAC
# fix sound on i845 with ALSA-1.0.8+:
# this is fixed in ALSA's CVS and we should probably split the blacklisted
# state into "ignored" and "blacklisted" ones.
# the state should be set to 'ignored' for the 2 following elements that we
# should really ignored since CVS driver really set the proper default value
# whereas we currently mute blacklisted elements
        |Headphone\ Jack\ Sense
        |Line\ Jack\ Sense
# fix sound on shuttle boxes:
        |IEC958\ input\ monitor
# fix sound on VIA 8233:
        |IEC958\ Capture\ Monitor
# fix loud sound on cmpci cards:
        |IEC958\ Mix\ Analog
# fix noise on ensoniq 1371:
        |IEC958\ Playback\ Switch
# fix recording on Via FX41/VT8233 && ATI IXP400 (#14571):
        |IEC958\ Capture\ Switch
# fix playing sound on SB Audigy 2 (#18735)
        |IEC958\ Optical\ Raw\ Playback\ Switch
# fix playing sound on Hercules Gamesurround Fortissimo 4 (#21173):
        |Multi\ Track\ Rate\ Locking
# prevent larsen on some laptops (especially some DELL notebooks with i8xx chipsets):
        |Mic\ Boost\ \(\+\d+dB\)
# fix larsen on laptops with ALI chipsets:
        |Mic\ Playback\ Switch
# SB Live: route sound to the first speaker couple rather than to the second pair of speakers
        |^Output\ Jack
# fix sound on SB Audigy LS:
        |SPDIF\ Out
# fix sound on shuttle boxes:
        |Surround\ down\ mix
# Fix nasty noise on several systems: #44703
    |Analog\ Loopback
# Fix excessive loud beep on intel hda: #45386, #57320
        |(PC\ )?Beep
# ignore masks, only care about regular mixer element (either rules or switches):
        |mask
)!xi;
} else {
    if (/s*comment.range '(\d+) - (\d+)'/) {
        ($min, $max) = ($1, $2);
    } elsif (/s*value/) {
        # Mute blacklisted elements
        if ($blacklisted) {
            # disable switches:
            s/(value\w*\S*)\s* true/\1 false/;
            # set volume to 0%:
            s/(value\w*\S*)\s* \d+/\1 0/;
        } else {
            # enable switches:
            s/(value\w*\S*)\s* false/\1 true/;
            # set volume to 80%:
            my $val = int($max*$factor);
            s/(value\w*\S*)\s* \d+/\1 $val/;
            # fix too fast sound on "Terratec Aureon 5.1 Sky" (#12100):
            s/(value)\s*'\d+'/\1 '$val'/ if $fix_frequ;
        }
    }
}

Понять бы какие вредительские строчки. :)
alsactl restore нужно добавлять в /etc/rc.d/rc.local ?
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Alsamixer

Сообщение eddy »

Alsarine писал(а):
07.04.2011 13:00
Это вот этот?

Alsarine писал(а):
07.04.2011 13:00
alsactl restore нужно добавлять в /etc/rc.d/rc.local ?

Нет и нет. Смотрите /etc/init.d/sound и /etc/init.d/alsa (я не знаю, где оно у вас может оказаться).
alsactl restore добавляете в функцию "start", alsactl store удаляете из "stop", если не хотите постоянно настраивать 100500 каналов микшера.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Alsarine
Сообщения: 200
ОС: PCLinuxOS LXDE 2010.12 desktop

Re: Alsamixer

Сообщение Alsarine »

Не хочу. Есть /etc/init.d/alsa
Не понятно куда и как добавлять.

Код: Выделить всё

 start)
        # Start driver.
    if [ ! -d /proc/asound -o ! -d /proc/asound/card0 ]; then
        if  /sbin/modprobe -c | egrep -qs "^alias( |\t)+(snd|sound)-(card|slot)-[0-9]( |\t)+snd[-_]";then
        start
        touch /var/lock/subsys/alsa
        udevadm settle
        fi
    else
        touch /var/lock/subsys/alsa
        gprintf "ALSA driver is already running."
    fi

    if [ ! -e $RUN ]; then
        restore_alsa_mixer
    fi

     # load snd audio if needed (because snd-usb-audio was blacklisted on early boot):
     if ! fgrep snd-usb-audio -q /proc/bus/usb/devices 2>/dev/null; then
         # sound/usb/usbaudio.c looks for Class 1 (audio) and sublass 1 (control):
         if egrep "Cls=01\(audio\) Sub=0[13]" -q /proc/bus/usb/devices 2>/dev/null; then
         touch /var/lock/subsys/alsa
         modprobe snd-usb-audio
     fi
     fi

        ;;

Код: Выделить всё

stop)
        # Stop daemons.
    if [ -d /proc/asound ]; then
      if [ -f /proc/asound/detect ]; then
        detect_stop
        rm -f /var/lock/subsys/alsa
      else
        if stop; then
        success;echo
        rm -f /var/lock/subsys/alsa
            else
              failure;echo
          rm -f /var/lock/subsys/alsa
            fi
      fi
    else
      gprintf "ALSA driver isn't running."
      echo
    fi
        ;;
    status)
    if egrep -q '(sparcaudio|sound)' /proc/devices;then
        gprintf "Sound loaded"
        echo
    fi
    ;;
  force-stop)
    ALSA_KILL_MODE="force" $0 stop
    ;;
    condrestart)
    if [ -f /var/lock/subsys/alsa ];then
        $0 stop && $0 $start
    fi
    ;;
  restart)
    $0 stop && $0 start
    ;;
  force-reload)
      ALSA_KILL_MODE="force" $0 restart
    ;;
  force-restart)
        ALSA_KILL_MODE="force" $0 stop
        $0 start
    ;;
  *)
        gprintf "Usage: %s\n" "$(basename $0) {start|stop|restart|force-reload|force-stop|force-restart}"
        exit 1
esac

exit 0
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Alsamixer

Сообщение eddy »

Посмотрите /etc/init.d/sound. У меня, например, там в функции start_mixer() выполняется alsactl restore. И еще посмотрите, какие из этих файлов у вас при init'е запускаются.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Alsarine
Сообщения: 200
ОС: PCLinuxOS LXDE 2010.12 desktop

Re: Alsamixer

Сообщение Alsarine »

eddy писал(а):
07.04.2011 15:07
Посмотрите /etc/init.d/sound. У меня, например, там в функции start_mixer() выполняется alsactl restore.

У меня вроде нет такого в start_mixer().

Код: Выделить всё

start)
    retval=0
    if [ ! -d /proc/asound ] || grep -q "no soundcards" /proc/asound/cards;then
    module "Loading sound module" sound || retval=1
    /sbin/modprobe -c | awk '/^((alias)|(probe)) +sound-slot-[0-9]/ {print $2}' | ( \
        while read line; do
        [[ $line = snd-card-* ]] && continue #we do it via alsa script
        module "Loading sound module" $line || retval=1
        done
    )
    module "Loading midi module" midi
    fi
    start_mixer;
    touch /var/lock/subsys/sound
    ;;
    stop)
    # i should have the same semantic of alsa script than oss script,
    # but i do not :-(, patches welcome.
    stop_mixer;
    rm -f /var/lock/subsys/sound
    ;;
    status)
    if egrep -q '(sparcaudio|sound)' /proc/devices;then
    gprintf "Sound loaded"
    echo
    fi
    ;;
    reload)
    ;;
    restart)
    $0 stop
    $0 start
    ;;
    *)
    gprintf "Usage: %s\n" "$(basename $0) {start|stop|restart|status}"
    exit 0
esac

sysctl -n -w kernel.printk=$PKLVL
exit 0

Если я правильно то в автозагрузке только

Код: Выделить всё

[Session]
window_manager=openbox-lxde

[GTK]
sNet/ThemeName=Clearlooks
sNet/IconThemeName=nuoveXT2
sGtk/FontName=Sans 10
iGtk/ToolbarStyle=3
iGtk/ButtonImages=1
iGtk/MenuImages=1
iGtk/CursorThemeSize=18
iXft/Antialias=1

[Mouse]
AccFactor=20
AccThreshold=10
LeftHanded=0

[Keyboard]
Delay=500
Interval=30
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Alsamixer

Сообщение eddy »

Alsarine писал(а):
07.04.2011 16:34
Если я правильно то в автозагрузке только

Неправильно. Смотрите в /etc/rc5.d или графической "конфигурялкой" посмотрите, запускается ли у вас на пятом уровне sound и alsa.
И вы содержимое функции start_mixer не привели.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
SinClaus
Сообщения: 1952
Статус: Мучитель Мандривы
ОС: Arch,BSD

Re: Alsamixer

Сообщение SinClaus »

Забавно.... У меня кто-то наоборот ставил "общий канал" на максимум. Даже искать не стал, при загрузке ставлю тот уровень который мне нужен.
Строчка типа "amixer -c0 cset numid=1 175 >/dev/nul"
Спасибо сказали:
Alsarine
Сообщения: 200
ОС: PCLinuxOS LXDE 2010.12 desktop

Re: Alsamixer

Сообщение Alsarine »

eddy писал(а):
07.04.2011 18:03
Alsarine писал(а):
07.04.2011 16:34
Если я правильно то в автозагрузке только

Неправильно. Смотрите в /etc/rc5.d или графической "конфигурялкой" посмотрите, запускается ли у вас на пятом уровне sound и alsa.
И вы содержимое функции start_mixer не привели.

Если честно я не знаю как это сделать. Не настолько я знаток Linux. Но попробовал сделать как Вы советовали Mandriva 2009 и звук.

Дорабатвается руками: удаляются строки, где выполняется alsactl store/restore <имя_файла>, и в самое начало функции start_mixer дописывается alsactl restore. Соответственно, в функции stop_mixer пишется alsactl store (если, конечно, вы хотите, чтобы настройки звука сохранялись каждый раз).

Получилось. :drinks: Спасибо. Только Master не на полную при загрузке. Странно только с чего вдруг такие пляски,обновил систему называется.
Очень помогли.



SinClaus писал(а):
07.04.2011 18:20
Забавно.... У меня кто-то наоборот ставил "общий канал" на максимум. Даже искать не стал, при загрузке ставлю тот уровень который мне нужен.
Строчка типа "amixer -c0 cset numid=1 175 >/dev/nul"

У меня он был,теперь после манипуляций вот результат.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Alsarine
Сообщения: 200
ОС: PCLinuxOS LXDE 2010.12 desktop

Re: Alsamixer

Сообщение Alsarine »

Как оказалось проблема проще,видимо что то не то с обновлениями.
Cannot open /var/lib/alsa/asound.state for writing: No such file or directory Нужно просто создать файл.
Спасибо сказали: