[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#540831: blacklisting pcspkr ruins beep(1), and icewm' mail beep



On Sat, Sep 05, 2009 at 05:13:42AM +0800, jidanni@jidanni.org wrote:
> | jidanni, a few questions about your lack of a console beep:
> Yes must insert modules to get beep(1) to work.
> diff(1) shows amixer output is not affected by module insertion.
> Left most control in alsamixer affects mplayer, but not beep(1).
> Only Thinkpad special buttons affect beep(1) volume.
> mplayer unaffected by this Bug#540831. alsamixer too complicated for worried me to
> fiddle with. Send me a shell script to run if you need exact output.
> $ amixer info
> Card default 'I82801DBICH4'/'Intel 82801DB-ICH4 with AD1981B at irq 11'
>   Mixer name    : 'Analog Devices AD1981B'
>   Components    : 'AC97a:41445374'
>   Controls      : 28
>   Simple ctrls  : 20
> Tell me if you want the whole amixer output.

>From one of my systems:

josh@whisper:~$ amixer
[...snip other controls...]
Simple mixer control 'PC Beep',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 3
  Mono: Playback 0 [0%] [-18.00dB] [off]
[...snip other controls...]

This appears whether or not I have pcspkr loaded.  Notice how I can mute
it or adjust its volume; this actually works.

> |  Does "modprobe -r pcspkr" make the console beep stop working again?
> yes
> |- Does "modprobe snd-pcsp" make the console beep work again?  Does the
> yes
> |  ALSA mixer let you control it, and in particular mute and unmute it?
> no, "m" on leftmost item mutes mplayer, but not beep.

snd-pcsp appears as a separate sound card.  You may need to do
"amixer -c 1" or "alsamixer -c 1" to see it.  If you do that, you should
see mute/unmute controls for the PC speaker.  Do they work?

> |  Does commenting out the "blacklist snd-pcsp" in
> |  alsa-base-blacklist.conf make the console beep work after you boot
> |  your system?  Does snd-pcsp properly come up as the second sound
> |  card, not the first?
> I would rather not edit files or reboot at this point.

Fair enough.

> |(And to answer the question in your other mail, if your ALSA driver does
> |not support the console beep, that *seems* like a bug in the ALSA
> |driver; you should report that against the linux-image-2.6.foo package
> |for your kernel if you use the stock kernel with its built-in ALSA
> |drivers, or against alsa-driver if you build ALSA drivers from the
> |alsa-source package.)
> All I know is I use
> $ apt-cache policy linux-image-2.6.30-1-686 ... Installed: 2.6.30-6

OK, then you most likely use the drivers from that.  You could report a
bug against that linux-image package, complaining that your sound card's
driver should support the terminal bell.

> ! As mentioned by others in this thread you should check your sound
> ! card for the ability to simulate a terminal beep, what most drivers
> 
> I do not know how to check my soundcard.

Does "amixer" list any controls like "PC Beep" or "PC Speaker"?

> ! do. Mailnotification and system sounds can also be handled by your
> ! soundcard, though. But if you use your internal speaker (maybe a
> ! piezo one?) for all your sound, then you really need pcspkr, which
> ! is proposed to use on embedded sytems by the kernel maintainers. Are
> ! you using such one?
> 
> I use IBM Thinkpad r50e.

I *think* that question meant "do you have a sound card other than the
PC Speaker".  Judging by the output above and by this information on
which laptop you use, yes, you have a sound card other than the PC
Speaker.  ALSA has a module "snd-pcsp", which makes the PC Speaker work
as much as possible like a sound card, including playing arbitrary mono
audio.  However, you almost certainly wouldn't want to use that as the
primary sound card unless you had no other sound card.

- Josh Triplett



Reply to: