[ltp] Q: Loud system beep

Richard Neill linux-thinkpad@linux-thinkpad.org
Sun, 15 Apr 2007 00:13:05 +0100


Paul Fox wrote:
> richard wrote:
>  > 
>  > Henrik Enberg wrote:
>  > > "Alexey I. Froloff" <raorn@cnt.ru> writes:
>  > >> System beep (PC speaker emulation) is too loud on my X41,
>  ...
>  > 
>  > Are you talking about:
>  > 
>  > a)The "real" pc speaker, (pcspkr), which never actually exists as a 
>  > separate speaker on a thinkpad, but has its own channel in the soundcard,
>  > 
>  > or
>  > 
>  > b)pc speaker emulation, caused eg by KDE system notification.
>  > 
>  > In the former case, you should have a separate mixer device for it; you 
>  > can also make it quieter by making it *shorter*. Use xset.
> 
> i'm not the OP, but in my case, the beeps that are Way Too Loud
> are the ones that tell you the power adapter's been plugged in
> or unplugged.  it's not clear to me that xset, or a sound mixer,
> will help for those.  (i'm not near my laptop, so i can't really
> try it.)  for instance, an X11 setting certainly won't help if i'm
> not logged in.  but i'll look for a mixer setting.
> 

Those come right out of the BIOS - and I don't think anything would 
help. You can turn down the master volume (with the volume buttons), but 
that's about it - unless there's a BIOS setting for the volume?

Note: you can probably control the hardware volume using 
/proc/acpi/ibm/volume, and you can trigger the beeps with 
/proc/acpi/ibm/beep. Whether you can do anything to lower the volume, I 
don't know. Perhaps a script could respond to an acpi event fast enough 
to lower the volume of a beep as it happens?

For example:

echo 2 > /proc/acpi/ibm/beep ; echo level 1 > /proc/acpi/ibm/volume ; 
sleep 0.5; echo level 15 > /proc/acpi/ibm/volume

On my T60p, this causes several beeps, of which two are quiet, and the 
3rd is much louder.  Whether you could make this react fast enough to 
acpi events, I don't know.


Richard