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.