thesofproject / linux

Linux kernel source tree
Other
91 stars 134 forks source link

HP x360 1040 G5 - no internal Microphone #2549

Closed 3ddd closed 4 years ago

3ddd commented 4 years ago

I have no internal Mic on my Ubuntu 20.04 with mainline Kernel 5.9. Any idea how to fix that?

dmesg.log

http://alsa-project.org/db/?f=4237a4c012b0505892a70fbd4ed9764277bd6ccb

user@HP:~$ lspci | grep -i audio
00:1f.3 Multimedia audio controller: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
user@HP:~$ lsb_release -d
Description: Ubuntu 20.04.1 LTS
user@HP:~$ uname -r
5.9.2-050902-generic
user@HP:~$ cat /proc/asound/cards
--- no soundcards ---
user@HP:~$ aplay -l
aplay: device_list:274: keine Klangkarten gefunden …
user@HP:~$ aplay /usr/share/sounds/alsa/Noise.wav
Wiedergabe: WAVE '/usr/share/sounds/alsa/Noise.wav' : Signed 16 bit Little Endian, Rate: 48000 Hz, mono
user@HP:~$ lspci -nnk | grep -iA2 audio
lspci: Unable to load libkmod resources: error -12
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d71] (rev 21)
 Subsystem: Hewlett-Packard Company Sunrise Point-LP HD Audio [103c:8470]
 Kernel driver in use: snd_soc_skl
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-LP SMBus [8086:9d23] (rev 21)
user@HP:~$ ps -C esd
    PID TTY TIME CMD
user@HP:~$ ps -C pulseaudio
    PID TTY TIME CMD
   1333 ? 00:00:00 pulseaudio
user@HP:~$ ps -C arts
    PID TTY TIME CMD
user@HP:~$ grep "^audio" /etc/group | grep "$USER" | wc -l
0
user@HP:~$ dpkg -l | tr -s " " | grep " alsa-"
ii alsa-base 1.0.25+dfsg-0ubuntu5 all ALSA driver configuration files
ii alsa-tools-gui 1.1.7-1ubuntu1 amd64 GUI based ALSA utilities for specific hardware
ii alsa-topology-conf 1.2.2-1 all ALSA topology configuration files
ii alsa-ucm-conf 1.2.2-1ubuntu0.4 all ALSA Use Case Manager configuration files
ii alsa-utils 1.2.2-1ubuntu1 amd64 Utilities for configuring and using ALSA
user@HP:~$ lsmod | grep "snd"
snd_soc_skl_hda_dsp 28672 0
snd_hda_codec 143360 1 snd_soc_skl_hda_dsp
snd_soc_hdac_hdmi 36864 1 snd_soc_skl_hda_dsp
snd_hwdep 20480 1 snd_hda_codec
snd_soc_skl_ssp_clk 16384 0
snd_soc_dmic 16384 0
snd_soc_skl 163840 1 snd_soc_skl_ssp_clk
snd_soc_sst_ipc 20480 1 snd_soc_skl
snd_soc_sst_dsp 36864 1 snd_soc_skl
snd_hda_ext_core 32768 2 snd_soc_hdac_hdmi,snd_soc_skl
snd_soc_acpi_intel_match 45056 1 snd_soc_skl
snd_soc_acpi 16384 2 snd_soc_acpi_intel_match,snd_soc_skl
snd_intel_dspcfg 24576 1 snd_soc_skl
snd_hda_core 94208 5 snd_hda_ext_core,snd_hda_codec,snd_soc_hdac_hdmi,snd_soc_skl,snd_soc_skl_hda_dsp
snd_soc_core 278528 4 snd_soc_hdac_hdmi,snd_soc_skl,snd_soc_dmic,snd_soc_skl_hda_dsp
snd_compress 28672 1 snd_soc_core
ac97_bus 16384 1 snd_soc_core
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_pcm 118784 7 snd_hda_codec,snd_soc_hdac_hdmi,snd_compress,snd_soc_core,snd_soc_skl,snd_hda_core,snd_pcm_dmaengine
snd_seq_midi 20480 0
snd_seq_midi_event 16384 1 snd_seq_midi
snd_rawmidi 36864 1 snd_seq_midi
snd_seq 73728 2 snd_seq_midi,snd_seq_midi_event
snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi
snd_timer 40960 2 snd_seq,snd_pcm
snd 94208 10 snd_seq,snd_seq_device,snd_hwdep,snd_hda_codec,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_soc_skl_hda_dsp,snd_rawmidi
soundcore 16384 1 snd
user@HP:~$ head -n 3 /proc/asound/card0/codec#0
head: '/proc/asound/card0/codec#0' kann nicht zum Lesen geöffnet werden: Datei oder Verzeichnis nicht gefunden
user@HP:~$ cat ~/.asoundrc
cat: /home/juri/.asoundrc: Datei oder Verzeichnis nicht gefunden
user@HP:~$ cat /etc/asound.conf
cat: /etc/asound.conf: Datei oder Verzeichnis nicht gefunden
keyonjie commented 4 years ago

@3ddd looks your platform is KBL, which is not supported by SOF driver. https://github.com/thesofproject/linux/blob/topic/sof-dev/sound/pci/hda/hda_intel.c#L2458

/* Kabylake */
{ PCI_DEVICE(0x8086, 0xa171),
3ddd commented 4 years ago

Is there another Linux driver supporting this? Or is Windows the only solution for this Problem?

plbossart commented 4 years ago

There is already the skylake sst driver taking care of this device.

[    5.093062] snd_soc_skl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    5.093064] snd_soc_skl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SST driver
[    5.093069] snd_soc_skl 0000:00:1f.3: enabling device (0000 -> 0002)
[    5.093681] snd_soc_skl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

I am afraid you've hit an issue with this driver.

I would use 'options snd-intel-dspcf dsp_driver=1' in /etc/modprobe.d/alsa-base.conf to see if the legacy driver works on playback for you. If you see a Conexant codec you are probably out of luck, this is a configuration not supported by this driver.

3ddd commented 4 years ago

i see no difference with the dsp_driver=1 -> http://alsa-project.org/db/?f=173ba2a7dfc88d6ef4efb28b1e9d6a6848f7a4b7 where should i see the Conexant Codec? Any Chance to fix that in SST Driver? Where is the right place to ask for that?

3ddd commented 4 years ago

To activate Playback i could use this: https://askubuntu.com/questions/1243369/sound-card-not-detected-ubuntu-20-04-sof-audio-pci

plbossart commented 4 years ago

i see no difference with the dsp_driver=1 -> http://alsa-project.org/db/?f=173ba2a7dfc88d6ef4efb28b1e9d6a6848f7a4b7 where should i see the Conexant Codec? Any Chance to fix that in SST Driver? Where is the right place to ask for that?

snd_intel_dspcf: dsp_driver=1

typo: was dspcfg...

see https://thesofproject.github.io/latest/getting_started/index.html#debugging-audio-issues-on-intel-platforms

3ddd commented 4 years ago

ok, now i have playback but no DMIC. Also there is a Conexant Codec now - so then i am out of luck and have to use Windows? http://alsa-project.org/db/?f=951b7476be2a5837dc680ef2c75a6daf1235be3c

plbossart commented 4 years ago

ok, now i have playback but no DMIC.

that's 'normal', it was just to detect the codec.

Also there is a Conexant Codec now - so then i am out of luck and have to use Windows?

I am afraid we don't have a solution at the moment. There was a decision that KBL would not be supported by SOF, but since the other driver doesn't work with Conexant codecs that leaves mainly HP users without a solution.

3ddd commented 4 years ago

Thank you anyway.

keyonjie commented 4 years ago

@3ddd we won't provide fix from SOF side, close it here.