Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

alsa-ucm-conf 1.2.4 fails with platform-skl_hda_dsp_generic #93

Closed
bjacquin opened this issue May 30, 2021 · 7 comments
Closed

alsa-ucm-conf 1.2.4 fails with platform-skl_hda_dsp_generic #93

bjacquin opened this issue May 30, 2021 · 7 comments

Comments

@bjacquin
Copy link

Hi,

I am experiencing the same issue as reported in issue #66, however I am still able to reproduce this with alsa-lib and alsa-utils 1.2.4 installed.

  • 1.2.3

alsa-info output is attached in alsa-info.1.2.3.txt.
pulseaudio standard logs show:

May 30 01:33:34 lady-voodoo.local pulseaudio[23962]: E: [pulseaudio] alsa-ucm.c: Failed to get the verb HiFi
May 30 01:33:34 lady-voodoo.local pulseaudio[23962]: E: [pulseaudio] alsa-ucm.c: No UCM verb is valid for sof-hda-dsp

pactl list short cards list the following cards as available:

0	alsa_card.usb-046d_HD_Pro_Webcam_C920_BD731F4F-02	module-alsa-card.c
1	alsa_card.usb-Sennheiser_Sennheiser_SP_30_A002340202303344-00	module-alsa-card.c
2	alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_genericmodule-alsa-card.c

pulseaudio -vvv output is attached in pulseaudio-1.2.3.log.
pacmd ls output is attached in pacmd-ls-1.2.3.txt

  • 1.2.4

alsa-info output is attached in alsa-info.1.2.4.txt.
pulseaudio standard logs show:

May 30 01:14:40 lady-voodoo.local /bin/bash[672]: HISTORY: PID=672 UID=1000 pulseaudio -k
May 30 01:14:40 lady-voodoo.local systemd[481]: pulseaudio.service: Succeeded.
May 30 01:14:40 lady-voodoo.local systemd[481]: pulseaudio.service: Consumed 7.644s CPU time.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device HDMI3, assuming stereo duplex.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device HDMI2, assuming stereo duplex.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device HDMI1, assuming stereo duplex.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Mic2, assuming stereo duplex.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Mic1, assuming stereo duplex.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Speaker, assuming stereo duplex.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or 'CaptureChannels'for device Headphones, assuming stereo duplex.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
May 30 01:14:41 lady-voodoo.local pulseaudio[18219]: E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3-platform-skl_hda_dsp_generic" card_name="alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.

pactl list short cards list the following cards as available:

0	alsa_card.usb-046d_HD_Pro_Webcam_C920_BD731F4F-02	module-alsa-card.c
1	alsa_card.usb-Sennheiser_Sennheiser_SP_30_A002340202303344-00	module-alsa-card.c

pulseaudio -vvv output is attached in pulseaudio-1.2.4.log.
pacmd ls output is attached in pacmd-ls-1.2.4.txt.

@kv2019i
Copy link
Contributor

kv2019i commented May 31, 2021

@bjacquin The problem is that there are no directly connected microphones found (no DMIC PCMs in "arecord -l" list) and the current UCM files for sof-hda-dsp don't cover this case and the UCM load fails.

Reason for above is that is that kernel should pick snd-hda-intel as the driver for these systems (without dmics).

Could you enable dynamic-debug in kernel and post dmesg covering either the complete system boot? Instructions for dynamic debug with SOF are at end of https://thesofproject.github.io/latest/getting_started/intel_debug/suggestions.html .

@bjacquin
Copy link
Author

There is definitely headphone plugged into the device (and also HDMI), audio to headphone are working like a charm with 1.2.3, while HDMI is not, while 1.2.4 is not allowing any sounds at all (pulseaudio or direct aplay)

Also, as I was looking to specifically test sof over snd-hda-intel, I do have snd_intel_dspcfg.dsp_driver=3 enabled in kernel command line.

@kv2019i
Copy link
Contributor

kv2019i commented Jun 1, 2021

@bjacquin The DMICs are integrated microphones, typically used on laptops. When you plug a headset, then that is a different path (in hardware) and the microphone is connected to a codec and that is connected via HDA to the DSP (and shows up as PCMs 0 and 1 on your system). I'm not aware of any NUCs with DMICs integrated, so it's probably safe to assume your system don't have these.

So the problem is that when you force "snd_intel_dspcfg.dsp_driver=3", SOF is used but the UCM files we have in 1.2.4, do not support the case where SOF is used on a system without a DMIC, and thus you get the failure.

@libinyang Do we have anything under work to have the UCM cover the case when DMIC is not present?

@bjacquin As you are anyways using custom kernel options, you could try this. Put e.g. in /etc/modprobe.d/sof.conf:

options snd_sof_intel_hda_common dmic_num=2

... this will override the info BIOS provides and create extra DMIC PCMs. There no microphones connected, so you won't actually get audio from these, but Pulseaudio should now happily load the 1.2.4 UCM file.

@kv2019i
Copy link
Contributor

kv2019i commented Jun 1, 2021

It seems this is also covered in #80

@libinyang
Copy link
Contributor

libinyang commented Jun 4, 2021

@kv2019i Sorry for delay. I'm busy these days and missed this message. No, we don't have the solution for DMIC missed case. Maybe we do need to consider the case of non DMIC platform while it is using sof-hda-dsp driver.

@perexg
Copy link
Member

perexg commented Jun 4, 2021

A PR for tests: #97

@perexg
Copy link
Member

perexg commented Nov 4, 2021

Covered in #97 .

@perexg perexg closed this as completed Nov 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants