Hi All,
I want to know that how to check v4l2_dbg message in the console.
Target board is TX2 and source version is R28.1
I think that it will be control with console_loglevel. Is it right?
Anyway, Please let me know for that detail.
Thanks & BR,
Hi All,
I want to know that how to check v4l2_dbg message in the console.
Target board is TX2 and source version is R28.1
I think that it will be control with console_loglevel. Is it right?
Anyway, Please let me know for that detail.
Thanks & BR,
hello nwlee,
there’s dynamic debug flags to enable the logs.
for example, you can follow below steps to enable the debug prints of channel.c.
thanks
$ sudo -i
# cd /sys/kernel/debug/dynamic_debug/
# echo file channel.c +p > control
Hello Jerry,
Thank you for your reply.
I’d like to see “v4l2_dbg” message in the kernel driver.
For example, I want to see v4l2_dbg message to dmesg command on console of the Linux_for_Tegra_tx2/sources/kernel/kernel-4.4/drivers/media/i2c/tc358840.c file.
Is it possible with your command without kernel build?
Thanks & BR,
Hi Jerry,
Could you please send me reply for upper contents?
Thanks & BR,
hello nwlee,
it depends on the log levels you set,
please refer to the definition of v4l2_dbg,
thanks
r28.1_sources/kernel/kernel-4.4/include/media/v4l2-common.h
#define v4l2_dbg(level, debug, dev, fmt, arg...) \
do { \
if (debug >= (level)) \
v4l2_printk(KERN_DEBUG, dev, fmt , ## arg); \
} while (0)
Hello Jerry,
Thank you for your support.
How can I modify this define parameter for example?
Thanks & BR,
hello nwlee,
if you’re working with v4l2_dbg,
there will be additional debug flags for each modules,
please check the debug flag as below path, and modify the parameter to change the log level.
/sys/module/name/parameters/debug
Hi Jerry,
I have check the debug flag as below path.
$) cat /sys/module/tc358840/parameters/debug
$) 0
On the TX2 board, the log level is 0.
This flag is not modified with sudo permission.
How can I modify this debug flag?
Thanks & BR,
Hi Jerry,
Could you let me know your idea for upper contents?
What I want to know, where is defined about log level.
Now, v4l2_dbg level is 0. I’d like to change with v4l2_dbg 1.
Please give me a your reply.
Thanks & BR,
hello nwlee,
there’s echo commands for you to change the debug flag dynamically.
Hello Jerry,
You mean the dinamic debug of the post #2?
I don’t understand exactly.
I have test as below.
sudo -i
Is it right? It is not working anything.
Please let me know detail.
Thanks & BR,
Hi Jerry,
Maybe, Is it possible that would be install v4l2-src and v4l2-ctl?
That is, Is the v4l2_dbg involved with v4l2-ctl? Or not, Is it just only set the log level?
How dosn’t it see the debug message with “dmesg”?
I want to konw with method as below.
A. kernel log level of the v4l2_dbg is set. (same with printk log level)
B. build the kernel.
C. boot and “dmesg” command on the console, v4l2_dbg log message check.
For example, v4l2_dbg(1, debug, sd, “%s: no valid signal\n”, func);
print output “%s: no valid signal”
Thanks & BR,
hello nwlee,
please refer to below code snippet in the tc358840 kernel driver.
static int debug;
module_param(debug, int, 0644);
MODULE_PARM_DESC(debug, "debug level (0-3)");
above paragraph will create the debug flags under its module.
and you should be able to control the value following below.
ehco 1 > /sys/module/tc358840/parameters/debug
please refer to v4l2_dbg function definition in comment #5, you should be able to saw below message while setting the debug flags.
v4l2_dbg(1, debug, sd, "%s: no valid signal\n", __func__);
Hi Jerry,
debug log level was changed well as below.
$ cat /sys/module/tc358840/parameters/debug
0
$ sudo -i
#ehco 1 > /sys/module/tc358840/parameters/debug
#exit
$ cat /sys/module/tc358840/parameters/debug
1
but, I can’t see the debug message with dmesg.
I think that v4l2_dbg function of the v4l2-common.h should be modified.
How can I modify for see the log message below function?
#define v4l2_dbg(level, debug, dev, fmt, arg…)
do {
if (debug >= (level))
v4l2_printk(KERN_DEBUG, dev, fmt , ## arg);
} while (0)
Could you let me know your idea?
Thanks & BR,
hello nwlee,
i’ve verified v4l2_dbg macro works.
since default imx274 did not enable this feature, please refer to below code snippet and steps as an example.
thanks
diff --git a/drivers/media/i2c/imx274.c b/drivers/media/i2c/imx274.c
index 2c60402..c8815c0 100644
--- a/drivers/media/i2c/imx274.c
+++ b/drivers/media/i2c/imx274.c
@@ -58,6 +58,10 @@
#define IMX274_1080P_MODE_MIN_VMAX 4620
#define IMX274_1080P_MODE_OFFSET 112
+static int debug;
+module_param(debug, int, 0644);
+MODULE_PARM_DESC(debug, "debug level (0-3)");
+
struct imx274 {
struct camera_common_power_rail power;
int num_ctrls;
@@ -414,6 +418,7 @@ static int imx274_s_stream(struct v4l2_subdev *sd, int enable)
int err;
dev_dbg(&client->dev, "%s++\n", __func__);
+ v4l2_dbg(1, debug, sd, "[v4l2_dbg] %s++\n", __func__);
imx274_write_table(priv, mode_table[IMX274_MODE_STOP_STREAM]);
@@ -463,6 +468,7 @@ static int imx274_s_stream(struct v4l2_subdev *sd, int enable)
if (err)
goto exit;
+ v4l2_dbg(1, debug, sd, "[v4l2_dbg] %s--\n", __func__);
enable the debug flag
# echo 1 > /sys/module/imx274/parameters/debug
execute the commands to launch the camera sensor, and saw below debug message,
[ 114.925778] imx274 30-001a: [v4l2_dbg] imx274_s_stream++
[ 114.967190] imx274 30-001a: [v4l2_dbg] imx274_s_stream--
Hello Jerry,
Thank you so much for your support.
v4l2_dbg is working well.
And, I have one more question.
How to output all log message.
That is, “v4l2_err” and “v4l2_warn” and “v4l2_info” etc…
Especially, I wonder “v4l2_info” message.
Could you please let me know for that?
Thanks & Best Regards,
Hi Jerry,
Could you let me know your idea for the my question of #16 post?
Thanks & BR,
Hello Jerry,
I’ve check log of the “v4l2_info”.
Please close this issue.
Thank you so much.
Thanks & BR,
Hi nwlee,
How did you get “v4l2_info” in dmesg for tc358840?
Which debug level did you include?
Look forward for your answer.
Best regards,
Ilija