You are not logged in.
Some months ago, my Thinkpad T410s began to show this weird behavior:
When I play any sound source, my internal speakers suddenly go mute after some time.
This happens with any media player / source (mpv, firefox / local video or mp3, html-video tags, js games).
In case I just booted/woke up the system (cold chip?) this happens after about 5 minutes of playback. Then if I wait some minutes and play some sound again, my speakers work for 1 minute or less before turning off again. After that its always: wait a while, have sound for 1 minute, sound gone, repeat.
The "wait some time, then it will play again for a minute or so" method will not always be successful, here is what I observed:
When I have a working playback, then the muting appears, i hit pause, then I wait a while and then resume playback of a previously paused source, I won't hear a thing. Also if try to play the same or a different source in another instance of my player (mpv window, browser tab), there will be no sound. Only if i close the (paused or playing) player which caused the muting , will the speakers work again. That is, for a minute or so, before the sound is off again.
In the small timeframe when the speakers work, it's also possible to play multiple sources simultaneously.
When i plug in phones/external speakers everything works fine.
I use plain alsa, no pulseaudio/jack/pipewire etc.
alsamixer has nothing muted or zeroed out and the right soundcard is selected:
Soundcard: HDA Intel Conexant CX20585
$ lspci | grep -i audio
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)
01:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1)
I did
# dmesg --follow
and looked if something appears there when the sound turns off, but nothing.
Also
# journalctl --user --since "10 min ago"
-- No entries --
after I've done the above mentioned tests.
With
# journalctl --system --since "10 min ago"
i just get some wifi stuff, nothing audio related.
My guess is, its a hardware (amplifier?) problem, especially because the speakers initially work some minutes when my laptop is still cold after being powered off/suspended.
But in case it's some kind of overheating/overecharging issue: Why, even after a "cooldown" period, does a paused player need to be closed before another playback can be heard?
Been using arch for many many years, this is my first call for help in the forum because I'm just clueless now.
Offline
When the issue happens what's your output for
sudo fuser -v /dev/snd/*
aplay -lL
As for the question as to why a "triggering" player has to be closed, just pausing playback will normally keep the audio stream/connection open and alive, so if you can only "fix" this by closing then it's likely that the device needs to be actually closed first before it can be relevantly reused.
On a guess I'd go with a power saving issue try /etc/modprobe.d/disablePowerSave.conf
options snd_hda_intel power_save=0
(or adjust TLP/laptop-mode-tools relevantly if you use those) and reboot.
Also since you mention "plain ALSA" there might be some tool that runs periodically and blocks the players, do you have something popping up a notification or so? Anything you've configured that runs every minute and might want to use the card in a weird way? Did this start to happen off of a suspension or so? You might want to check whether reiniting the HW with
sudo alsactl init
helps.
Last edited by V1del (2022-03-11 12:28:42)
Offline
ty V1del!
# fuser -v /dev/snd/*
USER PID ACCESS COMMAND
/dev/snd/controlC0: foo 767079 F.... firefox
/dev/snd/pcmC0D0p: foo 767079 F...m firefox
/dev/snd/timer: foo 767079 f.... firefox
$ aplay -lL
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=Intel
HDA Intel, CX20585 Analog
Default Audio Device
sysdefault:CARD=Intel
HDA Intel, CX20585 Analog
Default Audio Device
...
full output: http://ix.io/3RXW
I diff'ed the output of both the above commands, before and after issue occurs: no difference.
alsactl init
$ sudo alsactl init
Found hardware: "HDA-Intel" "Conexant CX20585" "HDA:14f15069,17aa21a4,00100302 HDA:80862804,17aa21b5,00100000" "0x17aa" "0x215e"
Hardware is initialized using a generic method
Found hardware: "HDA-Intel" "Nvidia GPU 0b HDMI/DP" "HDA:10de000b,10de0101,00100200" "0x17aa" "0x218f"
Hardware is initialized using a generic method
`sudo alsactl init` returned 99, here is the corresponding excerpt from `man alsactl`
init <card>
This command tries to initialize all devices to a default state. If device is not known, error code 99 is returned.
then i tried
$ sudo alsactl init Intel
Found hardware: "HDA-Intel" "Conexant CX20585" "HDA:14f15069,17aa21a4,00100302 HDA:80862804,17aa21b5,00100000" "0x17aa" "0x215e"
Hardware is initialized using a generic method
but again error 99.
I tried some of these:
$ sudo alsactl init "HDA-Intel"
alsactl: snd_card_iterator_sinit:257: Cannot find soundcard 'HDA-Intel'...
$ sudo alsactl init "Conexant CX20585"
alsactl: snd_card_iterator_sinit:257: Cannot find soundcard 'Conexant CX20585'...
$ sudo alsactl init default
alsactl: snd_card_iterator_sinit:257: Cannot find soundcard 'default'...
But they all exit 19 which is not documented in the alsactl manpage, but well it prints "Cannot find soundcard..." on stderr, which is somehow different to error 99's "device is not known", jet still I'm clueless ...
So far no successful reinit.
notifications
I don't see any notifications poping up. Using libnotify and dunst for that, but i never get any notifications except when using notify-send foo myself. have no desktop environment, no login-manager. using i3 with xinit.
services
As for your question if there are some things running in the background, i discovered these:
$ systemctl --all | grep -i alsa
alsa-restore.service loaded active exited Save/Restore Sound Card State
alsa-state.service loaded inactive dead Manage Sound Card State (restore and store)
$ systemctl status alsa-restore.service
● alsa-restore.service - Save/Restore Sound Card State
Loaded: loaded (/usr/lib/systemd/system/alsa-restore.service; static)
Active: active (exited) since Tue 2022-02-15 13:39:39 CET; 3 weeks 3 days ago
Main PID: 347 (code=exited, status=0/SUCCESS)
CPU: 4ms
Feb 15 13:39:39 deck5 systemd[1]: Starting Save/Restore Sound Card State...
Feb 15 13:39:39 deck5 systemd[1]: Finished Save/Restore Sound Card State.
$ systemctl status alsa-state.service
○ alsa-state.service - Manage Sound Card State (restore and store)
Loaded: loaded (/usr/lib/systemd/system/alsa-state.service; static)
Active: inactive (dead)
Condition: start condition failed at Tue 2022-02-15 13:39:39 CET; 3 weeks 3 days ago
Feb 15 13:39:39 deck5 systemd[1]: Manage Sound Card State (restore and store) was skipped because of a failed condition check (ConditionPathExists=/etc/alsa/state-daemon.conf).
edit 2:
I just reread https://wiki.archlinux.org/title/Advanc … nd_systemd where it is explained that the alsa-state.service and alsa-restore.service are mutually exclusive and the "restore" method is used by default. So nothing special about the status of those services i guess.
power save
I have not rebooted in quite a while. Having added /etc/modprobe.d/disablePowerSave.conf as you suggested (no tlp installed) i will reboot now and report back.
edit 1:
Have just rebooted. Same behavior as before :\
Last edited by timmfoo (2022-03-12 08:15:21)
Offline
Hello two years later, just wanted to inform that I have a very similar problem, though even headphones don't work. Did you find any solution? I've tried switching to FreeBSD, OpenBSD, NetBSD, Haiku but none of them even play audio to begin with. Disabling power save also didn't make practically any difference (sometimes it just didn't work, but if it did that was still only for small amount of time). I have the same sound card, on Thinkpad W510
Offline