Check this thread Ubuntu 21.10 / Tiger Lake sound? - #18 by Nine_Mile might be a hardware issue.
I would agree, if the steps I listed above do not working (Pipewire specifically), then it could be hardware per @Usernames’ post. Hardware can do this sort of thing.
That said, if I had a dollar for every time these steps I listed above fixed the issue, I’d be a rich individual.
Additional software options I’d test are:
Reinstall Pipewire completely:
sudo apt reinstall libpipewire-0.3-0 libpipewire-0.3-common libpipewire-0.3-modules pipewire pipewire-audio-client-libraries pipewire-bin pipewire-pulse
Reinstall ALSA:
sudo apt install --reinstall alsa-base alsa-utils linux-sound-base libasound2
I’d treat this as software/OS first, ruling that out.
@Matt_Hartley, I have both tried to reinstall all software (even trying pulseaudio instead of pipewire) as well as adding the options to the config files, as other threads on the issues advised. Sadly neither fixed any issues.
I had not seen any reports that this could have been a hardware issue, like @Usernames mentioned, but since I have tried pretty much everything in the books, I’d lean to that explanation as well.
I should have linked post #18 (now edited) by Nine_Mile where they suggest running:
watch -n1 -d cat /proc/interrupts
and look for the line identifying snd_intel_hda:card0
on the right.
I would see if you have the these interrupts on your system.
Best of luck
For some reason I haven’t had any sound problems for a while. In the meantime, however, I have installed Windows 10 in addition to my Arch Linux installation. So my Framework laptop is now a dual boot configuration. I’ll report more sound issues as I encounter them (either in Arch Linux or Win 10, although I use Linux a lot more).
@Dunkelklinge1 Appreciate the update. Usernames suggestion for using watch
should this resurface is a solid path forward to spot what happens as it happens.
For me the issue didn’t resurface a lot either, but today (right now in fact) I don’t have sound. I used watch to see, and there are quite a lot of interrupts for the sound card on CPU6.
Every 2.0s: cat /proc/interrupts and look for the line identifying snd_intel_hda:card0 pop-os: Fri Nov 25 14:05:30 2022
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
1: 0 0 2745 0 0 0 0 0 IR-IO-APIC 1-edge i8042
8: 0 0 0 0 0 0 0 0 IR-IO-APIC 8-edge rtc0
9: 0 80775 0 0 0 0 0 0 IR-IO-APIC 9-fasteoi acpi
12: 0 138 0 0 0 0 0 0 IR-IO-APIC 12-edge i8042
14: 0 0 0 0 136689 0 0 0 IR-IO-APIC 14-fasteoi INT34C5:00
16: 0 0 0 0 0 0 1012123 0 IR-IO-APIC 16-fasteoi intel_ish_ipc, i80
1_smbus, snd_hda_intel:card0
27: 0 0 0 0 0 0 0 0 IR-IO-APIC 27-fasteoi idma64.0, i2c_desi
gnware.0
The posters in the thread @Usernames mentioned, asked support to replace the motherboards. Is this is the correct thing to do here?
P.S.
Thanks for all the good advice!
I know for myself and Nine_Mile we got a board swap and that was the resolution suggested from support. I would suspect the same will be true for you and the others as it looks like an unexpected hardware issue.
@Matt_Hartley Can using powertop and tlp as described in Linux battery life tuning - Framework Laptop / Linux - Framework Community cause this problem?
I tried the solutions mentioned by you but could not solve the issue.
pulseaudio -k && sudo alsa force-reload
Installed kernel: 5.17.0-1019-oem (required to install Intel GPU drivers). I am using Pulseaudio (default) on Ubuntu 22.04
The original post from op was about Pipewire and not PulseAudio, just for anyone else reading this.
That said, the dummy output is much better with later versions of Pipewire and PulseAudio will hopefully be a thing of the past in the near future as other distros begin adopting Pipewire which is backwards compatible with PulseAudio applications.
If you’re on PulseAudio and not Pipewire, then this is generally the best approach. This assumes Ubuntu as I refer to APT below.
rm -r ~/.config/pulse
then
sudo apt install --reinstall alsa-base alsa-utils linux-sound-base libasound2
sudo apt install --reinstall libpulse0 libpulsedsp pulseaudio pulseaudio-module-bluetooth pulseaudio-utils
TLP if left alone and config not “tweaked” should not create problems.
First of all thanks for all the replies!
I would like to give a small update. As I wrote before, I haven’t had any sound issues for quite some time until it reappeared in Arch today. It never happened in Windows, but I have to admit I’ve used it too infrequently to be sure (only occasionally for light gaming).
I checked for the interrupts as Usernames suggested but unfortunately when the sound problem started I needed an audio output for that moment and so I didn’t investigate much and just took a screenshot and restarted the machine (as always, that quickly fixed it). Anyway, the interesting thing is that unlike Leon_Olmo_Lecht, I don’t seem to have a lot of interrupts for anything with “intel” in its name.
I hope the problem stays as rare as it is now.
Some more system information:
- I use the 11th Gen Intel Core i5-1135G7
- Audio server: PipeWire (it also happens wit PulseAudio)
- Kernel: 5.15.79-1-lts
- I also use TLP in its default configuration (no tweaks)
For some reasons I have plenty of issues on my NixOS with sound system on my Framework in the last two months since I got it. I’ve been running Thinkpad with NixOS for years previously, and only ever had some minor glitches occasionally.
However it is rarely (never?) that the sound is simply gone. Usually it’s microphone issues, both on wired headphones and bluetooth ones, sometimes inability to switch outputs. Things like that.
Just to confirm (on multiple distros), reinstalling alsa base provides no joy/resolution after a reboot - meaning after suspend it remains as a dummy output even with the alsa base reinstall?
@Matt_Hartley Please look at the output of sudo dmesg
right after sleep and before awake. It clearly shows issue with sound drivers:
[ 5831.818783] PM: suspend entry (s2idle)
[ 5831.822387] Filesystems sync: 0.003 seconds
[ 5832.095775] Freezing user space processes ... (elapsed 0.002 seconds) done.
[ 5832.098271] OOM killer disabled.
[ 5832.098272] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 5832.126107] azx_single_send_cmd: 30 callbacks suppressed
[ 5832.854342] ACPI: EC: interrupt blocked
[ 5840.728369] ACPI: EC: interrupt unblocked
[ 5840.938286] i915 0000:00:02.0: [drm] GuC firmware i915/adlp_guc_70.2.0.bin version 70.2
[ 5840.938290] i915 0000:00:02.0: [drm] HuC firmware i915/tgl_huc_7.9.3.bin version 7.9
[ 5840.955015] i915 0000:00:02.0: [drm] HuC authenticated
[ 5840.956013] i915 0000:00:02.0: [drm] GuC submission enabled
[ 5840.956015] i915 0000:00:02.0: [drm] GuC SLPC enabled
[ 5840.956561] i915 0000:00:02.0: [drm] GuC RC: enabled
[ 5841.517478] snd_hda_codec_generic hdaudioC0D0: Unable to sync register 0xaf0100. -5
[ 5841.517680] snd_hda_codec_generic hdaudioC0D0: Unable to sync register 0xaf0100. -5
[ 5841.519972] OOM killer enabled.
[ 5841.519975] Restarting tasks ...
[ 5841.520481] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[ 5841.522647] rfkill: input handler enabled
[ 5841.523297] done.
[ 5841.524829] thermal thermal_zone13: failed to read out thermal zone (-61)
[ 5841.531257] PM: suspend exit
[ 5841.532322] rfkill: input handler disabled
[ 5841.807655] snd_hda_codec_generic hdaudioC0D2: Unable to sync register 0x3f0d00. -5
[ 5841.807793] snd_hda_codec_generic hdaudioC0D2: Unable to sync register 0x3f0d00. -5
[ 5845.143793] usb 3-9: reset full-speed USB device number 3 using xhci_hcd
[ 5845.301858] wlp166s0: authenticate with 74:42:7f:74:ca:5b
[ 5845.313610] wlp166s0: send auth to 74:42:7f:74:ca:5b (try 1/3)
[ 5845.431699] usb 3-9: reset full-speed USB device number 3 using xhci_hcd
[ 5845.908990] wlp166s0: authenticate with 74:42:7f:74:ca:5b
[ 5845.910605] wlp166s0: send auth to 74:42:7f:74:ca:5b (try 1/3)
[ 5846.007622] wlp166s0: authenticated
[ 5846.011443] wlp166s0: associate with 74:42:7f:74:ca:5b (try 1/3)
[ 5846.015051] wlp166s0: RX AssocResp from 74:42:7f:74:ca:5b (capab=0x1511 status=0 aid=2)
[ 5846.019748] wlp166s0: associated
[ 5846.088072] wlp166s0: Limiting TX power to 20 (23 - 3) dBm as advertised by 74:42:7f:74:ca:5b
[ 5846.184035] IPv6: ADDRCONF(NETDEV_CHANGE): wlp166s0: link becomes ready
Yes, I see the snd_hda_codec_generic
errors.
To be clear, because I did not see if you have yet. Have you reinstalled alsa and pulseaudio? Not just reloaded, but also reinstalled, then reboot?
Remove Pulse config:
rm -r ~/.config/pulse
Reinstall ALSA:
sudo apt install --reinstall alsa-base alsa-utils linux-sound-base libasound2
Reinstall PulseAudio
sudo apt install --reinstall libpulse0 libpulsedsp pulseaudio pulseaudio-module-bluetooth pulseaudio-utils
I did what you said several times and restarted and I get the same error
[ 193.805776] PM: suspend exit
[ 193.810440] rfkill: input handler disabled
[ 194.780570] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: last cmd=0x00170500
[ 195.321167] usb 3-9: reset full-speed USB device number 2 using xhci_hcd
[ 195.625232] usb 3-9: reset full-speed USB device number 2 using xhci_hcd
[ 195.788626] snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x00170500
[ 196.796597] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to single_cmd mode: last cmd=0x00170500
[ 197.090482] snd_hda_codec_generic hdaudioC0D0: Unable to sync register 0xaf0100. -5
[ 197.090623] snd_hda_codec_generic hdaudioC0D0: Unable to sync register 0xaf0100. -5
[ 197.090911] snd_hda_codec_generic hdaudioC0D2: Unable to sync register 0x3f0d00. -5
[ 197.091026] snd_hda_codec_generic hdaudioC0D2: Unable to sync register 0x3f0d00. -5
[ 197.350349] wlp166s0: authenticate with b8:3a:5a:c3:c1:12
[ 197.360337] wlp166s0: send auth to b8:3a:5a:c3:c1:12 (try 1/3)
[ 197.393348] wlp166s0: authenticated
[ 197.400700] wlp166s0: associate with b8:3a:5a:c3:c1:12 (try 1/3)
[ 197.404788] wlp166s0: RX AssocResp from b8:3a:5a:c3:c1:12 (capab=0x411 status=0 aid=8)
[ 197.413557] iwlwifi 0000:a6:00.0: Got NSS = 4 - trimming to 2
[ 197.421801] wlp166s0: associated
[ 197.685840] IPv6: ADDRCONF(NETDEV_CHANGE): wlp166s0: link becomes ready
[ 199.562458] iwlwifi 0000:a6:00.0: Got NSS = 4 - trimming to 2
[ 202.651857] iwlwifi 0000:a6:00.0: Got NSS = 4 - trimming to 2
[ 203.986677] azx_single_send_cmd: 291 callbacks suppressed
[ 226.757283] usb 3-9: reset full-speed USB device number 2 using xhci_hcd
Not restart, reinstall. This is what works on multiple distros. If you follow the steps in my previous comment, reinstalling (not restarting) as we determined restarting wasn’t enough.
Also be absolutely sure you’re removing the old config.
If reinstalling and removing old conf didn’t help, test hardware with a live release.
Ah, gotcha. Appreciate the clarification.
If reinstalling ALSA and Pulseaudio:
sudo apt install --reinstall alsa-base alsa-utils linux-sound-base libasound2
and
sudo apt install --reinstall libpulse0 libpulsedsp pulseaudio pulseaudio-module-bluetooth pulseaudio-utils
Both fail after running both commands and rebooting, now we try some more drastic steps.
If the steps above fail (and please verify that both were tried):
Backup your alsa-base.conf:
sudo cp /etc/modprobe.d/alsa-base.conf /etc/modprobe.d/alsa-base.bak
We’re going to now make some changes (this again assumes Ubuntu 22.04 is still the distro in question):
sudo echo "options snd-hda-intel model=generic" | sudo tee -a /etc/modprobe.d/alsa-base.conf
Reboot. If it’s still a dummy output, try:
model=auto instead of generic
If none of those work, try
options snd-hda-intel index=1
If it doesn’t work, restore by reversing the bk file, then reboot.
sudo cp /etc/modprobe.d/alsa-base.bak /etc/modprobe.d/alsa-base.conf
Ideally, trying one last time of reinstalling Pulseaudio and ALSA both are the better solution, but the new steps provided can also sometimes work.
The differences between model=auto, generic, snd-hda-intel really depends on what ALSA is looking for.
On my Framework, I have fully patched, un-tweaked Ubuntu 22.04 installed and have found that reinstalling ALSA usually fixes dummy audio.
Marking as solved as the above steps will solve the described issue.