[RESPONDED] Motherboard capable of beeping

Hello all,

I hope thie Framework laptop is capable of beeping whenever an application asks for the PC Speaker, which is a traditional component available on most desktops. Some laptops are able to beep through the integrated soundcard, but it appears to depend on how the manufacturer implements the feature. It is usefull to help e.g. blind and low vision people who wants to dual boot their machine; they can make use of a grub Play command to issue a beep when the menu to choose an OS appears.

One way to check whether the machine beeps is loading the CONFIG_INPUT_PCSPKR Linux kernel module, then typing the shell command “tput bel”.

One might also download a Linux distro such as Slint, which beeps as soon as it boots:
http://slackware.uk/slint/x86_64/slint-14.2.1/iso/slint64-14.2.1.4.iso

Greetings.

3 Likes

Yep, we do support mainboard beep through the integrated speakers.

4 Likes

Anyone know how to make it work in Linux? No matter what I try, I get no beep.

1 Like

My integrated speakers are not producing beep in ubuntu 20.04 and in GNU GRUB. The only thing I can hear was a pop noise from the speaker. I have pcspkr enabled.

2 Likes

As an experienced novice, I too am interested in the beep cmd code . . . I believe it goes in the boot grub file, but how?

I’m interested in further answers from the Framework team.

When we’re asking about “beeping”, we mean specifically that we want to beep through the PC Speaker interface (in Linux, located at /dev/input/by-path/platform-pcspkr- event-spkr) which ideally you’d be able to set to 1/0 using tee to continually turn on and off the speaker interface.
This enables square sign waves using PWM.

Although it seems Framework does expose this interface when the pcspkr module is enabled, snd-hda-intel’s beep_mode=1, and udev rules are set correctly, attempting to use the speaker interface produces “pops” and “cracks”, not square waves like it’s supposed to.

So it “works” but does not produce the expected behavior. Niether the beep command, nor GRUB_INIT_TUNE setting, nor the beep_evdev or pc-beeper Rust libraries are able to produce sound through the PC speaker interface; all of them produce pops and cracks. Is it possible that this interface is simply not supported?

If it is not, is there any known way to create a driver for such a system such that a PC speaker interface could be used? It would be great for UEFI beeps to indicate boot option, or entering a boot menu for the blind (a project I’m currently working on). If all else fails, I assume we could use Intel HD audio instead?

The “we support beeps through the internal speaker” is either somewhat misleading, or my setup is borked.

1 Like

I can’t the PC speaker device to work in Linux either.

Steps to reproduce:

  1. Boot to runlevel 3
  2. Start vi
  3. Press ESC in command mode

Alternative steps to reproduce:

  1. Boot to runlevel 5
  2. Open terminal emulator
  3. Enter command echo -e "\a"

Expected behaviour:

  • Hear PC speaker beeping on each press of ESC

Acutal behaviour:

  • No PC speaker beep is heard

System configuration:
AMD 7640U Framework 13
Fedora 39

Output of lsmod:

02:58:09 xxxx@fedora ~ → lsmod | grep pcspkr
pcspkr                 12288  0

@Matt_Hartley could you follow up on this report that the PCSPKR device doesn’t seem to be working properly in Linux? Nirav said it is supposed to be supported.

Spent some time working to repro this with the beep command, also running beep --debug on Fedora. Doesn’t look like it’s playing ball. Go ahead and open a ticket linking to this thread. I may need to get this in front of the engineering team to better understand if we need to file a bug report or if this is a BIOS consideration.

2 Likes