ALSA Sound System (rc.audio)

Carregando drivers de som ALSA

Categoria: Miscelânea

Software: ALSA Sound System

[ Hits: 19.946 ]

Por: Igor Garcia


Este .conf mostra como gerenciar os drivers de som ALSA (Advanced Linux Sound Architeture, mais informaçõesl em http://www.alsa-project.org/).



De fato geralmente quem usa placas de som onboard com chipset VIA (entre outros) precisa usar os drivers ALSA para poder fazer o som funcionar. Entretanto, carregar e descarregar esses modulos de som é extremamente chato, pois para carregar precisa de uns 4 ou 5 modprobes e pra descarregar uns 10 ou 15 rmmod, isso sem contar que quando carregamos o modulos de som, o mixer está com o volume minimo e todas as saidas estão completamente mudas.



Pensando num jeito mais conveniente de carregar e desgarregar os modulos de som ALSA, eu crei esse .conf. Espero que ajude.


#!/bin/bash
# /etc/rc.d/rc.audio
# Copyright © 2003 Igor Garcia

# Este script serve para carregar/descarregar os módulos de som ALSA.
# Para que este script funcione você deve ter os modulos ALSA adicionados aos seu
# kernel e deve possuir uma placa de som VIA (VT8233 AC97 Audio Controller).
# Para maiores informações sobre estes módulos e quais as placas de som que eles
# suportam, de uma olhada em http://www.alsa-project.org/alsa-doc/
# Se você possui outra placa, porém utiliza os módulos ALSA, poucas modificações
# nestes script serão necessárias para que ele rode corretamente.

MODPROBE=`which modprobe`
RMMOD=`which rmmod`
AMIXER=`which amixer`
ALSAMIXER=`which alsamixer`

audio_start()
{
  echo -n "Ativando os módulos de som..."
  ERR=0

  # ATENCAO:
  # Se voce nao usa placa com chipset VIA, mude a linha abaixo !
  #------------------------------------------------------------------------------
  $MODPROBE snd-via82xx dxs_support=4 1> /dev/null 2> /dev/null
  #------------------------------------------------------------------------------
  if [ $? != 0 ]; then
    ERR=`expr $ERR + 1`
  fi

  $MODPROBE snd-pcm-oss 1> /dev/null 2> /dev/null
  if [ $? != 0 ]; then
    ERR=`expr $ERR + 1`
  fi

  $MODPROBE snd-mixer-oss 1> /dev/null 2> /dev/null
  if [ $? != 0 ]; then
    ERR=`expr $ERR + 1`
  fi

  $MODPROBE snd-seq-oss 1> /dev/null 2> /dev/null
  if [ $? != 0 ]; then
    ERR=`expr $ERR + 1`
  fi

  $AMIXER -c 0 sset "Master" 100%,100% unmute 1> /dev/null 2> /dev/null
  if [ $? != 0 ]; then
    ERR=`expr $ERR + 1`
  fi

  $AMIXER -c 0 sset "Master Mono" 100%,100% unmute 1> /dev/null 2> /dev/null
  if [ $? != 0 ]; then
    ERR=`expr $ERR + 1`
  fi

  $AMIXER -c 0 sset "Headphone" 100%,100% unmute 1> /dev/null 2> /dev/null
  if [ $? != 0 ]; then
    ERR=`expr $ERR + 1`
  fi

  $AMIXER -c 0 sset "PCM" 100%,100% unmute 1> /dev/null 2> /dev/null
  if [ $? != 0 ]; then
    ERR=`expr $ERR + 1`
  fi

  $AMIXER -c 0 sset "CD" 100%,100% unmute 1> /dev/null 2> /dev/null
  if [ $? != 0 ]; then
    ERR=`expr $ERR + 1`
  fi

  if [ $ERR = 0 ]; then
   echo "OK"
  else
   echo "FALHOU"
  fi
}

audio_stop()
{
  echo -n "Desativando os módulos de som..."
  $RMMOD snd-via82xx snd-pcm-oss snd-seq-oss              \
         snd-seq-midi-event snd-seq snd-mixer-oss         \
         snd-pcm snd-timer snd-mpu401-uart snd-rawmidi    \
         snd-seq-device snd-ac97-codec snd-page-alloc snd \
         1> /dev/null 2> /dev/null
  if [ $? = 0 ]; then
   echo "OK"
  else
   echo "FALHOU"
  fi
}

audio_usage()
{
  echo
  echo "$0 (start | stop | restart | clear)"
  echo
  echo "start   - Ativa o som"
  echo "stop    - Desativa o som"
  echo "restart - Reativa o som"
  echo "status  - Usa o alsamixer para mostrar o status do som"

}

case $1 in

  start)
     audio_start;
  ;;

  stop)
     audio_stop;
  ;;

  restart)
    audio_stop;
    audio_start;
  ;;

  status)
     $ALSAMIXER;
  ;;
  *)
     audio_usage;
     exit;
  ;;

esac
  


Comentários
[1] Comentário enviado por RaiD_Zer0 em 10/03/2006 - 13:28h

Muito bacana! São pessoas assim que precisamos para a comunidade!

[2] Comentário enviado por paulloal em 08/10/2006 - 23:05h

camarada esse conf serve para placas realtek high definition

[3] Comentário enviado por Flaviodbz em 16/02/2007 - 17:38h

legal mas to com uma duvida estou tendo problemas em relaçao ao som nos games e meu som ja esta configurado mas eu ano entendi muito bem esse seu .conf devo substituir por algum arquivo em especifico ?????

[4] Comentário enviado por julheras em 18/08/2007 - 01:11h

oi naum entendo muito disso mais onde escrevo tudo isso q vc escreve, meu som tbm num funciona no linux

[5] Comentário enviado por alencarvivaolinu em 13/08/2008 - 17:04h

Minha placa é uma Gigabyte GA-G31M-SL2 e o som é Realtek HD.
Quaias as modificações na linha
$MODPROBE snd-via82xx dxs_support=4 1> /dev/null 2> /dev/null


Contribuir com comentário

  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts