Intel tiger lake H sound card has N/A driver

The driver should be snd_hda_intel and that is not only included in the Linux kernel, it has been for years.
That you have progressed from 6.8 to 6.12 with no change; it may meant that the included module is not configured for your hardware if your hardware is the Newest Hardware but...
Tiger Lake is not that new.

Can you please install the firmware package

sudo apt update && sudo apt install linux-firmware

Use the Module prober:

sudo modprobe snd_hda_intel

Run

cat /etc/modprobe.d/alsa-base.conf

and see if any quirks are added. It would be listed toward the bottom as
options snd-hda-intel index=1

Here's what I got. I don't see that particular driver mentioned.

ERROR couldn't connect to zsys daemon: connection error: desc = "transport: Error while dialing dial unix /run/zsysd.sock: connect: connection refused" 
(Reading database ... 409703 files and directories currently installed.)
Removing linux-headers-6.12.48-061248-generic (6.12.48-061248.202509191629) ...
ERROR couldn't connect to zsys daemon: connection error: desc = "transport: Error while dialing dial unix /run/zsysd.sock: connect: connection refused" 
nick@nick-HP-ENVY-TE01-2xxx:~$ sudo modprobe snd_hda_intel
nick@nick-HP-ENVY-TE01-2xxx:~$ cat /etc/modprobe.d/alsa-base.conf
# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7

# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; }
#
# Workaround at bug #499695 (reverted in Ubuntu see LP #319505)
install snd-pcm /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; }
install snd-mixer /sbin/modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-mixer-oss ; : ; }
install snd-seq /sbin/modprobe --ignore-install snd-seq $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; /sbin/modprobe --quiet --use-blacklist snd-seq-oss ; : ; }
#
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; : ; }
# Cause optional modules to be loaded above sound card driver modules
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-emu10k1-synth ; }
install snd-via82xx /sbin/modprobe --ignore-install snd-via82xx $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq ; }

# Load saa7134-alsa instead of saa7134 (which gets dragged in by it anyway)
install saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist saa7134-alsa ; : ; }
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options saa7134-alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
options snd-usb-audio index=-2
options snd-usb-caiaq index=-2
options snd-usb-ua101 index=-2
options snd-usb-us122l index=-2
options snd-usb-usx2y index=-2
# Ubuntu #62691, enable MPU for snd-cmipci
options snd-cmipci mpu_port=0x330 fm_port=0x388
# Keep snd-pcsp from being loaded as first soundcard
options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2
nick@nick-HP-ENVY-TE01-2xxx:~$

Since you have run that, what is the output of:

lsmod | grep snd_hda_intel

ick@nick-HP-ENVY-TE01-2xxx:~$ lsmod | grep snd_hda_intel
snd_hda_intel 65536 0
snd_intel_dspcfg 45056 5 snd_soc_avs,snd_hda_intel,snd_sof,snd_sof_intel_hda_common,snd_sof_intel_hda_generic
snd_hda_codec 208896 6 snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_soc_hdac_hda,snd_sof_intel_hda
snd_hda_core 147456 9 snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
snd_pcm 196608 13 snd_soc_avs,snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_compress,snd_soc_core,snd_sof_utils,snd_hda_core,snd_pcm_dmaengine
snd 143360 17 snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_sof,snd_timer,snd_compress,snd_soc_core,snd_ump,snd_pcm,snd_rawmidi
nick@nick-HP-ENVY-TE01-2xxx:~$

So, the module is loading, but not binding.

What about

dmesg | egrep -i "snd|sof|hda"

dmesg: read kernel buffer failed: operation not permitted

sorry...
Need sudo

sudo dmesg | egrep -i "snd|sof|hda"

That was what I wondered. Was going to try that next. Give me a minute.

ick@nick-HP-ENVY-TE01-2xxx:~$ sudo dmesg | egrep -i "snd|sof|hda"
[sudo] password for nick:
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.12.48-061248-generic root=UUID=06e9b04c-8994-4143-919a-e55e4e9320bf ro quiet splash acpi=off snd_intel_dspcfg.dsp_driver=1 vt.handoff=7
[ 0.027637] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.12.48-061248-generic root=UUID=06e9b04c-8994-4143-919a-e55e4e9320bf ro quiet splash acpi=off snd_intel_dspcfg.dsp_driver=1 vt.handoff=7
[ 0.029411] software IO TLB: area num 1.
[ 0.143196] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti giometti@linux.it
[ 0.168258] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[ 0.168260] software IO TLB: mapped [mem 0x0000000083afe000-0x0000000087afe000] (64MB)
[ 4.572534] usb 1-11.2: Product: Microsoft® LifeCam Show(TM)
[ 4.572537] usb 1-11.2: Manufacturer: Microsoft
[ 4.582352] input: Microsoft Microsoft® LifeCam Show(TM) as /devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.2/1-11.2:1.4/0003:045E:0729.0004/input/input4
[ 4.582772] hid-generic 0003:045E:0729.0004: input,hidraw3: USB HID v1.10 Device [Microsoft Microsoft® LifeCam Show(TM)] on usb-0000:00:14.0-11.2/input4
[ 5.962311] usb 1-11.2: Found UVC 1.00 device Microsoft® LifeCam Show(TM) (045e:0729)
[ 5.985670] input: Microsoft® LifeCam Show(TM): M as /devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.2/1-11.2:1.0/input/input5
[ 6.161416] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[ 6.161431] snd_hda_intel 0000:00:1f.3: enabling device (0100 -> 0102)
[ 6.161440] snd_hda_intel 0000:00:1f.3: can't find IRQ for PCI INT A; please try using pci=biosirq
[ 6.222813] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[ 6.222841] snd_hda_intel 0000:00:1f.3: can't find IRQ for PCI INT A; please try using pci=biosirq
[ 6.227561] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[ 6.227577] snd_hda_intel 0000:00:1f.3: can't find IRQ for PCI INT A; please try using pci=biosirq
[ 6.227714] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[ 6.227729] snd_hda_intel 0000:00:1f.3: can't find IRQ for PCI INT A; please try using pci=biosirq
[ 6.373663] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[ 6.373685] snd_hda_intel 0000:00:1f.3: can't find IRQ for PCI INT A; please try using pci=biosirq
[ 6.393061] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[ 6.393081] snd_hda_intel 0000:00:1f.3: can't find IRQ for PCI INT A; please try using pci=biosirq
[ 6.393134] usbcore: registered new interface driver snd-usb-audio
[ 6.464658] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[ 6.464680] snd_hda_intel 0000:00:1f.3: can't find IRQ for PCI INT A; please try using pci=biosirq
[ 6.484446] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[ 6.484469] snd_hda_intel 0000:00:1f.3: can't find IRQ for PCI INT A; please try using pci=biosirq
[ 6.587383] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[ 6.587403] snd_hda_intel 0000:00:1f.3: can't find IRQ for PCI INT A; please try using pci=biosirq
[ 6.662134] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[ 6.662152] snd_hda_intel 0000:00:1f.3: can't find IRQ for PCI INT A; please try using pci=biosirq
[ 16.937520] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[ 16.937545] snd_hda_intel 0000:00:1f.3: can't find IRQ for PCI INT A; please try using pci=biosirq
[ 16.937583] pci 0000:00:1f.3: deferred probe pending: snd_hda_intel: couldn't bind with audio component

You have ACPI disabled in your grub boot parameters.
This leads to:

Causing the loaded module to not bind with the hardware:

Try without acpi=off

sudo nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash snd_intel_dspcfg.dsp_driver=1"

ctl+o, enter, ctl+x
Then run

sudo update-grub

1 Like

I had to do acpi=off to get me past the black screen on boot up. It may be OK without it now.

I'll try editing it out before removing it from the boot file.

1 Like

A lit of alternatives to try if you are getting black screen:

i915.force_probe=*

acpi=noirq

pci=biosirq

acpi_osi=

pci=nomsi

Yes. I seem to need the acpi=off to get beyond the grub menu.

I have also done the force probe one but found that acpi was the critical one.

I'll experiment and see if I can get one of the others to work.

changing to acpi=noirq allowed booting and I seem to have the headphones output device.

Now I need to look up how to make the change permanent.

1 Like

If you had set it as a parameter in your grub file as outlined above - it is now permanent.

Done it.

I was just doing E out of the menu

But now I did sudo nano /etc/default/grub and edited it then did update grub.

Going to try rebooting to make sure everything works.

1 Like

Yes! All working and I have sound! Thankk you so much.

3 Likes

@NickS which kernel are you now running?
@Aravisian if driver was indeed included in 6.8 kernel, would it be wise or advantageous for Nick to revert back to the mainstream 6.8 kernel and add the firmware package and acpi change for sound?

Probably not advantageous nor harmful.
The 6.8 kernel introduced a regression in the scheduler. (This was patched during 6.8's run, which Zorin OS used the patched. This is why Zorin OS is LTS and while not always cutting edge, waiting on the patches is beneficial).
Kernels 6.10, 6.11 and 6.12 all brought similar performance regressions, one of which was pretty major.
The 6.13 kernel brought a regression in graphical stack performance, including low FPS, artifacts on screen, affecting mostly AMD. Microsoft contributed to the kernel but in the merge process, created a conflict (Not Microsofts fault) that brought a regression. This was a good contribution that smooths performance on module execution. Just had some bad luck with Linux review - this was fixed within 6.13 and patched.

By 6.14, most of these, including a long standing scheduler regression, were all fixed.
Anyone who jumped from 6.8 to 6.14 on Zorin OS probably did themselves a favor, particularly AMD users.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.