Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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

10 views
Skip to first unread message

jid...@jidanni.org

unread,
Sep 2, 2009, 9:40:06 PM9/2/09
to
reopen 540831
forcemerge 540831 544496
thanks
Blacklisting pcspkr ruins beep(1), and icewm' mail beep, and probably
other programs.

There should perhaps be a whiptail question saying what is being ruined
and what to do about it.

I don't know the official way one should fix it.

I could tamper with some blacklist, but that is not official.

--
To UNSUBSCRIBE, email to debian-bugs-...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Josh Triplett

unread,
Sep 2, 2009, 10:30:09 PM9/2/09
to
On Thu, Sep 03, 2009 at 09:23:25AM +0800, jid...@jidanni.org wrote:
> Blacklisting pcspkr ruins beep(1), and icewm' mail beep, and probably
> other programs.
>
> There should perhaps be a whiptail question saying what is being ruined
> and what to do about it.
>
> I don't know the official way one should fix it.
>
> I could tamper with some blacklist, but that is not official.

This primarily seems like a bug in whatever alsa driver you use, for not
taking over the function of the console beep (and thus routing it
through the normal sound card, which allows muting, volume control, and
various other niceties that pcspkr doesn't).

If you don't use an alsa driver, then uninstall alsa-base and the
blacklist of pcspkr will go away.

And if you want to keep alsa-base installed and still have pcspkr, just
edit /etc/modprobe.d/alsa-base-blacklist.conf and comment the "blacklist
pcspkr" line.

- Josh Triplett

jid...@jidanni.org

unread,
Sep 3, 2009, 1:10:04 AM9/3/09
to
>>>>> "JT" == Josh Triplett <jo...@joshtriplett.org> writes:

JT> This primarily seems like a bug in whatever alsa driver you use, for not
JT> taking over the function of the console beep (and thus routing it
JT> through the normal sound card, which allows muting, volume control, and
JT> various other niceties that pcspkr doesn't).

Please tell me how to find out what package to reassign this bug to
then. Thanks.
$ aptitude search ~i~nalsa
i A alsa-base
i alsa-utils
# lsmod|grep snd|perl -alwne 'print $F[0]'

Gerfried Fuchs

unread,
Sep 3, 2009, 2:50:06 AM9/3/09
to
Hi!

Thanks to jidanni to bringing this to my attention.

* Josh Triplett <jo...@joshtriplett.org> [2009-09-03 04:15:52 CEST]:


> On Thu, Sep 03, 2009 at 09:23:25AM +0800, jid...@jidanni.org wrote:
> > Blacklisting pcspkr ruins beep(1), and icewm' mail beep, and probably
> > other programs.
> >
> > There should perhaps be a whiptail question saying what is being ruined
> > and what to do about it.
> >
> > I don't know the official way one should fix it.
> >
> > I could tamper with some blacklist, but that is not official.
>
> This primarily seems like a bug in whatever alsa driver you use, for not
> taking over the function of the console beep (and thus routing it
> through the normal sound card, which allows muting, volume control, and
> various other niceties that pcspkr doesn't).

The core functionality of beep _is_ to use the pcspkr. Having alsa-base
stumble upon other packages usefulness with some reasoning that I have a
hard time to follow -- the intention is clear but the outcome is a
horror to quite some other packages -- I really would request to revert
this change. Having some alsa drivers routing it through their own sound
system might be nice but it doesn't seem to work, e.g. people on powerpc
seem to have problems to get any beep at all, and blacklisting the
modules in no way helps with that.

> If you don't use an alsa driver, then uninstall alsa-base and the
> blacklist of pcspkr will go away.

Sorry, but alsa-base breaks other application through that
blacklisting, which is a no-go.

> And if you want to keep alsa-base installed and still have pcspkr, just
> edit /etc/modprobe.d/alsa-base-blacklist.conf and comment the "blacklist
> pcspkr" line.

Why is this forced down the throat of users? How regular actually is
the question on how to disable the speaker? In fact, the speaker IMHO is
in no scope of the alsa-base area so it shouldn't address it. Having
some README.Debian entry about it might be reasonable, touching an area
that isn't alsa-bases is just wrong.

Thanks,
Rhonda

Gerfried Fuchs

unread,
Sep 3, 2009, 4:30:18 AM9/3/09
to
* Josh Triplett <jo...@joshtriplett.org> [2009-09-03 09:21:31 CEST]:
> OK, for the sake of argument, I just ran a Google search for "pcspkr".
> First page of ten results:

You should be aware that this is extremely biased because it is enabled
by default and there is an easy way to disable it, most of these threads
already do directly have the term "blacklist" in them. A pretty weak
argumentation line, if you ask me ...

> And that just came from the first page of Google search results.
> ~8.5/10 pages wanting pcspkr to go away. Oh, and the "Searches related
> to: pcspkr" at the bottom? "blacklist pcspkr", "rmmod pcspkr", "disable
> pcspkr"...

Some others might want to have other things go away that are enabled by
default. Blacklisting it though does mean that it gets pretty hard for
those who would like to find out why something that has been right from
the start and is thus just expected to be there to find out why it's not
there anymore and how to get it working again.

What I rather wonder than people searching for a way to disable or
blacklist it is wether other distributions do blacklist it by default,
too? And for a start a convenient and easy way to tell alsa-base to
*not* blacklist it. Editing the config file might sound reasonable at
first sight, but thinking along more deeper it would nag one on every
upgrade, especially when the list of other modules in the file changes.
A single file that one could simply "rm" (or, in the first place,
possibly only add through some debconf question?) that would be much
more convenient.

> Between that and my original bug report, if I haven't yet demonstrated
> the existence of a problem, I don't know what will.

You haven't demonstrated the existence of a problem at all, you
demonstrated that people are diverse and some doesn't like the pc
speaker. If you would like to call something a problem then it might pin
down to having a well documented and convenient way to disable it,
nothing more. Blacklisting the module is just as much of a problem.

> As for why this relates to ALSA: because the sound driver should
> take over (or otherwise manage) the function of the console beep. I
> suppose it could appear in linux-sound-base instead, since it doesn't
> seem ALSA-specific.

That's exactly my point, there is nothing alsa specific about the pc
speaker at all, so it's a violation of scope, IMNSHO.

> I sympathize with jidanni's concerns. The console beep not working at
> all seems like a bug.

.. and it's not only Jidanni's, claiming so seems to try to belittle
the issue at hand to a personal one, which it isn't.


> pcspkr getting loaded at all *also* seems like a bug. (Or, if you
> prefer, pcspkr getting loaded in the absence of a sound card
> represents a bug.)

I highly like to differ here, it's two different systems and having
them both working seperately isn't something that I would call a bug,
never ever, and I am extremely puzzled why you would want to call that
brokenness. It is *not* broken to have it that way. Never was, never
will.

So long,

Elimar Riesebieter

unread,
Sep 3, 2009, 7:00:11 AM9/3/09
to
* jid...@jidanni.org [090903 09:23 +0800]

> reopen 540831
> forcemerge 540831 544496

Jidanni, in #544496 you mentioned a "ruined" sound. Can you hear
music? Do you mean that only your beep has gone? Well in that case I
propose to reanable pcspkr and reassign 540831 to linux-latest-2.6.

> thanks
> Blacklisting pcspkr ruins beep(1), and icewm' mail beep, and probably
> other programs.
>
> There should perhaps be a whiptail question saying what is being ruined
> and what to do about it.

As mentioned by others in this thread you should check your sound
card for the ability to simulate a terminal beep, what most drivers
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?

Anyway, it is not a question of Debians alsa-base. If one build
pcspkr from our alsa-source package (s)he knows what (s)he is doing.
Removing the blacklisting of pcspkr from alsa-base is consistent in
that case. Will be done next upload.

>
> I don't know the official way one should fix it.
>
> I could tamper with some blacklist, but that is not official.

There is a note in /etc/modprobe.d/alsa-base-blacklist.conf.

Elimar


--
Ersatz des Zufalls durch den Irrtum.
-unknown-

Justin B Rye

unread,
Sep 3, 2009, 9:40:12 AM9/3/09
to
Elimar Riesebieter wrote:
> As mentioned by others in this thread you should check your sound
> card for the ability to simulate a terminal beep, what most drivers
> do. Mailnotification and system sounds can also be handled by your
> soundcard, though. [...]

A working soundcard isn't enough to guarantee that the speakers are
usable for mail-notification beeps. I might have fancy externally
powered speakers that I turn off when not in use. I might listen to
all my music via tinny little headphones. I might use the soundcard
only for recording. Or I might have a soundcard that isn't
appropriately configured yet. Where is the documentation on how I'd
go about reconfiguring it?

Thanks for reverting this change.
--
JBR
Ankh kak! (Ancient Egyptian blessing)

Josh Triplett

unread,
Sep 3, 2009, 11:40:07 AM9/3/09
to
On Thu, Sep 03, 2009 at 10:15:49AM +0200, Gerfried Fuchs wrote:
> * Josh Triplett <jo...@joshtriplett.org> [2009-09-03 09:21:31 CEST]:
> > OK, for the sake of argument, I just ran a Google search for "pcspkr".
> > First page of ten results:
>
> You should be aware that this is extremely biased because it is enabled
> by default and there is an easy way to disable it, most of these threads
> already do directly have the term "blacklist" in them. A pretty weak
> argumentation line, if you ask me ...

Granted. If it defaulted to disabled, perhaps all the results would
explain how to enable it. :)

Nevertheless, you asked "How regular actually is the question on how to
disable the speaker?", and I attempted to answer. The results I gave
represent a pretty representative sample of the numerous cases I've seen
of people complaining about the pcspkr, wanting to turn it off, and
getting bad impressions of Linux specifically because of the harsh
beeping.

Note, by the way, that other (non-Linux) operating systems stopped using
the beep a long time ago, hence those bad impressions.

> > And that just came from the first page of Google search results.
> > ~8.5/10 pages wanting pcspkr to go away. Oh, and the "Searches related
> > to: pcspkr" at the bottom? "blacklist pcspkr", "rmmod pcspkr", "disable
> > pcspkr"...
>
> Some others might want to have other things go away that are enabled by
> default. Blacklisting it though does mean that it gets pretty hard for
> those who would like to find out why something that has been right from
> the start and is thus just expected to be there to find out why it's not
> there anymore and how to get it working again.

I would also point out that it takes a non-trivial amount of effort to
figure out how to disable the beeping, if you don't know what causes it.
I've had more than one person complain to me in person about the
beeping, which they'd put up with for a long time since they didn't know
how to disable it.

> What I rather wonder than people searching for a way to disable or
> blacklist it is wether other distributions do blacklist it by default,
> too? And for a start a convenient and easy way to tell alsa-base to
> *not* blacklist it. Editing the config file might sound reasonable at
> first sight, but thinking along more deeper it would nag one on every
> upgrade, especially when the list of other modules in the file changes.
> A single file that one could simply "rm" (or, in the first place,
> possibly only add through some debconf question?) that would be much
> more convenient.

Granted. (Though, adding Yet Another debconf question for a simple
issue like this seems like a bad idea.)

> > Between that and my original bug report, if I haven't yet demonstrated
> > the existence of a problem, I don't know what will.
>
> You haven't demonstrated the existence of a problem at all, you
> demonstrated that people are diverse and some doesn't like the pc
> speaker. If you would like to call something a problem then it might pin
> down to having a well documented and convenient way to disable it,
> nothing more. Blacklisting the module is just as much of a problem.

"don't like" is an understatement. I don't object to the console bell;
I object to implementing it via a loud beep that I can't mute, turn
down, or otherwise control via the normal volume control on my desktop.
To phrase the bug a few other ways:
"Muting sound doesn't disable beeping"
"Loud beep by default; unacceptable for shared work environments (work, school)"

Do those not sound like bugs?

Also consider the perspective of the average user, annoyed by the
computer generating sound despite them specifically telling it to *not*
generate sound.

It doesn't help that numerous programs seem to find it acceptable to
use the console beep rather than some more sensible sound cue.

> > As for why this relates to ALSA: because the sound driver should
> > take over (or otherwise manage) the function of the console beep. I
> > suppose it could appear in linux-sound-base instead, since it doesn't
> > seem ALSA-specific.
>
> That's exactly my point, there is nothing alsa specific about the pc
> speaker at all, so it's a violation of scope, IMNSHO.
>
> > I sympathize with jidanni's concerns. The console beep not working at
> > all seems like a bug.
>
> .. and it's not only Jidanni's, claiming so seems to try to belittle
> the issue at hand to a personal one, which it isn't.

"concerns raised by", if you prefer. I certainly didn't intend to imply
that others did not share those concerns; I just needed some identifier
with which to refer to them.

> > pcspkr getting loaded at all *also* seems like a bug. (Or, if you
> > prefer, pcspkr getting loaded in the absence of a sound card
> > represents a bug.)
>
> I highly like to differ here, it's two different systems and having
> them both working seperately isn't something that I would call a bug,
> never ever, and I am extremely puzzled why you would want to call that
> brokenness. It is *not* broken to have it that way. Never was, never
> will.

I disagree. Consider that ALSA blacklists the OSS modules. You could
argue that both subsystems ought to work (modulo both wanting to talk to
the same sound card). However, ALSA replaces the functionality of OSS,
does so in an (arguably) better way, and provides compatibility with
OSS. Similarly, ALSA (often, though apparently not always) provides the
functionality of pcspkr, does so in an (arguably) better way, and
(often, though apparently not always) provides compatibility with
pcspkr.

- Josh Triplett

Elimar Riesebieter

unread,
Sep 4, 2009, 10:30:08 AM9/4/09
to
unmerge 540831
reassign 540831 linux-latest-2.6
tags 544496 + pending
thx


* Elimar Riesebieter [090903 12:30 +0200]

#544496 will be fixed in 1.0.21 upload.

Elimar


--
Never make anything simple and efficient when a way
can be found to make it complex and wonderful ;-)

jid...@jidanni.org

unread,
Sep 4, 2009, 5:30:12 PM9/4/09
to
! Jidanni, in #544496 you mentioned a "ruined" sound. Can you hear
! music? Do you mean that only your beep has gone? Well in that case I
Yes, mplayer not affected by this bug, only beep and icewm mail beep
! propose to reanable pcspkr and reassign 540831 to linux-latest-2.6.

| 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.
| 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.
| 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.
|(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

! 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.

! 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.

! Anyway, it is not a question of Debians alsa-base. If one build
! pcspkr from our alsa-source package (s)he knows what (s)he is doing.
! Removing the blacklisting of pcspkr from alsa-base is consistent in
! that case. Will be done next upload.

All I know is it used to beep when mail arrived...

> #544496 will be fixed in 1.0.21 upload.

Well, OK, thanks everybody. Be sure to Cc: me if needed as I suppose
soon again things will worksforme.

Josh Triplett

unread,
Sep 5, 2009, 3:50:07 AM9/5/09
to
On Sat, Sep 05, 2009 at 05:13:42AM +0800, jid...@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

jid...@jidanni.org

unread,
Sep 5, 2009, 8:40:07 AM9/5/09
to
>>>>> "JT" == Josh Triplett <jo...@joshtriplett.org> writes:
Indeed, after doing
# modprobe snd-pcsp #enables beep(1)
# alsamixer -c 2 #first time I ever tried -c
And changing
Simple mixer control 'PC Speaker',0
Mono: Playback [on]
to [off], beep stopped beeping. So I apparently have the organs, but I would
rather retain my virginity at this time.
JT> This appears whether or not I have pcspkr loaded. Notice how I can mute
JT> it or adjust its volume; this actually works.
All I can do is mute it.

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

I would rather someone reassign some bug there, as most of this is over
my head.

JT> ...However, you almost certainly wouldn't want to use that as the
JT> primary sound card unless you had no other sound card.

Anyway, all I want to do is do the official way of "being able to enjoy
music, and also being beeped about email, even if it spoils the mood".

This should not involve editing any files. At the most it should be a
configuration question:
[x]I want to be able to enjoy music, and also be beeped about email, even if it spoils the mood.
[ ]I want to be able to enjoy music, and never hear those goofy beeps.
[ ]I want to...

0 new messages