"no soundcard" for GeminiLake High Definition Audio (rev 06)
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@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
On 9/17/22 20:53, Linas Vepstas wrote:
Kernel reports "no soundcard". Presumably, this is why I don't have sound. Let me dive right in with details:
FWIW, more about this hardware: -- It's a cheap laptop, from newegg, Ipason MaxBook P1X, 4-core Intel Celeron, 12GB RAM, great price.
and no linux support. Yay.
see https://github.com/thesofproject/linux/wiki/ES8336-support
So ... good news and bad news.
On Mon, Sep 19, 2022 at 3:50 AM Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com wrote:
On 9/17/22 20:53, Linas Vepstas wrote:
Kernel reports "no soundcard". Presumably, this is why I don't have sound. Let me dive right in with details:
FWIW, more about this hardware: -- It's a cheap laptop, from newegg, Ipason MaxBook P1X, 4-core Intel Celeron, 12GB RAM, great price.
and no linux support. Yay.
see https://github.com/thesofproject/linux/wiki/ES8336-support
Good news: The driver seems to be talking to the sound card. Bad news: No sound, except for a faint pop when muting, and when the driver closes the card. No error messages in dmesg.
So: -- I git cloned https://github.com/thesofproject/linux/ and git checkout es8336-v5.19 -- make menuconfig to enable the es8336 modules, then make; make modules_install etc. -- copy the firmware into place as suggested by the wiki page -- enable dynamic debug as suggested by wiki pages -- reboot.
I see lots of debug messages in dmesg. None of them appear to be warnings or errors. But /usr/bin/speaker-test does not result in any sound. It does cause some dmesg messages to print when started, but none appear to be errors. Some more messages print when its stopped. /usr/bin/alsabat seems to think everything is OK.
The driver seems to be responsive, in that mixers and volume controls seem to actually talk to the driver, and "do things".
I'm stumped as to what to try next. Recommendations?
Should I be using github issues for this, instead of email? I'm thinking the answer is yes, I should. It's somehow easier to track issues via github.
alsoinfo at http://alsa-project.org/db/?f=6f84cae386786c6ac8314c78cbaabde0abe33f3c
--linas
On 9/20/22 21:02, Linas Vepstas wrote:
So ... good news and bad news.
On Mon, Sep 19, 2022 at 3:50 AM Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com wrote:
On 9/17/22 20:53, Linas Vepstas wrote:
Kernel reports "no soundcard". Presumably, this is why I don't have sound. Let me dive right in with details:
FWIW, more about this hardware: -- It's a cheap laptop, from newegg, Ipason MaxBook P1X, 4-core Intel Celeron, 12GB RAM, great price.
and no linux support. Yay.
see https://github.com/thesofproject/linux/wiki/ES8336-support
Good news: The driver seems to be talking to the sound card. Bad news: No sound, except for a faint pop when muting, and when the driver closes the card. No error messages in dmesg.
So: -- I git cloned https://github.com/thesofproject/linux/ and git checkout es8336-v5.19 -- make menuconfig to enable the es8336 modules, then make; make modules_install etc. -- copy the firmware into place as suggested by the wiki page -- enable dynamic debug as suggested by wiki pages -- reboot.
I see lots of debug messages in dmesg. None of them appear to be warnings or errors. But /usr/bin/speaker-test does not result in any sound. It does cause some dmesg messages to print when started, but none appear to be errors. Some more messages print when its stopped. /usr/bin/alsabat seems to think everything is OK.
The driver seems to be responsive, in that mixers and volume controls seem to actually talk to the driver, and "do things".
I'm stumped as to what to try next. Recommendations?
Should I be using github issues for this, instead of email? I'm thinking the answer is yes, I should. It's somehow easier to track issues via github.
alsoinfo at http://alsa-project.org/db/?f=6f84cae386786c6ac8314c78cbaabde0abe33f3c
Yes, it's better to try and use GitHub to attach logs and results.
I am afraid you will need to find how GPIOs need to be tweaked with sof_es8336 quirks to make sound work. There is a possibility that we manage to reverse engineer what Windows uses with the _DSM method, but it's only an idea at this point. It'll take a while to get Linux support for all these platforms.
participants (2)
-
Linas Vepstas
-
Pierre-Louis Bossart