"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