Comment 5 for bug 486154

Revision history for this message
Grondr (grondr) wrote :

Ah, and my comment above about reboot---I just tried "shutdown -r 3" from the LiveCD, and -that- beeped the speaker! "echo foo | wall" also beeps.

I rebooted the normal 64-bit system and noticed that "echo foo | wall" didn't beep the system bell. (Although I was also ssh'ed in from elsewhere and -that- machine's bell beeped when wall emitted the message.) If I did the rmmod/modprobe trick, -then- "echo foo | wall" beeped both bells (the system bell of the machine running Karmic, and the system bell of the other machine that was ssh'ed into it).

So clearly the rmmod/modprobe workaround -is- doing something. But not enough---still no bell in single-user mode, even if X has never run, or in X, from Emacs, or bash, etc. --BUT---:

I've discovered that if I do rmmod/modprobe on a fresh boot (now back to experimenting on my normal 64-bit boot, not the LiveCD), no beep, If I do "echo foo | wall", that beeps, though only -after- the rmmod/modprobe (it won't beep if I do it on a freshly-booted system that has only loaded pcspkr once). And -THEN-, rubout at bash beeps, as does ^g in Emacs, BUT ONLY outside of X. This works whether I've booted single-user or if I've done C-A-F1 to get a non-X shell and logged into that.

I've also tried "service gdm stop; service gdm start" and that hasn't helped. (I figured the wall is obviously initializing -something-, but restarting gdm after that doesn't help.) I made sure to do "xset b 100" before these tests, since every time gdm comes up, it's apparently setting the bell volume to zero ("xset q" reads bell volume 0% unless I reset it)---where is gdm doing this?

So I'm obviously starting to pry this problem open a bit---I can get beeping outside of X (both via rubout at an empty bash command prompt, or in an X-less Emacs) iff and only if I (a) rmmod/modprobe pcspkr, and then -after- that, do something that causes beeping (like "echo foo | wall'; haven't retried doing something like "shutdown -r 3; shutdown -c" but I'm betting that would work too). But inside of X, still no dice, even after I can get beeping reestablished outside of X, so I'm not all the way there yet.