"no soundcard" for GeminiLake High Definition Audio (rev 06)

Linas Vepstas linasvepstas at gmail.com
Sat Sep 17 20:53:03 CEST 2022


Kernel reports "no soundcard". Presumably, this is why I don't have
sound. Let me dive right in with details:

cat /proc/asound/cards
--- no soundcards ---

lspci:
00:0e.0 Multimedia audio controller: Intel Corporation Celeron/Pentium
Silver Processor High Definition Audio (rev 06)
00:0e.0 0401: 8086:3198 (rev 06)

        DeviceName: Onboard - Sound
        Subsystem: Device 02f3:f000
        Kernel driver in use: sof-audio-pci-intel-apl
        Kernel modules: snd_hda_intel, snd_soc_skl, snd_sof_pci_intel_apl

dmesg |grep -iE 'snd|sof|audio'

[    0.201569] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    4.715400] snd_hda_intel 0000:00:0e.0: DSP detected with PCI
class/subclass/prog-if info 0x040100
[    4.938181] snd_soc_skl 0000:00:0e.0: DSP detected with PCI
class/subclass/prog-if info 0x040100
[    5.324959] sof-audio-pci-intel-apl 0000:00:0e.0: DSP detected with
PCI class/subclass/prog-if info 0x040100
[    5.325268] sof-audio-pci-intel-apl 0000:00:0e.0: DSP detected with
PCI class/subclass/prog-if 0x040100
[    5.325465] sof-audio-pci-intel-apl 0000:00:0e.0: bound
0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    5.357483] sof-audio-pci-intel-apl 0000:00:0e.0: use msi interrupt mode
[    5.393933] sof-audio-pci-intel-apl 0000:00:0e.0: NHLT_DEVICE_I2S
detected, ssp_mask 0x5
[    5.393945] sof-audio-pci-intel-apl 0000:00:0e.0: hda codecs found, mask 4
[    5.399557] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware info:
version 2:1:1-3964a
[    5.399567] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware: ABI
3:21:0 Kernel ABI 3:23:0
[    5.399579] sof-audio-pci-intel-apl 0000:00:0e.0: unknown
sof_ext_man header type 3 size 0x30
[    5.439596] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware info:
version 2:1:1-3964a
[    5.439604] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware: ABI
3:21:0 Kernel ABI 3:23:0

cat /proc/version
Linux version 6.0.0-rc5 (root at yippie) (gcc (Debian 12.2.0-1) 12.2.0,
GNU ld (GNU Binutils for Debian) 2.38.90.20220713) #3 SMP
PREEMPT_DYNAMIC Thu Sep 15 04:35:50 CDT 2022

I built this a few days ago from `make oldconfig` on the current
Debian testing 5.19.15 kernel.

I attempted debugging, and I found this:

sound/soc/sof/intel/pci-apl.c:
   { PCI_DEVICE(0x8086, 0x3198), /* GeminiLake */
      .driver_data = (unsigned long)&glk_desc},

Yay! That's my pci id!
Adding printk's to both
int snd_card_register(struct snd_card *card)
int snd_soc_register_card(struct snd_soc_card *card)

shows that neither of these are ever called.  I was unable to figure
out where they should have been called from. It's as if some driver is
missing ??? There's nothing in sound/soc/intel/boards/* that seems to
apply to my situation???

FWIW, more about this hardware:
-- It's a cheap laptop, from newegg, Ipason MaxBook P1X, 4-core Intel
Celeron, 12GB RAM, great price.
--  lspci
00:00.0 Host bridge: Intel Corporation Gemini Lake Host Bridge (rev 06)
00:00.1 Signal processing controller: Intel Corporation
Celeron/Pentium Silver Processor Dynamic Platform and Thermal
Framework Processor Participant (rev 06)
00:02.0 VGA compatible controller: Intel Corporation GeminiLake [UHD
Graphics 600] (rev 06)
00:0e.0 Multimedia audio controller: Intel Corporation Celeron/Pentium
Silver Processor High Definition Audio (rev 06)
00:0f.0 Communication controller: Intel Corporation Celeron/Pentium
Silver Processor Trusted Execution Engine Interface (rev 06)
00:12.0 SATA controller: Intel Corporation Celeron/Pentium Silver
Processor SATA Controller (rev 06)
00:13.0 PCI bridge: Intel Corporation Gemini Lake PCI Express Root Port (rev f6)
...
00:15.0 USB controller: Intel Corporation Celeron/Pentium Silver
Processor USB 3.0 xHCI Controller (rev 06)
00:16.0 Signal processing controller: Intel Corporation
Celeron/Pentium Silver Processor I2C 0 (rev 06)
...
00:18.0 Signal processing controller: Intel Corporation
Celeron/Pentium Silver Processor Serial IO UART Host Controller (rev
06)
...
00:1c.0 SD Host controller: Intel Corporation Celeron/Pentium Silver
Processor SDA Standard Compliant SD Host Controller (rev 06)
00:1e.0 SD Host controller: Intel Corporation Device 31d0 (rev 06)
00:1f.0 ISA bridge: Intel Corporation Celeron/Pentium Silver Processor
LPC Controller (rev 06)
00:1f.1 SMBus: Intel Corporation Celeron/Pentium Silver Processor
Gaussian Mixture Model (rev 06)
01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8821CE
802.11ac PCIe Wireless Network Adapter

So I guess there's "no soundcard" because the thing is wired directly
into the PCI bus ?? I used to know PCI intimately, but that was a
decade ago. I've forgotten all of that.

Advice on how to proceed would be appreciated. I could maybe even
write a device driver if someone holds my hand (I've written or worked
on drivers for ethernet, scsi before)

-- Linas

-- 
Patrick: Are they laughing at us?
Sponge Bob: No, Patrick, they are laughing next to us.


More information about the Alsa-devel mailing list