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: [email protected]


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