Ubuntu 24.04 sound issues

A post was split to a new topic: New user sound issues - ubuntu 24.04

I have now tried the sudo alsa force-reload command and that didnā€™t work. It still doesnā€™t detect my internal hardware. I also tried running this command:

hwinfo --sound

Which returned:

17: PCI 1f.3: 0403 Audio device                                 
  [Created at pci.386]
  Unique ID: nS1_.b++59jnn4n7
  SysFS ID: /devices/pci0000:00/0000:00:1f.3
  SysFS BusID: 0000:00:1f.3
  Hardware Class: sound
  Model: "Intel Sunrise Point-LP HD Audio"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x9d71 "Sunrise Point-LP HD Audio"
  SubDevice: pci 0x07e6 
  Revision: 0x21
  Driver: "snd_hda_intel"
  Driver Modules: "snd_hda_intel"
  Memory Range: 0xdc428000-0xdc42bfff (rw,non-prefetchable)
  Memory Range: 0xdc400000-0xdc40ffff (rw,non-prefetchable)
  IRQ: 16 (2 events)
  Module Alias: "pci:v00008086d00009D71sv00001028sd000007E6bc04sc03i80"
  Driver Info #0:
    Driver Status: snd_hda_intel is active
    Driver Activation Cmd: "modprobe snd_hda_intel"
  Driver Info #1:
    Driver Status: snd_soc_skl is active
    Driver Activation Cmd: "modprobe snd_soc_skl"
  Driver Info #2:
    Driver Status: snd_soc_avs is not active
    Driver Activation Cmd: "modprobe snd_soc_avs"
  Driver Info #3:
    Driver Status: snd_sof_pci_intel_skl is active
    Driver Activation Cmd: "modprobe snd_sof_pci_intel_skl"
  Config Status: cfg=new, avail=yes, need=no, active=unknown

I get the following from dmesg | grep audio:

[sudo] password for bot: 
[    4.879131] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    4.902422] hdaudio hdaudioC0D0: no AFG or MFG node found
[    7.908120] hdaudio hdaudioC0D2: no AFG or MFG node found
[  510.959009] usbcore: registered new interface driver snd-usb-audio
[    4.691291] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[    4.691319] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
[    4.733887] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[    4.765644] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[    4.803383] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[    4.879131] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    4.893464] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    4.893483] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    4.893505] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    4.893525] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    4.893547] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    4.893567] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    4.893588] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    4.893608] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    4.893629] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    4.893650] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    5.904170] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: last cmd=0x200f0000
[    6.906195] snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x200f0000
[    7.907548] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to single_cmd mode: last cmd=0x200f0000
[    7.908124] snd_hda_intel 0000:00:1f.3: no codecs initialized

aplay -l only shows the USB DAC but no other audio hardware:

card 1: Q5 [FiiO Q5], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

It makes me wonder why it is enumerated as 1 and not 0.

The current status is that I have no sound still from the internal hardware of the computer. Nothing from the internal speakers or the audio jack, nor is there any audio through the HDMI output I have also tried to add snd_hda_intel.dmic=0 to the GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub. But that didnā€™t work. I will also try to update the BIOS and see if it works.

The sound chip on my laptop is the RealTek ALC 3271. When googling for that in combination with Linux I found the following pages:

https://askubuntu.com/questions/1256825/no-sound-on-ubuntu-20-04-dell-xps-7390-realtek-alc3271-intel-corporation-de
https://askubuntu.com/questions/1462098/no-sound-on-ubuntu-20-04-with-intel-audio-on-dell-inspiron-laptop

I will try to see if there is anything in these pages that may help. It is mostly about adding some custom entries in various config files. I just found that BIOS can be updated using fwupdmgr so fwupdmgr get-updatesshows available updates and fwupdmgr updateseemingly updates BIOS from Linux.

Update: I did a successful BIOS update to the latest version but that hasnā€™t resolved any audio issues. When the USB DAC is turned off, aplay -l finds no soundcards whatsoever

This issue seems to be the same as this reported bug:

https://www.mail-archive.com/kernel-packages@lists.launchpad.net/msg413735.html

How can we forward this to a properly filled-in bug report with system dumps etc? The command apport doesnā€™t seem to work in my terminal.

I have found out some more information that I will go through when i get the time. One confusion that I had was Why is the driver named ā€œIntelā€ when the audio chip is actually Realtek? Then I learned that snd_hda_intelis a generic name for a whole group of controllers including RealTekā€™s (very typical Chinese name).

When digging through the dmesg:

sudo dmesg | grep -E 'snd|sof'
[    0.051511] software IO TLB: area num 8.
[    0.413474] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    0.413476] software IO TLB: mapped [mem 0x0000000037458000-0x000000003b458000] (64MB)
[    0.545414] integrity: Loaded X.509 cert 'Microsoft Corporation UEFI CA 2011: 13adbf4309bd82709c8cd54f316ed522988a1bd4'
[    0.545430] integrity: Loaded X.509 cert 'Microsoft Windows Production PCA 2011: a92902398e16c49778cd90f99e4f9ae17c55af53'
[    0.546442] blacklist: Revoked X.509 cert 'Microsoft Windows PCA 2010: d14fa98a0708cef4241898e500fff3d6791d37bc'
[    4.764212] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[    4.764363] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
[    4.806806] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[    4.831249] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[    4.839378] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[    4.872588] snd_soc_skl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[    4.888461] snd_soc_avs 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[    4.971727] sof-audio-pci-intel-skl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[    5.002401] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[    5.002670] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    5.023615] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    5.023634] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    5.023652] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    5.023676] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    5.023699] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    5.023719] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    5.023740] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    5.023755] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    5.023779] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    5.023800] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0xfff0005
[    5.642939] usbcore: registered new interface driver snd-usb-audio
[    6.034205] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: last cmd=0x200f0000
[    7.038248] snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x200f0000
[    8.039203] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to single_cmd mode: last cmd=0x200f0000
[    8.039735] snd_hda_intel 0000:00:1f.3: no codecs initialized

It stands beyond reasonable doubt that this is a bug. I donā€™t know how or where to report this bug so itā€™d be appreciated if someone directed me on how to do that.

Some of the messages here are likely due to the flags I added in /etc/modprobe.d/alsa-base.conf, for sure but those error messages are the same no matter what, even in the ā€˜plain vanillaā€™ setting without the fixes I have tried

I found this page

https://www.kernel.org/doc/html/latest/sound/hd-audio/notes.html#more-notes-on-hd-audio-driver

and it explains most of these messages from dmesg. Iā€™m not sure as of yet it provides any information that could help me fix it or work around it, unless I try to delve into the source code of the driver and try to recompile it myself. The source code for the intel_hda seems to be here:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/hda?h=v6.13-rc3

I may try to install the mainline app and give it a go to try newer kernels to see if that would resolve this issue.

https://ubuntuhandbook.org/index.php/2020/08/mainline-install-latest-kernel-ubuntu-linux-mint/

After resolving some kernel build issues I proceeded to try installing much newer kernels than the current one. The lastest kernel I tried was 6.11.11 but the same dmesg error messages occur with the snd_hda_intel driver and it cannot detect any sound hardware within the computer. Maybe there is a kernel that has fixed this issue. The latest kernel as of this date that I can install is 6.12.3. Maybe I can try some older kernel.

Iā€™m going to give this one more shot, dose this live on your system?

ls ~/.config/pulse/*

If it dose remove it and reboot. or back it up

rm  ~/.config/pulse/*
## Or
sudo mv ~/.config/pulse/ /Documents

You started your first post above with ā€œSince I upgraded from Ubuntu 18.4 Bionic Beaver to 24.04ā€

How exactly did you do this upgrade ? The only proper upgrade path would be 18.04->20.04->22.04->24.04 ā€¦

For each single one of these steps update-manager (or its cmdline equivalent ā€œdo-release-upgradeā€) has quite a lot of transition code to make sure old configs are migrated to new tools package sets are properly replaced etc etc (ifupdown to netplan, resolvconf to systemd-resolved, pulse to pipewire, whatever else got replaced in the two years between two LTS releases)ā€¦ if you skipped any single of these upgrade steps your system will be in an unknown state with likely a lot of old pieces and configuration left behind ā€¦

(I personally canā€™t really imagine going from 18.04 to 24.04 as that would likely take a few days of work where doing a backup, re-install and restore would be done in a tenth of the time)

Yes, I just tried that and that didnā€™t help. When reading into the kernel documentation I see the following:

Codec-Probing Problem

A less often but a more severe problem is the codec probing. When BIOS reports the available codec slots wrongly, the driver gets confused and tries to access the non-existing codec slot. This often results in the total screw-up, and destructs the further communication with the codec chips. The symptom appears usually as error messages like:

hda_intel: azx_get_response timeout, switching to polling mode:
      last cmd=0x12345678
hda_intel: azx_get_response timeout, switching to single_cmd mode:
      last cmd=0x12345678

The first line is a warning, and this is usually relatively harmless. It means that the codec response isnā€™t notified via an IRQ. The driver uses explicit polling method to read the response. It gives very slight CPU overhead, but youā€™d unlikely notice it.

The second line is, however, a fatal error. If this happens, usually it means that something is really wrong. Most likely you are accessing a non-existing codec slot.

I have that switching to single_cmd_mode line so something must be wonky in the driver level.

Yes, I gradually and gently updated from 18.4 to 20.4. Then I did from 20.4 to 22.4 and so on and so forth. I didnā€™t check whether audio was still present between distro upgrades so I cannot tell exactly at which point things did break.

I did some cleanup of old packages i didnā€™t need, cleaned up config files removing paths to things I no longer use. Did the same cleanup procedures with repos and removed those that no longer are of any interest to me. It was a careful and meticulous procedure. Suffice to say, I did not encounter any notable hiccups during the upgrade process itself.

Wow, thats quite some work, kudos ā€¦ :slight_smile:

Have you anyway tried running from a live image yet just to get a pristine system ā€¦

3 Likes