spkr-beep / beep

beep is a command line tool for linux that beeps the PC speaker

Home Page:https://github.com/spkr-beep/beep

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

no sound in debian 10 on thinkpad t440p with pulseaudio

thewh1teagle opened this issue · comments

I installed beep

sudo apt-get install beep

and run it like that

beep

not sound, no errors.

this is the output of beep --debug

[user@deb beep] $ beep --debug
beep: Verbose: beep_drivers_register 0x5583d70fa600 (console)
beep: Verbose: beep_drivers_register 0x5583d70fa660 (evdev)
beep: Verbose: evdev driver_detect 0x5583d70fa660 (nil)
beep: Verbose: b-lib: opened /dev/input/by-path/platform-pcspkr-event-spkr as 3
beep: Verbose: beep: using driver 0x5583d70fa660 (name=evdev, fd=3, dev=/dev/input/by-path/platform-pcspkr-event-spkr)
beep: Verbose: 1 times 200 ms beeps (100 ms delay between, 0 ms delay after) @ 440 Hz
beep: Verbose: evdev driver_begin_tone 0x5583d70fa660 440
beep: Verbose: evdev driver_end_tone 0x5583d70fa660
beep: Verbose: evdev driver_end_tone 0x5583d70fa660
beep: Verbose: evdev driver_fini 0x5583d70fa660

that's what happening when i modprobe pcspkr

sudo modprobe -r pcspkr
sudo modprobe pcspkr

dmesg
[  759.562893] input: PC Speaker as /devices/platform/pcspkr/input/input29

beep has nothing to do with pulseaudio or any other audio parts of a PC whatsoever. beep solely controls the PC speaker beep, which on classic PC motherboards used to be a speaker connected to the motherboard with a cable, and later, a piezo buzzer connected to with a cable or directly soldered onto the motherboard.

The output of beep --verbose you are posting shows that beep works as intented.

On systems with integrated sound like e.g. laptops, the output of the PC speaker circuitry is usually internally mixed together with the PCM sound from the sound card part of the laptop (that is where pulseaudio works) so that both PC speaker and PCM sound come out of the same physical laptop speakers. In that case, you might need to use software like alsamixer or similar to unmute the PC speaker in the mixer hardware.

These days, there also might be PC motherboards which do not have the piezo speaker soldered onto or any speaker connected to it, or laptops where the PC speaker circuit is not connected to the audio mixer circuit. However, if you have any beeps during early boot in BIOS/Firmware, there should be a connection.

In any case, beep itself cannot help here directly, as both your audio mixer harder and whether a speaker is physically connected to your motherboard exceed beep's responsibility.

However, beep should document this more clearly, which I will do (and use this issue ticket to track).

It's laptop, thinkpad t440p.
the beep sound works in bios.
I changed beep volume in alsamixer to 100% and still no sound.
in addition, the beep itself worked for me in some other distro called "core linux".

I solved the problem using alsamixer.
first i need to find the correct card ( switched with f6 )
then i have to switch loopback in alsamixer to enabled.
unmute beep by press m button and volume up beep.
then, the last important thing -
i figured out that beep not work if the microfone volume below 0% -
so i turn it to 1% in alsamixer and then it works!!

Thank you very much for your description of the fix. I will use that as an example in the documentation. (All my thinkpads are much older and not in working order, so I cannot check on those.)

Do your alsamixer settings survive a reboot?

Reopening the issue as I still need to write that documentation. Other people will run into this and I want them to find help in the documentation.

alsamixer settings saved after reboot :)