Sometimes you come across a story that’s equally weird and delightful, and this is definitely one of them. Oleksandr Natalenko posted a link on Mastodon to a curious email sent to the Linux Kernel Mailing List, which apparently gets sent to the LKML every single year. The message is very straightforward.
Is it possible to write a kernel module which, when loaded, will blow the PC speaker?
↫ R.F. Burns on the LKML
Since this gets sent every year, it’s most likely some automated thing that’s more of a joke than a real request at this point. However, originally, there was a real historical reason behind the inquiry, as Schlemihl Schalmeier on Mastodon points out. They link to the original rationale behind the request, posted to the LKML after the request was first made, all the way back in 2007.
At the time, the author was helping a small school system manage a number of Linux workstations, and the students there were abusing the sound cards on those workstations for shenanigans. They addressed this by only allowing users with root privileges access to the sound devices. However, kids are smart, and they started abusing the PC speaker instead, and even unloading the PC speaker kernel module didn’t help because the kids found ways to abuse the PC speaker outside of the operating system (the BIOS maybe? I have no idea).
And so, the author notes, the school system wanted them to remove the PC speakers entirely, but this would be a very fiddly and time-consuming effort, since there were a lot of PCs, and of course, this would all have to be done on-site – unlike the earlier solutions which could all be done remotely.
So, the idea was raised about seeing if there was a way to blow the PC speaker by loading a kernel module. If so, a mass-deployment of a kernel module overnight would take care of the PC speaker problem once and for all.
↫ R.F. Burns on the LKML
So, that’s the original story behind the request. It’s honestly kind of ingenious, and it made me wonder if the author got a useful reply on the LKML, and if such a kernel module was ever created. The original thread didn’t seem particularly conclusive to me, and the later yearly instances of the request don’t seem to yield much either. It seems unlikely to me this is possible at all.
Regardless, this is a very weird bit of Linux kernel lore, and I’d love to know if there’s more going on. Various parts of the original rationale seem dubious to me, such as the handwavy thing about abusing the PC speaker outside of the operating system, and what does “abusing” the PC speaker even mean in the first place?
As Natalenko notes, it seems there’s more to this story, and I’d love to find out what it is.
Anyone doing research about this for a following article?
Back in the 90’s there were myths and legends floating around about people setting their CRT monitors to the wrong frequency and blowing up the monitors in their own faces and killing themselves, or spinning a CD too fast and having it blow up and injure or kill the user.
Some of these things are myths and some of these things are different defective hardware.
andyprough
https://www.reddit.com/r/crtgaming/comments/17czqgs/comment/k5u3gr9/
I have never found CRT monitor in fact exploding in a user threatening way.from incorrect signal but particular monitors would turn into bricks as the driving circuity leaves the building. Flyback transformer failing in a CRT can make one hell of a noise in the process.(Very contained loud noise source) so user needing clean pair of pants but not in any danger of being harmed any more than that. Most CRT monitors and tv have protection circuits against this but these protection circuits can fail due to old age. CRT wrong frequency causing CRT monitor not to work any more without repairs is a real thing but modern CRT monitors(anything newer than 1994 using the sony patented protection circuit) for this to happen protection circuit was already dead and other parts were also on the way out. By the way this is something sony gave to their competitors for free.(sony this is insanely rare thing mostly because of sony VCR breaking other makes TVs)
This is the same with exploding PC speaker that only happens if the little capacitor protection circuit is missing or faulty. Yes the time of defective capacitors on motherboards there were some PC speakers that did not make it as well.
CD spinning to fast for disc specifications/condition and injure user kind of did happen. This was normally the non tray time CD drives and poor quality CD material cracking over time. A few people did lose their vision due to fragment of cd coming out of drive when it shatters because human lines up eye to look into drive while drive making horrible noise due to CD cracking and coming miss balanced in the drive…. (yes kind of Darwin award here).
andyprough the kill user is what you call embellishment for the CD and Monitor case done by IT support people to try to get users not to be id10t themselves. Tell user that the monitor will just cease to function with wrong signal someone is likely to take this as instructions to go try the monitor on different things until they break it. Tell them that it will kill them if they break it they are unlikely to try.
Yes the CD in drive failing injuring user in eye/hand/….is a real thing no recorded kills. But it limited to the slot style cd dives. CRT due to wrong freq so failing making a huge noise causing user to need a clean pair of pants is also a real thing. No direct injury and no recorded deaths either.
Fun one I burnt out a PC speaker when I was using PC speaker to generate resonant frequency of particular computer cases to cause the computer rubber feet to no longer stick to the desk so allowing the computer case to slide like it was air hockey puck. Yes frequency also vibrated the protection capacitor straight off the motherboard. I don’t recommend this as good computer treatment.
R. F. Burns with this question appears on the Linux kernel mailing list about every 5 to 10 years.
I had a CD break in the drive while spinning. Thankfully all the bits stayed inside the closed tray. But if there had been even a small gap im sure some very sharp bits would have been life changing if they made contact.
Not all of them are mythology
https://arstechnica.com/gadgets/2022/08/janet-jacksons-rhythm-nation-is-officially-a-security-threat-for-some-old-laptops/
To be correct there mythology here. Myths are allowed to contain a grain of truth and still be a myth.
Lot of what are called IT myths there is a grain of truth there. Like the exposing CRTs being CRTs that make a huge noise then stop functioning instead of in fact exploding.
Some of the what people call IT myths are lost details.
https://www.youtube.com/watch?v=eum8gCKNrJk
Like a failing CD is classed as exploding. This can be taken blowing up. Older and more damaged the CD the lower the spin speed it need to fail. So spinning too fast for the structural integrity of the CD.
“””spinning a CD too fast and having it blow up
This is correct for when a CD shatters in a CD player just missing details. Question is does it remain contained or does it come flying out at user. So some CD might be find in a 2x CD player but due to age and weaken plastic in a 16x cd player die instantly. CD draws make sense when handling old CD discs.
Yes people think of the video above where you need 30000 rpm to bust a brand new CD/dvd disc. That not the case for 20 year old disc you have pulled out of archives.
I hope i don’t need to explain the joke, but RF burns are something you get from being too close to a transmitter
The name is clearly a joke name, like IP Freely, or Robin Bankes.
The max power you could dissipate into a PC speaker is about 3.125@5VDC… but that is assuming the transistor driving it can even do that, most are driven by something like an op amp that would not have that much drive current.
They typically can only drive .25-1W of power… so its very very unlikely you’d be able to blow a PC speaker with merely a kernel driver unless its a super crappy one. Even many piezo speakers are rated to 12V…. with a square wave so it seems super unlikely.
There is also the fact that peizo speakers are essentially capacitors… so after its charged up with DC… the current goes to zero. And it doesn’t fail unless you somehow drive the voltage higher not possible in a PC.
PC speakers with magnets are a little different and you could break then with a large enough DC voltage…. but those are also typically a bit more robust than piezo so its again very unlikely given the driving hardware in consideration.
“””The max power you could dissipate into a PC speaker is about 3.125@5VDC… but that is assuming the transistor driving it can even do that, most are driven by something like an op amp that would not have that much drive current.
Again this is going into older hardware. The machines I was able to blow speakers on where XT clones. I have seen examples in 286 and 386s. They are all using way more aggressive speaker drive circuit so the PC speaker is higher volume for use in class rooms and high noise workplaces yes when hearing PC beep was important. That hardware has over drive protection capacitors so you don’t break the speaker.
I am not sure if any hardware Linux currently supports would have this kind of highly aggressive pc speaker driver. Yes these old systems were not using piezo speakers.
cb88 basically there is some historic truth to a PC speaker driver being able to blow a PC speaker. but it requires the hardware to driving the speaker very hard and the protection in that driver hardware failing. This is not something that you can do only just any PC.
You are right is not just a mere kernel driver. Also something to remember when you get outside PCs I have some Unix keyboards that run on 12 volt and the PC speaker in those old historic workstations(yes non x86) also run on 12volt these are also piezo speakers and one of the symptoms is the piezo speaker stops beeping on boot up because it dead because the power-supply is failing and is now putting out 13-14 volts instead of the 12 it mean to be.
Yes is it possible for a PC speaker driver software to send a signal speaker and at that exact moment it dies this is possible. But you very much depending on the PC speaker driver circuit to be aggressive design that design to get max volume out of the poor PC speaker that has gone defective. I have never seen a 486 and newer with this highly aggressive pc speaker circuit. Linux kernel does not support 386 platforms any more.
There are some old workstation platforms Linux still supports that could have a PC speaker you could bust but these are 12 volt driven peizo and that speaker dieing is sign of very much larger system power supply problems. Basically the PC speaker stop in those workstations is a day or so of usage past that and many other things in the system breaks due to wrong system voltages. So I don’t think you would be exactly worried about the broken peizo speaker.
Yes but the question was could you do this with a Linux kernel model and the answer is … pretty much no. By the time computers could run Linux the PC speaker was already a vestigial thing use for error code beeps not capable of blow itself up.
Linux doesn’t really run on anything older than a 386.. and the instances you were referring to were XT class machines which are significantly older. I would not be supprised too much if a 386 class machine did have a sketchy pc speaker amp but it probably is not the rule at all, and most 386 machines would have proper audio output not requiring PC speaker.
https://github.com/torvalds/linux/blob/master/sound/drivers/pcsp/pcsp.c
cb88 this exists in the Linux kernel because not all 386 and 486 machines had sound cards. PC speaker stop gap. Yes items like pcsp driver in the Linux kernel works better with the sketchy pc speaker amp designs that are driving the speaker close to it limits.
Its year 2001 when you see it common for motherboards always to have a sound card. Yes 1991 when Linux starts sound cards being in every PC computer was not common but PC speaker was always there. CPU software emulating a dac and using a PC speaker is a 1990s and before thing.
I have personally seen the sketchy pc speaker amp designs on 386 motherboard with a 486sx chip in there so board is able to run modern Linux. I have this in my notes when I checked.
So I have only seen this questionable amps on 386 and older motherboards. I have not seen this on 486 and newer motherboards. The day Linux kernel finally removed i486 support then the problem will no longer be possible with the Linux kernel from seen because the newer motherboards ie 486 and newer that you can put i586 and new CPU on don’t have the sketchy drive PC speaker close to limits setup. Yes driving the speaker this hard was also over the long term not good for the speaker let alone if the circuit malfunctions in anyway.
Basically this is old hardware problem. Not all 386 motherboards had the sketchy PC speaker driver these are motherboard mostly intended for industrial usage/high noise environments.
I very much doubt you did. The PC speaker is driven only by the PIT, and you cannot instruct the PIT to blow up the speaker (it just toggles it on and off).
Sorry, that’s a reply to “The machines I was able to blow speakers on where XT clones.”
cb88,
I also do not think it’s very likely. The speaker would take all the current that the circuit could provide unless there was some kind of abnormal fault or hardware mod, but these don’t apply to the “use case” in the article.
I’ve played around with the PC speakers to output wave files by essentially programming the controller to drive it as an on/off pin with CPU controlled pulses. Sort of like a DIY D/A converter. The output was very quiet, but you could get the PC speaker to play arbitrary audio. If I recall correctly, some fairlight demos from the PC demo scene did this. Does anyone remember if Alone In The Dark did this to play very short audio clips?
Back in the Windows 3.1 days we used an app called Wired for Sound that among other features allowed output via PC Speaker. So yes, it’s possible to essentially get it to output any arbitrary audio, if in really crappy quality.
https://github.com/torvalds/linux/blob/master/sound/drivers/pcsp/pcsp.c
MODULE_PARM_DESC(nopcm, “Disable PC-Speaker PCM sound. Only beeps remain.”);
Yes it a Linux kernel feature to be able to output audio by the PC speaker that the PCM sound bit. CPU emulating D/A is included in the Linux kernel.
“””The output was very quiet, but you could get the PC speaker to play arbitrary audio.
Some 386s this was not quiet with CPU D/A to PC speaker. These are also the motherboard with the more questionable amp designs. I have not seen those amp designs on anything newer than 386 motherboards.
On piezo speakers it was, almost non-audible. But the good old magnet speakers did a very decent job, and the sound was quite audible.