-
Notifications
You must be signed in to change notification settings - Fork 132
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
[BUG] no sof-lnl-cs42l43-l0-2ch.tplg found #5329
Comments
@charleskeepax I guess this topology is now upstream but not in the current release ? |
Alas a bunch of these SKUs ended up looking slightly different to what we expected. This needs some updates, we have a 4-channel topology, but not a 2-channel one. This will also need some quirk updates for the kernel side. |
Can you try it with these two patches? Kernel: f6f710b |
@rfvirgil , Would you mind share a sof-bin? Sorry I am not familiar with sof building. |
tplg file attached ungzip it and copy the .tplg to /lib/firmware/intel/sof-ipc4-tplg/ |
Thanks. After copied the tplg, sof show error: Full dmesg: |
Sorry for my mistake. After applied patch, with new tplg, still show: |
The main issue is:
Please rename sof-dyndbg.conf.txt to sof-dyndbg.conf and put it in the /etc/modprobe.d/ folder and share the dmesg again. Thanks. |
dmesg attached: |
The dmic01 id is 3. |
Aladdin-sof-tplg-kernel-6.12-patch-audio-show-no-input-nomic-dmesg.txt With the new tplg, the audio is shown: But still no sound output, no mic. |
Also some
are shown. @pma1 Can you test with aplay/arecord first? |
There is no sound from aplay or arecord. xe is disabled because of some issues. After enabled xe, the sound can not output or input too. |
@pma1 wrote:
ACk to @bardliao , display audio should work and this log at least looks good for driver probes. Xe driver for display is up, SOF and codec drivers are probed without errors. I wonder if some alsamixer settings are wrong now. Output from "alsa-info.sh" would be useful (when playing back to one device with aplay). It will show the state of all codec settings. |
Speakers will not work because you don't have firmware for the CS35L56. We would need permission from Lenovo to publish the firmware. Did you buy this laptop from a shop, or is this a pre-production device? |
alsa-info: This is a pre-production device. Does it need a kernel patch to match the CS35L56? |
The patch I linked that changes the DMI matches should be the only kernel patch you need. |
@bardliao what was the source change you made to create your fixed tplg? |
"cavs-sdw\;sof-lnl-cs42l43-l0-2ch\;PLATFORM=lnl,NUM_SDW_AMP_LINKS=1,NUM_DMICS=2,\
PDM1_MIC_A_ENABLE=0,PDM1_MIC_B_ENABLE=0,DMIC0_ID=3,DMIC1_ID=4,\
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-lnl-cs42l43-l0-2ch.bin,\
SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,\
SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack,\
HDMI1_ID=5,HDMI2_ID=6,HDMI3_ID=7,DMIC0_ENHANCED_CAPTURE=true,\
EFX_DMIC0_TDFB_PARAMS=line4_pass,EFX_DMIC0_DRC_PARAMS=dmic_default" The point is
They should be 3 and 4. |
@RyanJiao You could find the sof-lnl.ri from https://github.com/thesofproject/sof-bin/tree/main/v2.11.x/sof-ipc4-v2.11.1/lnl/intel-signed |
Thank you! |
The tplg file (with Bard's change) is merged into the sof repository here: The firmware files for the CS35L56 for Aladdin are now available here: Do not copy the firmware files manually. It must be installed correctly
|
@rfvirgil and @bardliao There is no sound. Errors are shown: |
@pma1 Looks like the mixer settings are incorrect. Can you update your ucm files and test again? |
@bardliao copied the latest alsa-ucm-conf, the speaker sof-firmware is in the sound ouput list, but no sound output, no mic input at all. alsa-info |
@pma1 Can you run "sudo alsaucm reload" and check is there any error? |
@bardliao Thanks for the reminder, after update alsa-utils to 1.2.13. with the lastest alsa-ucm-conf, the audio input and output works fine. Could you please share the specific commits of ucm those works with this tplg? Thank you very much. |
@pma1 I think @rfvirgil and @charleskeepax may be better people to answer the question. :) |
@bardliao Only 1 codec: /proc/asound/card0/codec#2 |
@pma1 Can you share the output of "sudo cat /sys/class/sound/ctl-led/mic/card0/list" and "sudo cat /sys/class/sound/ctl-led/speaker/card0/list"? |
@charleskeepax @rfvirgil Do we need to add "ctl-led/speaker/" in the UCM for speaker mute LED control? |
aladdin-1-6.14-rc2-amixer-controls.txt @bardliao the speaker list is NULL, the result is attached. Thanks. |
@pma1 Regarding the mic mute led,
The corresponding controls are
But I believe they should be
@charleskeepax @rfvirgil Any idea what might be the issue? Regarding the speaker mute led, diff --git a/ucm2/codecs/cs42l43/init.conf b/ucm2/codecs/cs42l43/init.conf
index 0fbb517bd17b..0c48349276a5 100644
--- a/ucm2/codecs/cs42l43/init.conf
+++ b/ucm2/codecs/cs42l43/init.conf
@@ -24,4 +24,6 @@ FixedBootSequence [
sysw "-/class/sound/ctl-led/mic/card${CardNumber}/attach:cs42l43 Decimator 1 Switch"
sysw "-/class/sound/ctl-led/mic/card${CardNumber}/attach:cs42l43 Decimator 3 Switch"
sysw "-/class/sound/ctl-led/mic/card${CardNumber}/attach:cs42l43 Decimator 4 Switch"
+ sysw "-/class/sound/ctl-led/speaker/card${CardNumber}/attach:cs42l43 Speaker L Input 1"
+ sysw "-/class/sound/ctl-led/speaker/card${CardNumber}/attach:cs42l43 Speaker R Input 1"
] This may not be the right place and may not be the right controls for speaker mute led. Needs @charleskeepax @rfvirgil 's comment. |
Certainly you are correct the right controls should be Decimator 1,3,4 Switch, not the HPF controls, as to how those incorrect controls are getting in there I am less certain. I wonder perhaps if numeric IDs could be getting retained whilst the controls are regenerated say if the sound card was reloaded. @pma1 could I confirm that you see those controls linked for the mic switch after a cold boot with no additional debug steps being followed? 21Q6 uses cs35l56 bridge speakers so I believe the correct speaker LED controls should be "AMPL Speaker Switch" and "AMPR Speaker Switch" rather than the cs42l43 ones. Someone is planning to have a look at this from our side as I don't think we can just blanket add those controls; they need to be conditional on the right system architecture being present. But for now adding those locally should get the LED working. |
@charleskeepax |
@pma1 Can you list the control values before and after the mic mute led button is pressed?
|
What value are you looking for? The ctl-led/list always stays the same. |
@pma1 I meant the output of |
@bardliao The laptop is out of reach now, I will get it to you asap. |
Ok I think the confusion here is in how one accesses the controls. I suspect if you do "amixer -D hw controls" the numbers will match those in the ctl-led list. Otherwise it turns out alsa will show the additional combined controls created by the UCM. Once that is confirmed, I agree with Bard the next step in debug will be to get the value of each of the controls with the system muted and unmuted. The LED will only light if all the controls are muted, so we need to see which control is not getting muted. The system should be host dmics, so it should be the "Dmic0 Capture Switch" that changes and all the cs42l43 controls should just sit at their default of muted. Although I guess if you have done past testing on this laptop it is possible alsa control restore is overwriting the defaults with an unmuted value. |
What is the conclusion on this? Is this a kernel issue at all or topology or UCM? |
Describe the bug
No sound cards are initialized.
Reproduction Rate
1/1
Expected behavior
The right tplg is loaded.
Impact
no audio
Environment
Screenshots or console output
aladdin-1-6.12-dmesg-nosoundcards.txt
The text was updated successfully, but these errors were encountered: