Piter Punk's HomePage - Artigos
 
English version
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


Links Principal Artigos Piter Punk Dicas Programas
 
Powered by Slackware Linux - Written in VIm (the best one!) Last Update: 30 Oct 2004