You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enabling TRACEV in the firmware causes the logger to output absolutely nothing. Firmware appears to operating just fine according to dmesg otherwise.
Observed at:
Kernel: 1 commit off 93853cbf8f8252ec04dd8b70328cb004d1d4566a to patch glk dialog max codec for 4.18
SOF: ccaff5c
SOFT: 2d7a933 (dirty, but only with regards to some m4 files)
I think this might be related to a larger issue in the system due to something like memory corruption as I'm still experiencing trace issues with a dirty build. But I can fix them by adding a trace in weird spot in the code (host_copy_int) (tested 5X to be sure adding and removing the trace was fixing the logging.) Without the additional trace I only get the first 3 traces out of the dsp even though according to dmesg there is plenty of communication going on. If I add the trace I get plenty of pages worth of traces.
If you want to get an idea of where I am, I am checked out on master in my own sof repo (inital new component in the branch) cujomalainey@71d75ae
As you can see all I have is the skeleton on a new component, not really much going on. Not sure what could cause this behaviour in my code. The TRACEV bug still exists though on a clean repo.
@mengdonglin
We can reproduce this issue with logger. Even IPC error, there's still nothing in memory window.
Only when firmware panic, logger will shows some trace log.
With respect to my second comment, I no longer am seeing tracing fail just from my own code with the code I pulled in from last night, but if its a memory corruption issue it could have been the memory map readjusting. The TRACEV bug is still reproducible.
@akloniex commented "logger tool by default (without additional parameters) reads /sys/kernel/debug/sof/etrace file which might be empty, yielding no output
Just as with rmbox earlier, -t parameter changes behaviour to read /sys/kernel/debug/sof/trace which contains all traces."
@keqiaozhang Can you still the issue with -t parameter?
@cujomalainey@mengdonglin@keqiaozhang
Enabling TRACEV and rebuilding FW causes .ldc file to regenerate. Please make sure that it's the dictionary file that you feed logger with, through -l paramter.
Also make sure that input file is correctly specified.
With no additional parameters, logger defaults to /sys/kernel/debug/sof/etrace,
with -p logger reads from stdin, (e.g. piping from other process),
with -t it's /sys/kernel/debug/sof/trace,
with -i you may specify file to read explicitly (e.g. for offline purposes).
@keqiaozhang could you provide the commits of 3 repo that logger can work with -t parameter on your Yorp? So we can align test result with @cujomalainey and @akloniex
@keyonjie I'm running it on chrome, but I have the bxt_da7219_max####a driver patched for glk. You can see the modification here cujomalainey/linux@6000068
@cujomalainey thanks, I am thinking if it is possible to run thesofproject/linux topic/sof-dev directly on chrome book(thesofproject/linux topic/cros-sof-v4.14-rebase works for that).
We just need that driver patched and we can run sof-dev no problem. I can send a pull request if we want to do that. It is slightly buggy though. Left channel on speaker only works for about 500ms before cutting out but it appears to be a UCM issue that is setting the left volume to 0 and headset isnt working currently.
If I could work off sof-dev without constantly rebasing patches that would make debugging and my filter development go much faster.
@cujomalainey yes please send a PR. Fwiw, I think it will be tricky to run from sof-dev atm since it's a couple of versions newer then the Chrome kernel, @ranj063 does test and rebase patches from sof-dev onto the Chrome kernel. Lets discuss next week as @ranj063 will also be at ELCE.
@lgirdwood sounds good. I'll clean up my patch I have locally and send it off soon. The 4.18 kernel on yorp boots and is debugable, it just takes the UI forever to get going. But if you are using ssh it's completely functional. Its how I have been working on building my filter additions since the effect topology commits are not in the cros-rebase branch last time I check
Activity
cujomalainey commentedon Oct 9, 2018
I think this might be related to a larger issue in the system due to something like memory corruption as I'm still experiencing trace issues with a dirty build. But I can fix them by adding a trace in weird spot in the code (host_copy_int) (tested 5X to be sure adding and removing the trace was fixing the logging.) Without the additional trace I only get the first 3 traces out of the dsp even though according to dmesg there is plenty of communication going on. If I add the trace I get plenty of pages worth of traces.
If you want to get an idea of where I am, I am checked out on master in my own sof repo (inital new component in the branch) cujomalainey@71d75ae
As you can see all I have is the skeleton on a new component, not really much going on. Not sure what could cause this behaviour in my code. The TRACEV bug still exists though on a clean repo.
mengdonglin commentedon Oct 10, 2018
@keqiaozhang Could you try to reproduce this issue?
keqiaozhang commentedon Oct 10, 2018
@mengdonglin
We can reproduce this issue with logger. Even IPC error, there's still nothing in memory window.
Only when firmware panic, logger will shows some trace log.
cujomalainey commentedon Oct 10, 2018
With respect to my second comment, I no longer am seeing tracing fail just from my own code with the code I pulled in from last night, but if its a memory corruption issue it could have been the memory map readjusting. The TRACEV bug is still reproducible.
mengdonglin commentedon Oct 11, 2018
@akloniex commented "logger tool by default (without additional parameters) reads /sys/kernel/debug/sof/etrace file which might be empty, yielding no output
Just as with rmbox earlier, -t parameter changes behaviour to read /sys/kernel/debug/sof/trace which contains all traces."
@keqiaozhang Can you still the issue with -t parameter?
akloniex commentedon Oct 11, 2018
@cujomalainey @mengdonglin @keqiaozhang
Enabling TRACEV and rebuilding FW causes .ldc file to regenerate. Please make sure that it's the dictionary file that you feed logger with, through -l paramter.
Also make sure that input file is correctly specified.
With no additional parameters, logger defaults to /sys/kernel/debug/sof/etrace,
with -p logger reads from stdin, (e.g. piping from other process),
with -t it's /sys/kernel/debug/sof/trace,
with -i you may specify file to read explicitly (e.g. for offline purposes).
keqiaozhang commentedon Oct 11, 2018
@akloniex @mengdonglin
Confirmed that logger works well with -t parameter.
Command: sudo logger -l sof-apl.ldc -t
cujomalainey commentedon Oct 11, 2018
@akloniex I am using the new ldc on tracev enabling and I forgot to mention all of these trace failures are with the -t parameter
mengdonglin commentedon Oct 12, 2018
@keqiaozhang could you provide the commits of 3 repo that logger can work with -t parameter on your Yorp? So we can align test result with @cujomalainey and @akloniex
keqiaozhang commentedon Oct 15, 2018
I re-tested it with top sof-master and enabled tracev, logger works well with -t parameter.
Here are my test steps:
-#define TRACEV 0
+#define TRACEV 1
BTW, without step 4, there's no trace output.
kernel-cros-sof-v4.14-rebase: 274bfc6
sof-master: 1024e94
soft-master: c0a881a
8 remaining items
keyonjie commentedon Oct 19, 2018
@cujomalainey good to know it works now.
Are you run topic/sof-dev directly on chrome? or Ubuntu?
cujomalainey commentedon Oct 19, 2018
@keyonjie I'm running it on chrome, but I have the bxt_da7219_max####a driver patched for glk. You can see the modification here cujomalainey/linux@6000068
keyonjie commentedon Oct 19, 2018
@cujomalainey thanks, I am thinking if it is possible to run thesofproject/linux topic/sof-dev directly on chrome book(thesofproject/linux topic/cros-sof-v4.14-rebase works for that).
cujomalainey commentedon Oct 19, 2018
We just need that driver patched and we can run sof-dev no problem. I can send a pull request if we want to do that. It is slightly buggy though. Left channel on speaker only works for about 500ms before cutting out but it appears to be a UCM issue that is setting the left volume to 0 and headset isnt working currently.
If I could work off sof-dev without constantly rebasing patches that would make debugging and my filter development go much faster.
lgirdwood commentedon Oct 19, 2018
@cujomalainey yes please send a PR. Fwiw, I think it will be tricky to run from sof-dev atm since it's a couple of versions newer then the Chrome kernel, @ranj063 does test and rebase patches from sof-dev onto the Chrome kernel. Lets discuss next week as @ranj063 will also be at ELCE.
cujomalainey commentedon Oct 19, 2018
@lgirdwood sounds good. I'll clean up my patch I have locally and send it off soon. The 4.18 kernel on yorp boots and is debugable, it just takes the UI forever to get going. But if you are using ssh it's completely functional. Its how I have been working on building my filter additions since the effect topology commits are not in the cros-rebase branch last time I check
Jiangxinx commentedon Oct 25, 2018
This issue cannot be reproduced with kernel branch topic/sof-dev, on APL UP2 platfrom.
STEP:
1.Enable tracev(trace.h):
-#define TRACEV 0
+#define TRACEV 1
2.re-make sof、soft、logger and replace them on UP2
3.reboot
4.aplay -Dhw:0,0 audio.wav
5.sudo sof-logger -l sof-apl.ldc -t -o logger.log
Test env:
hardware version: UP2
sof-master: b793f0c
soft-master: c9a4c87
kernel sof-dev: fe8404a
tplg: sof-apl-pcm512x.tplg
mengdonglin commentedon Oct 25, 2018
Please follow up in kernel repo thesofproject/linux#214