Antes de você começar, você deve saber qual o modelo da placa que você possui, qual chipset ela utiliza, e se ela é uma placa PCI ou ISA. O FreeBSD suporta uma larga variedade de placas PCI e ISA. Se você não localizar a sua placa na lista seginte, verifique a página de manual pcm(4). Esta não é uma lista completa; entretando ela lista algumas das placas mais comuns.
Crystal 4237, 4236, 4232, 4231
Yamaha OPL-SAx
OPTi931
Ensoniq AudioPCI 1370/1371
ESS Solo-1/1E
NeoMagic 256AV/ZX
SoundBlaster® Pro, 16, 32, AWE64, AWE128, Live
Creative ViBRA16
Advanced Asound 100, 110, e Logic ALS120
ES 1868, 1869, 1879, 1888
Gravis UltraSound
Aureal Vortex 1 ou 2
Para utilizar o seu dispositivo de som, você irá precisar carregar o driver de dispositivo apropriado. Isto pode ser efetuado de duas formas. A forma mais simples consiste-se em carregar o módulo de kernel apropriado para sua placa de som com o comando kldload(8) o que pode ser feito a partir da linha de comando:
# kldload snd_emu10k1.ko
ou através da adição de uma linha apropriada no arquivo /boot/loader.conf, tal como o exemplo abaixo:
snd_emu10k1_load="YES"
Estes exemplos são para uma placa de som Creative SoundBlaster Live!. Outros módulos de som carregáveis disponíveis são listados no /boot/defaults/loader.conf.
Alternativamente, você pode compilar de forma estática o suporte à sua placa de som no seu kernel. A sessão abaixo fornece as informações que você precisa para adicionar o suporte ao seu hardware desta maneira. Para maiores informações sobre a recompilação do seu kernel, por favor consulte Capítulo 9.
Se você possui uma das placas abaixo, você irá precisar adicionar:
device pcm
Ao seu arquivo de configuração do kernel. Se você possui uma placa ISA PnP, você também terá que adicionar:
device sbc
Para uma plana não-PnP, adicione:
device pcm device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15
Ao seu arquivo de configuração do kernel. A configuração mostrada acima é a padrão. Você pode precisar alterar o IRQ ou outras configurações para adaptar-se a sua placa. Consulte a página de manual sbc(4) para maiores informações.
Nota: A placa de som Sound Blaster Live não é suportada no FreeBSD FreeBSD 4.0 sem um patch, o qual esta sessão não irá abranger. É recomendado que você atualize seu sistema para a última versão -STABLE antes de tentar utilizar esta placa.
Para um placa ISA PnP, você irá precisar adicionar:
device pcm device gusc
Ao seu arquivo de configuração do kernel. se você possui uma placa ISA não-PnP, você irá precisar adicionar:
device pcm device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13
Ao seu arquivo de configuração do kernel. A configuração mostrada acima é a padrão. Você pode precisar alterar o IRQ ou outras configurações para adaptar-se a sua placa. Consulte a página de manual gusc(4) para maiores informações.
Para placas Crystal, você irá precisar adicionar:
device pcm device csa
Ao seu arquivo de configuração do kernel.
Para placas PCI ou ISa PnP, você irá precisar adicionar:
device pcm
Ao seu arquivo de configuração do kernel. Se você possui uma placa de som ISA não-PnP a qual não possui um bridge driver, você irá precisar adicionar:
device pcm0 at isa? irq 10 drq 1 flags 0x0
Ao seu arquivo de configuração do kernel. A configuração mostrada acima é a padrão. Você pode precisar alterar o IRQ ou outras configurações para adaptar-se a sua placa.
Alguns sistemas com idispositivos de som embutidos na placa mãe podem precisar que a seguinte opção esteja presente em seu arquivo de configuração do kernel:
options PNPBIOS
Depois que você reinicializar, logue no sistema e verifique se o seu dispositivo está sendo listado no arquivo /var/run/dmesg.boot, como mostrado abaixo:
# grep pcm /var/run/dmesg.boot pcm0: <SB16 DSP 4.11> on sbc0
A saída para o seu sistema pode parecer diferente. Se o dispositivo pcm não for exibido, algo de errado ocorreu anteriormente. Se isto acontecer, verifique novamente o arquivo de configuração do seu kernel e certifique-se de que você escolheu o dispositivo correto. Os problemas mais comuns estão listados em Seção 16.2.2.1 .
Nota: Se você estiver executando o FreeBSD 5.0 ou posterior, você pode pular tranqüilamente o resto desta sessão. Estas versões utilizam um devfs(5) para criar automaticamente os nós de dispositivos.
Se o comando prévio retornou pcm0, você terá que executar os seguintes comandos, logado como root:
# cd /dev # sh MAKEDEV snd0
Se o comando retornou pcm1, siga os mesmos passos mostrados acima, subistituindo snd0 por snd1.
Nota: Os comandos acima não irão criar o dispositivo /dev/snd!
O MAKEDEV irá criar um grupo de nós de dispositivo, incluindo:
Dispositivo | Descrição |
---|---|
/dev/audio | Dispositivo de audio compatível com padrão Sparc® |
/dev/dsp | Dispositivo de voz digitalizada |
/dev/dspW | Semelhante ao /dev/dsp, mas com uma amostragem de 16 bits |
/dev/midi | Acesso direto ao dispositivo midi |
/dev/mixer | Porta de controle do dispositivo de mixagem |
/dev/music | Interface nível 2 do sequenciador |
/dev/sequencer | Dispositivo sequenciador |
/dev/pss | Interface de dispositivo programável |
Se tudo correu bem, agora você deve ter uma placa de som que funciona. Se o seu drive de CD-ROM ou de DVD-ROM estiver devidamente conectado a sua placa de som, você pode colocar um CD no drive e reproduzi-lo com o uso do cdcontrol(1):
% cdcontrol -f /dev/acd0c play 1
Várias aplicações, tal como o audio/workman oferece uma interface melhor. Você pode desejar instalar uma aplicação tal como o audio/mpg123 para ouvir seus arquivos de audio no formato MP3.
Erro | Solução |
---|---|
``unsupported subdevice XX'' |
Um ou mais dos nós de dispositivo não foram criados corretamente. Repita os passos acima. |
``sb_dspwr(XX) timed out'' |
A porta de I/O não esta ajustada corretamente. |
``bad irq XX'' |
O IRQ está ajustado de forma incorreta. Certifique-se de que o IRQ setado é o mesmo IRQ utilizado pela sua placa. |
``xxx: gus pcm not attached, out of memory'' |
Não existe memória suficiente para utilizar o dispositivo. |
``xxx: can't open /dev/dsp!'' |
Verifique com o comando fstat | grep dsp se alguma outra aplicação esta mantendo o dispositivo aberto. Criadores de problema dignos de atenção são o esound e o suporte a som do KDE. |
É freqüentemente desejável termos múltiplas fontes de som, as quais possam ser reproduzidas simultaneamente, como por exemplo quando o esound ou o artsd não suportam o compartilhamento do dispositivo de som com alguma aplicação.
O FreeBSD permite que você faça isso através dos Canais virtuais de som, os quais podem ser configurados atráves do sysctl(8). Os canais virtuais permitem que você multiplexe os canais de reprodução da sua placa de som através de uma mixagem do som pelo kernel.
Para configurar os canais virtuais, existem 2 variáveis do sysctl que precisam ser ajustadas, se você é o usuário root, isto pode ser feito da seguinte forma:
# sysctl hw.snd.pcm0.vchans=4 # sysctl hw.snd.maxautovchans=4
O exemplo acima define 4 canais virtuais, o qual é um número razoável para uso no dia a dia. A variável hw.snd.pcm0.vchans define o número de canais virtuais que o pcm0 possui, e ela é configurável uma vez que o dispositivo tenha sido atachado. Já a variável hw.snd.maxautovchans define o número de canais virtuais atribuido a um dispositivo atachado via kldload(8). Uma vez que o módulo pcm pode ser carregado independentemente dos drivers de hardware, a variável hw.snd.maxautovchans pode armazenar quantos canais virtuais serão atribuidos a qualquer dispositivo de som atachado após a inicialização do sistema.
Se você não está utilizando o devfs(5),, você terá que apontar a sua aplicação para /dev/dsp0.x, onde x será um valor de 0 a 3 se a variável hw.snd.pcm.0.vchans estiver definida para 4 como no exemplo anterior. Em um sistema que utilize o devfs(5), a atribuição ocorre de forma automática e transparente ao usuário.
Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.