Pular para o conteúdo

Beep - Configurando o controle

Dica publicada em Linux / Configuração
Perfil removido removido
Hits: 11.130 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Beep - Configurando o controle

Como não havia conseguido fazer funcionar o tal barulho de beep no computador, aliás um laptop, investiguei outros caminhos de configuração através das ferramentas do ALSA.

Esse beep pode ser tanto o beep da campainha do terminal, beep de reboot, beep do comando beep, um caractere especial de beep ecoado; enfim, um som qualquer no alto-falante, de uma frequência qualquer que seja permitida e de qualquer duração.

Para facilitar o teste, será necessário o comando beep. Instalado via APT, YUM ou compilado.

No caso, os comandos usados para configuração foram o Amixer e o Alsamixer.

A configuração foi feita por terminal, já que a máquina estava sem a interface gráfica (Xorg, etc).

Não foi o caso de retirar algum módulo da lista negra em /etc/modprobe.d/alsa-base-blacklist.conf, ou outra alteração em /etc/modprobe.d/alsa-base.conf.

Considerando-se que a parte de som esteja OK e que os módulos de som estejam todos carregados, então faltava algo pelo qual o beep não era emitido.

Foi aí que eu usei o comando:

amixer | less

Ele informa com texto maior que uma tela, por isto de se usar um paginador (comando less).

Indo direto ao trecho mais interessante:
Simple mixer control 'Beep',0
   Capabilities: pvolume pswitch penum
   Playback channels: Front Left - Front Right
   Limits: Playback 0 - 31
   Mono:
   Front Left: Playback 0 [0%] [-34.50dB] [off]
   Front Right: Playback 0 [0%] [-34.50dB] [off]

Ele informa que há um controle de som chamado "Beep", com duas saídas em OFF (desligadas).

Para mudar de [off] para [on], é necessária mais uma informação obtida com

amixer -c 0 controls

De todas as linhas, a que interessa assemelha-se a esta:
numid=19,iface=MIXER,name='Beep Playback Switch'

O "numid" pode variar de equipamento para equipamento. No caso, seja então: numid=19

A seguir, o comando usado é:

amixer -c 0 cset numid=19 1

Se aparecerem as seguintes linhas:
numid=19,iface=MIXER,name='Beep Playback Switch'
   ; type=BOOLEAN,access=rw------,values=2
   : values=on,on

...É porque funcionou.

Supondo que o comando "beep" esteja instalado, faltaria configurar o volume:

alsamixer

Este comando exibe em tela de terminal um gráfico, com diversas barras verticais representando controles de volumes.

Com as setas direita e esquerda, muda-se de controle de volume (microfone, fone de ouvido, alto-falantes... e beep).

Indo até o controle do "beep", pode-se deixar mais alto ou mais baixo. Para retirar completamente o som, deve-se pressionar M (M - maiúsculo, seja usando Shift ou Caps-Lock).

Pelo que percebi, o que o Amixer faz quando muda de [off] para [on], é completamente diferente do que Alsamixer faz com o volume, inclusive deixar mudo.

Para desativar, basta usar:

amixer -c 0 cset numid=19 0

E se aparecerem as seguintes linhas:
numid=19,iface=MIXER,name='Beep Playback Switch'
; type=BOOLEAN,access=rw------,values=2
: values=off,off

...Funcionou novamente.

O interessante é que eu testei antes e depois, usando:

# rmmod snd-pcsp

Ou:

# rmmod pcspkr

Conforme a necessidade, para retirar módulos de Speaker e em nada interferiu.

Obs.: O comando rmmod precisa de permissão de root.

Também testei as saídas de lsmod redirecionando-as para arquivos após cada reconfiguração, para ver se havia algo de diferente:

lsmod > arq1
$ lsmod > arq2
$ lsmod > arq3

(...) etc.

E depois, comparando de dois em dois:

diff arq1 arq2
$ diff arq1 arq 3

(...) etc.

Resultado: Sem diferenças perceptíveis. Tanto faz ter ou não, o módulo Speaker carregado. A máquina fez beep independente disto.

No momento desconheço este motivo.

Obs. 1: Todos os comandos foram executados por usuário comum. Exceto o rmmod.
Obs. 2: Serve tanto para colocar, como retirar som de beep, bem como outras configurações.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Instalando o MATE no Arch Linux

Detecção automática de impressora no Linux

Jogo: Teddy's Air Show

Instalando Discord no Linux Mint 18

Vundle - Gerenciador de plugins para o Vim

Ubuntu - Destacando Aba Ativa no Gnome-Terminal

CUPS reescreve o printers.conf adicionando AuthInfoRequired username,password

LightDM: personalizando e instalando o tema do Ubuntu no XUbuntu

Slackware Linux 12.2 com driver NVidia

Layout Teclado ABNT2 no Fedora 18 [Resolvido]

#1 Comentário enviado por jarlisson em 24/07/2012 - 20:50h
é necessário a existencia desses dois modulos?
foi só tu aumentar o volumo no alsamixer que tu passou a ouvir o beep?
#2 Comentário enviado por removido em 24/07/2012 - 22:45h
Eu fiz esse procedimento tanto com módulos ligados ao speaker carregados ou descarregados.

Eu descarreguei os módulos ditos estarem associados ao speaker.
Depois eu mexi nesse controle chamado beep.

O controle chamado beep no alsamixer pode estar no valor zero que ainda bipa.
Só não bipa se estiver mudo no alsamixer com o controle ativado no amixer.

Mudo fica se for pressionado M, que é obrigatoriamente maiúsculo, seja com shift ou caps-lock.
Se for desativado no amixer ele não bipa tanto com mudo, controle no zero, no máximo etc.

O que me chamou a atenção foi que por mais que mexesse em módulos de speaker nada dava certo.
E que essas modificações com alsamixer e amixer foram feitas sem root.

A ênfase nas explicações que são dadas sobre o uso do módulo do speaker são inúmeras e são as que geralmente dão certo.
Os módulos carregados aqui eram apenas coisas tipo intel, realtek, midi, hdmi.
Então eu considero estranho este módulo não influenciar.

Mas de qualquer forma o que fez diferença foi o controle no amixer.
Sem isso não houve bipe mesmo.

Falta verificar onde no mesmo lugar que um dos inúmeros parâmetros/valores enviados pelo ioctl() afeta (Programação C).
É ele quem manda sinal prá bipar em determinada frequência ou por determinado tempo.

Foi isso o que ocorreu.
Ou o que creio que ocorreu.

Lembrando que isso foi feito em notebook comum desses da praça.
Que no caso pode não depender mesmo deste módulo.
#3 Comentário enviado por jarlisson em 24/07/2012 - 23:35h
Nao funcionou no meu note...fucei aqui, e descobri que nao tenho snd-pcsp e pcspkr....pesquisar pra que servem.
#4 Comentário enviado por removido em 24/07/2012 - 23:54h
Isso seria o normal. Tenta carregar um deles ou procura no diretório /lib/modules/2.X.X.../kernel/ ... no diretório drivers ou sound.
Devem estar lá.
#5 Comentário enviado por removido em 26/07/2012 - 20:43h

[3] Comentário enviado por jarlisson em 24/07/2012 - 23:35h:

Nao funcionou no meu note...fucei aqui, e descobri que nao tenho snd-pcsp e pcspkr....pesquisar pra que servem.


Coloquei esses módulos em definitivo na lista negra e refiz todos os procedimentos.

Funcionou.

Se esse "beep" está dependente de algum módulo, certamente não são estes.

Tente mexer nos outros controles de "beep" do amixer. Devem ser pelo menos dois ou três no total.

Contribuir com comentário

Entre na sua conta para comentar.