O Som no Slackware
Piter PUNK
A configuração do som no Slackware é razoavelmente simples,
mas muita gente ainda encontra dificuldades com ela. Esse artigo
serve basicamente para mostrar o caminho de tijolos dourados até
o som perfeito.
1. Introdução
O Slackware 9 trouxe como grande novidade o hotplug, e o 9.1 somou
ao hotplug a arquitetura flexível do ALSA. Com essas "adições", a
configuração do som ficou bem mais simples e automática.
Para se ter uma idéia, grande parte das vezes, o hotplug já carrega
o módulo apropriado para a placa de som sozinho. Restando ao usuário
apenas a árdua tarefa de tocar o som -;)
Mas, de vez em quando, isso dá errado. Neste caso, é necessário um pouco
mais de trabalho para configurar o som, seja através do "alsaconf" ou
caçando qual o módulo correto para a sua placa de som...
2. Colhendo Dados
Uma das primeiras coisas a fazer com relação ao som, é descobrir
qual é a sua placa de som. Se a sua placa for uma PCI, você pode
descobrir qual o modelo com o comando:
# lspci | grep Multimedia
Isso costuma ter como saída algo do tipo:
00:0a.0 Multimedia audio controller: Ensoniq 5880 AudioPCI (rev 02)
Quando o módulo da placa de som é carregado automaticamente, essa
informação não tem muita utilidade, mas no caso de problemas é importante
conhecer o modelo da sua placa de som.
Uma maneira fácil de descobrir se o módulo da sua placa de som está
carregado é com o comando:
# echo "oi" > /dev/dsp
Caso o seu módulo de som não esteja carregado, você vai receber uma resposta
semelhante a:
/dev/dsp: No such device
Se você está utilizando o ALSA, antes de dar o comando acima, verifique
se os módulos para emulação de OSS estão disponíveis:
# lsmod | grep oss
É para aparecer (entre outros) pelo menos estes dois módulos:
snd-pcm-oss 37252 0 (unused)
snd-mixer-oss 11992 2 [snd-pcm-oss]
Carregue-os com o comando "modprobe nome-do-módulo" caso eles não
estejam carregados, e só então execute o: echo "oi" > /dev/dsp
Com estes testes já é possível saber qual a sua placa de som e se o
módulo correto está carregado. Os problemas começam a acontecer quando
o módulo não está carregado, ou quando não se conhece qual a placa de
som a ser utilizada...
Um bom teste para verificar se o seu som está funcionando corretamente
é executar:
# cat /bin/ls > /dev/dsp
Isso irá fazer um barulho horrível nas suas caixas de som. Os saudosos
irão achar o ruído muito semelhante àquele que escutávamos quando carregávamos
programas pela fita k7.
3. ALSA
O ALSA é o sistema de som oficial do kernel 2.6. O Slackware 9.1, apesar
de ainda utilizar o kernel da série 2.4, já vem preparado para a série
2.6 e, por isso, vem com todos os módulos e utilitários necessários para
se utilizar o ALSA, que é um sistema de som extremamente versátil e flexível.
3.1. Sem som!
Se você está lendo este trecho do artigo, provavelmente teve algum problema
na configuração do som. Antes de continuar, é importante avisar que o ALSA
vem com todos os canais de som configurados como "mudo" e com o volume no
mínimo.
Ou seja, pode ser que tudo esteja OK com o seu som e você apenas não está
conseguindo escutá-lo. Resolva isso com o comando:
# alsamixer
Irão aparecer uma série de barras verticais na sua tela. Cada uma delas
simboliza um dos canais de som disponíveis... algumas delas possuem um
"MM" no topo (estas estão com o som mudo). Apertando a tecla "M" você irá
tirar este canal de som do mudo e, com as setas para cima e para baixo
é possível regular o volume do som.
Utilizando as setas para a esquerda e para a direita, você pode trocar
de canal de som. Após todos os canais regulados, você sai do alsamixer
teclando ESC. E, para salvar essas configurações utiliza o comando:
# alsactl store
Agora sim, teste novamente o som e, em caso de sucesso, divirta-se com
suas músicas e vídeos...
3.2. Configurando o ALSA
Se tudo até aqui deu errado, nós podemos partir para o alsaconf. Ele
é um programa criado para detectar placas de som em sua máquina e para
configurá-las para o ALSA.
Para usar este programa, basta digitar no prompt:
# alsaconf
Na primeira tela ele irá lhe avisar para descarregar quaisquer módulos de
som e desligar os programas que utilizem o som. Após fazer isso, aperte enter.
Logo em seguida ele irá tentar detectar as placas de som disponíveis no seu
sistema e, quando conseguir irá mostrar uma lista com as placas disponíveis.
No meu caso, ele me deu as seguintes opções:
ens1371 Ensoniq 5880 AudioPCI (rev 02)
legacy Probe legacy ISA (non-PnP) chips
A primeira é a minha placa de som (lembram-se do resultado do comando
"lspci | grep Multimedia" que postei lá atrás?) e a segunda opção é
para o sistema tentar procurar por placas ISA.
Como para mim é a primeira opção, eu apenas seleciono a opção correta
e aperto enter. Na seqüência somos questionados se é para escrever as
configurações no modules.conf, escolha "Yes" (Sim). Aguarde alguns instantes
e aperte enter na última tela.
3.3. Carregando módulos "na unha"
Ok, o hotplug não detectou e o alsaconf não funcionou (ou você não vai
com a cara dele). Sobrou uma opção, descobrir o módulo para a sua placa
de som e carregá-lo "na unha".
O primeiro passo é saber qual o módulo de som é utilizado pela sua placa.
Isso pode ser conseguido observando o arquivo ALSA-Configuration.txt que
está no diretório /usr/doc/alsa-driver-0.9.6/alsa-kernel.
Procure pelo modelo da sua placa de som dentro desse arquivo, tente pelo
número da placa (na que está na minha máquina é 5880) ou pelo nome dela
(Ensoniq). No meu caso, o comando:
# grep -i -C 5 "5880" ALSA-Configuration.txt
Não me retorna nada, enquanto o:
# grep -C 5 "Ensoniq" ALSA-Configuration.txt
Me retorna várias linhas e a sugestão para pelo menos dois módulos, o
snd-ens1370 e o snd-ens1371. O que fazer neste caso? Carregar um dos módulos
e depois o outro. Normalmente, carregar o módulo errado para a sua placa
irá lhe devolver um erro, então você pode tentar o módulo correto.
Você deve carregar o módulo com o comando:
# modprobe nome_do_módulo
Logo em seguida deve usar o alsamixer para regular o volume, e depois execute
os testes do item 1. Lembre de também carregar os módulos snd-oss-*.
Se tudo correu bem, coloque a linha com o comando "modprobe" dentro do
arquivo /etc/rc.d/rc.modules, onde são carregados os módulos no Slackware.
Ficará uma linha mais ou menos assim:
/sbin/modprobe nome_do_módulo
E pronto! Pode curtir suas músicas a vontade.
4. OSS
Este é o sistema tradicional, e é o default para o kernel 2.0, 2.2 e 2.4. No
caso do Slackware 9.1, mesmo possuindo o kernel 2.4, o sistema de som "padrão"
é o ALSA, mas você pode querer utilizar o OSS mesmo assim.
Se o hotplug não carregou o módulo de som automaticamente, você só tem uma
opção: descobrir o módulo correto e carregá-lo. O slackware não possui nenhuma
ferramenta para a configuração do OSS.
Com o nome da sua placa em mãos, é razoavelmente simples conseguir descobrir
o módulo apropriado. Uma primeira opção é procurar dentro do
/etc/rc.d/rc.modules, já que lá estão listados várias placas de som e os
módulos necessários.
Se você encontrar a sua placa lá, basta descomentar a linha com o comando
"/sbin/modprobe algumacoisa" que deve estar logo abaixo da linha com o
nome da sua placa. Para descomentar basta retirar o # da frente.
Não encontrando a sua placa no /etc/rc.d/rc.modules, o próximo passo na
nossa busca é em:
/usr/src/linux/Documentation/sound
Dentro deste diretório existem vários arquivos tratando de variadas placas
de som. Alguns nomes são bem sugestivos, e úteis, abra o arquivo que achar
interessante e colha as informações contidas em seu interior.
Infelizmente, nem sempre isso é suficiente:
# grep -i "ensoniq" *
Não devolve nenhuma informação para a placa de som desta máquina, e muito
menos procurar pelo número da placa (5880). Nós sabemos que o módulo é o
es1371, mas esta informação não foi conseguida aqui.
Podemos procurar agora em:
/usr/src/linux/drivers/sound
Neste diretório estão os fontes dos módulos do kernel. Os comentários
contidos nestes fontes são extremamente úteis uma procura por "5880"
encontra várias entradas no arquivo: es1371.c, o que já é uma ÓTIMA
indicação de qual é o módulo apropriado.
Nesta hora, devemos carregar o módulo que encontramos e efetuar os testes
necessários. Se tudo correu bem, é só colocar o módulo para ser carregado
no /etc/rc.d/rc.modules com uma linha semelhante a esta:
/sbin/modprobe nome_do_módulo
E agora é só escutar as suas músicas prediletas.
5. Conclusão
Apesar de várias placas já serem automaticamente detectadas, muitas vezes
precisamos de um pouco de trabalho para colocar para funcionar o som. Seja
por desconhecermos que o ALSA vem com todos os canais sem som ou pelos
módulos de som não estarem carregados.
Mas estes contratempos são extremamente simples de se contornar, e em menos
de 5 minutos já podemos estar escutando felizes às nossas músicas.
Qualquer dúvida, crítica ou sugestão mande e-mail para:
piterpk@terra.com.br
|