JETSON NX :The ov9281 uses a program written with the imx219 architecture,But why cannot play using libargus

The ov9281 uses a program written with the imx219 architecture, But it can’t stream the video use libargus。
imx219 can play well using libargus.

command:
gst-launch-1.0 nvarguscamerasrc sensor_id=0 ! ‘video/x-raw(memory:NVMM),width=1280, height=800, framerate=21/1, format=NV12’ ! nvvidconv flip-method=0 ! ‘video/x-raw,width=960, height=616’ ! nvvidconv ! nvegltransform ! nveglglessink -e
environment:
1. VERSION
root@nvidia-desktop:/work/0519# cat /etc/nv_tegra_release

R32 (release), REVISION: 6.1, GCID: 27863751, BOARD: t186ref, EABI: aarch64, DATE: Mon Jul 26 19:36:31 UTC 2021

2.Pixel Format:“RG10”
root@nvidia-desktop:/work/0519# v4l2-ctl --device=/dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: ‘RG10’
Name : 10-bit Bayer RGRG/GBGB
Size: Discrete 1280x800
Interval: Discrete 0.017s (60.000 fps)
Size: Discrete 1280x720
Interval: Discrete 0.017s (60.000 fps)
Size: Discrete 640x400
Interval: Discrete 0.017s (60.000 fps)

3.devicetree
cam_i2cmux {
i2c_0:i2c@0 {
ov9281_cam0: rbpcv2_ov9281_a@60 {
compatible = “nvidia,ov9281”;
/* I2C device address */
reg = <0x60>;

			/*hzhy add */
			clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>;
        			clock-names = "extperiph1";
			mclk = "extperiph1";

			/* V4L2 device node location */
			devnode = "video0";

			/* Physical dimensions of sensor */
			physical_w = "3.680";
			physical_h = "2.760";

			sensor_model = "ov9281";

			use_sensor_mode_id = "true";

                        /*hzhy*/
			fsync = "none";/*none/slave/master/slave-trigger*/				
      
			mode0 { /* IMX219_MODE_1280x720_60FPS */
				mclk_khz = "26000";
				num_lanes = "2";
				tegra_sinterface = "serial_a";
				phy_mode = "DPHY";
				discontinuous_clk = "no";
				dpcm_enable = "false";
				cil_settletime = "0";

				active_w = "1280";
				active_h = "800";
				pixel_t = "bayer_rggb10";
				readout_orientation = "90";
			
				line_length = "1408";
				inherent_gain = "1";
				mclk_multiplier = "7.69";
		
				pix_clk_hz = "200000000";

	
				gain_factor = "1";
				framerate_factor = "1";
				exposure_factor = "1";
				min_gain_val = "1"; /* 1.00x */	
				max_gain_val = "8191"; /* 10.66x */
				step_gain_val = "1";
				default_gain = "16"; /* 1.00x */
				min_framerate = "1"; /* 2.0 fps */
				max_framerate = "65535"; /* 60.0 fps */
				step_framerate = "1";
				default_framerate = "64625"; /* 60.0 fps */
				min_exp_time = "1"; /* us */
				max_exp_time = "16777215"; /* us */
				step_exp_time = "1";
				default_exp_time = "10896"; /* us */

				embedded_metadata_height = "0";
			};

			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					rbpcv2_ov9281_out0: endpoint {
						port-index = <0>;
						bus-width = <2>;
						remote-endpoint = <&rbpcv2_ov9281_csi_in0>;
					};
				};
			};
		};
	};
	
};

tcp: tegra-camera-platform {
compatible = “nvidia, tegra-camera-platform”;
num_csi_lanes = <2>;
max_lane_speed = <1500000>;
min_bits_per_pixel = <8>;
vi_peak_byte_per_pixel = <2>;
vi_bw_margin_pct = <25>;
max_pixel_rate = <240000>;
isp_peak_byte_per_pixel = <5>;
isp_bw_margin_pct = <25>;

}
4.ov9281.c

/* NVIDIA camera_common stuff */
static int ov9281_power_on(struct camera_common_data *s_data)
{
int err = 0;
struct camera_common_power_rail *pw = s_data->power;
struct camera_common_pdata *pdata = s_data->pdata;
struct device *dev = s_data->dev;

dev_dbg(dev, "%s: power on\n", __func__);
if (pdata && pdata->power_on) {
	err = pdata->power_on(pw);
	if (err)
		dev_err(dev, "%s failed.\n", __func__);
	else
		pw->state = SWITCH_ON;
	return err;
}

if (pw->reset_gpio) {
	if (gpio_cansleep(pw->reset_gpio))
	{
		gpio_set_value_cansleep(pw->reset_gpio, 0);
	}	
	else
	{
		gpio_set_value(pw->reset_gpio, 0);
	}
		
}




if (unlikely(!(pw->avdd || pw->iovdd || pw->dvdd)))
	goto skip_power_seqn;

usleep_range(10, 20);

if (pw->avdd) {
	err = regulator_enable(pw->avdd);
	if (err)
		goto imx219_avdd_fail;
}

if (pw->iovdd) {
	err = regulator_enable(pw->iovdd);
	if (err)
		goto imx219_iovdd_fail;
}

if (pw->dvdd) {
	err = regulator_enable(pw->dvdd);
	if (err)
		goto imx219_dvdd_fail;
}

usleep_range(10, 20);

skip_power_seqn:
if (pw->reset_gpio) {
if (gpio_cansleep(pw->reset_gpio))
gpio_set_value_cansleep(pw->reset_gpio, 1);
else
{
gpio_set_value(pw->reset_gpio, 1);
}
}

/* Need to wait for t4 + t5 + t9 time as per the data sheet */
/* t4 - 200us, t5 - 21.2ms, t9 - 1.2ms */
usleep_range(5350, 5360);//ov9281

pw->state = SWITCH_ON;
printk("hzhy SWITCH_ON pw->state = %d %s %s %d\n", pw->state, __FILE__, __FUNCTION__,__LINE__);


return 0;

imx219_dvdd_fail:
regulator_disable(pw->iovdd);

imx219_iovdd_fail:
regulator_disable(pw->avdd);

imx219_avdd_fail:
dev_err(dev, “%s failed.\n”, func);

return -ENODEV;

}

static int ov9281_power_off(struct camera_common_data *s_data)
{
int err = 0;
struct camera_common_power_rail *pw = s_data->power;
struct camera_common_pdata *pdata = s_data->pdata;
struct device *dev = s_data->dev;

dev_dbg(dev, "%s: power off\n", __func__);

if (pdata && pdata->power_off) {
	err = pdata->power_off(pw);
	if (err) {
		dev_err(dev, "%s failed.\n", __func__);
		return err;
	}
} else {
	if (pw->reset_gpio) {
		if (gpio_cansleep(pw->reset_gpio))
		{  
			gpio_set_value_cansleep(pw->reset_gpio, 0);
		}	
		else
		{
			gpio_set_value(pw->reset_gpio, 0);
		}
			
	}


	usleep_range(10, 10);

	if (pw->dvdd)
		regulator_disable(pw->dvdd);
	if (pw->iovdd)
		regulator_disable(pw->iovdd);
	if (pw->avdd)
		regulator_disable(pw->avdd);
}

pw->state = SWITCH_OFF;
printk("hzhy SWITCH_OFF pw->state = %d %s %s %d\n", pw->state, __FILE__, __FUNCTION__,__LINE__);

return 0;

}

static int ov9281_start_streaming(struct tegracam_device *tc_dev)
{
int err;
struct ov9281 *priv = (struct ov9281 *)tegracam_get_privdata(tc_dev);
struct camera_common_data *s_data = tc_dev->s_data;
struct device *dev = s_data->dev;

dev_dbg(dev, "%s: write mode table %d\n", __func__, s_data->mode);
err = ov9281_write_table(priv, ov9281_mode_table[s_data->mode]);
if (err)
	goto exit;

if (ov9281_fsync_table[priv->fsync]) {

	dev_dbg(dev, "%s: write fsync table %d\n", __func__,
		priv->fsync);
	err = ov9281_write_table(priv, ov9281_fsync_table[priv->fsync]);
	if (err)
		goto exit;
}


err = ov9281_write_table(priv, ov9281_mode_table[OV9281_MODE_START_STREAM]);

exit:
dev_err(dev, “%s: error setting stream\n”, func);

return err;

}

static int ov9281_stop_streaming(struct tegracam_device *tc_dev)
{
int err;
struct ov9281 *priv = (struct ov9281 *)tegracam_get_privdata(tc_dev);

err = ov9281_write_table(priv, ov9281_mode_table[OV9281_MODE_STOP_STREAM]);
if(err)
{
	printk("hzhy stream failed %s %s %d\n", __FILE__, __FUNCTION__,__LINE__);

}

usleep_range(50000, 51000);

return err;

}

static struct tegracam_ctrl_ops ov9281_ctrl_ops = {
.numctrls = ARRAY_SIZE(ctrl_cid_list),
.ctrl_cid_list = ctrl_cid_list,
.set_gain = ov9281_set_gain,
.set_exposure = ov9281_set_exposure,
.set_frame_rate = ov9281_set_frame_rate,
.set_group_hold = ov9281_set_group_hold,

};

static struct camera_common_sensor_ops ov9281_common_ops = {
.numfrmfmts = ARRAY_SIZE(ov9281_frmfmt),
.frmfmt_table = ov9281_frmfmt,

.power_on = ov9281_power_on,
.power_off = ov9281_power_off,
.write_reg = ov9281_write_reg,
.read_reg = ov9281_read_reg,


.parse_dt = ov9281_parse_dt,
.power_get = ov9281_power_get,
.power_put = ov9281_power_put,
.set_mode = ov9281_set_mode,
.start_streaming = ov9281_start_streaming,
.stop_streaming = ov9281_stop_streaming,

};

static int ov9281_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
struct device *dev = &client->dev;
struct tegracam_device *tc_dev;
struct ov9281 *priv;
int err;

printk("hzhy version20220704 13:45 v02 %s %s %d\n", __FILE__, __FUNCTION__,__LINE__);

dev_dbg(dev, "probing v4l2 sensor at addr 0x%0x\n", client->addr);

if (!IS_ENABLED(CONFIG_OF) || !client->dev.of_node)
	return -EINVAL;

priv = devm_kzalloc(dev,
		sizeof(struct ov9281), GFP_KERNEL);
if (!priv)
	return -ENOMEM;

gPriv = priv;

tc_dev = devm_kzalloc(dev,
		sizeof(struct tegracam_device), GFP_KERNEL);
if (!tc_dev)
	return -ENOMEM;

priv->i2c_client = tc_dev->client = client;
tc_dev->dev = dev;
strncpy(tc_dev->name, "ov9281", sizeof(tc_dev->name));
tc_dev->dev_regmap_config = &ov9281_regmap_config;
tc_dev->sensor_ops = &ov9281_common_ops;
tc_dev->v4l2sd_internal_ops = &ov9281_subdev_internal_ops;
tc_dev->tcctrl_ops = &ov9281_ctrl_ops;

err = tegracam_device_register(tc_dev);
if (err) {
	dev_err(dev, "tegra camera driver registration failed\n");
	return err;
}
priv->tc_dev = tc_dev;
priv->s_data = tc_dev->s_data;
priv->subdev = &tc_dev->s_data->subdev;
tegracam_set_privdata(tc_dev, (void *)priv);

priv->group_hold_prev		= 0;

err = ov9281_board_setup(priv);
if (err) {
	tegracam_device_unregister(tc_dev);
	dev_err(dev, "board setup failed\n");
	return err;
}

err = tegracam_v4l2subdev_register(tc_dev, true);
if (err) {
	dev_err(dev, "tegra camera subdev registration failed\n");
	return err;
}
camera_common_s_power(priv->subdev, false);

dev_dbg(dev, "detected imx219 sensor\n");

return 0;

}

5.v4l2-ctl
root@nvidia-desktop:~# v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: ‘RG10’
Name : 10-bit Bayer RGRG/GBGB
Size: Discrete 1280x800
Interval: Discrete 0.017s (60.000 fps)
Size: Discrete 1280x720
Interval: Discrete 0.017s (60.000 fps)
Size: Discrete 640x400
Interval: Discrete 0.017s (60.000 fps)

root@nvidia-desktop:~# v4l2-ctl --stream-mmap -c bypass_mode=0
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 69.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 68.50 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 68.43 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 68.50 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 68.40 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 68.50 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 68.42 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 68.41 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 68.44 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 68.40 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 68.45 fps

6.libargus
gst-launch-1.0 nvarguscamerasrc sensor_id=0 ! ‘video/x-raw(memory:NVMM),width=1280, height=800, framerate=21/1, format=NV12’ ! nvvidconv flip-method=0 ! ‘video/x-raw,width=960, height=616’ ! nvvidconv ! nvegltransform ! nveglglessink -e

cannot play,err is:
Setting pipeline to PAUSED …

Using winsys: x11
Pipeline is live and does not need PREROLL …
Got context from element ‘eglglessink0’: gst.egl.EGLDisplay=context, display=(GstEGLDisplay)NULL;
Setting pipeline to PLAYING …
New clock: GstSystemClock
Error generated. src/gstnvarguscamerasrc.cpp, execute:526 No cameras available
Got EOS from element “pipeline0”.
Execution ended after 0:00:00.113669898
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline …

cat /sys/kernel/debug/tracing/trace
root@nx-desktop:/work# [ 603.965468] tegra194-isp5 14800000.isp: isp_capture_init++
[ 603.966789] tegra194-isp5 14800000.isp: chan flags 1
[ 603.966903] tegra194-isp5 14800000.isp: queue depth 4
[ 603.966993] tegra194-isp5 14800000.isp: request size 1088
[ 603.968908] tegra194-isp5 14800000.isp: isp_capture_setup: descr buffer handle 0x403
[ 603.969204] tegra194-isp5 14800000.isp: isp_capture_setup: descr buffer handle 1028
[ 603.971779] t194-nvcsi 15a00000.nvcsi: settle time reading from props
[ 603.973642] t194-nvcsi 15a00000.nvcsi: settle time reading from props
[ 603.973780] t194-nvcsi 15a00000.nvcsi: csi5_mipi_cal
[ 603.973862] t194-nvcsi 15a00000.nvcsi: csi_port:0
[ 603.978729] tegra194-isp5 14800000.isp: 6 GoS tables configured.
[ 603.978864] tegra194-isp5 14800000.isp: gos[0] = 0xc2100000
[ 603.978965] tegra194-isp5 14800000.isp: gos[1] = 0xc2101000
[ 603.979095] tegra194-isp5 14800000.isp: gos[2] = 0xc2102000
[ 603.979216] tegra194-isp5 14800000.isp: gos[3] = 0xc2103000
[ 603.979321] tegra194-isp5 14800000.isp: gos[4] = 0xc2104000
[ 603.979426] tegra194-isp5 14800000.isp: gos[5] = 0xc2105000
[ 603.979520] tegra194-isp5 14800000.isp: isp_capture_ivc_send_control: sending chan_id 69 msg_id 32
[ 603.983215] tegra194-isp5 14800000.isp: isp_capture_ivc_send_control: response chan_id 69 msg_id 33
[ 603.988045] [RCE] Configuring ISP GoS.
[ 603.988049] [RCE] VM GOS[#0] addr=0xc2100000
[ 603.988052] [RCE] VM GOS[#1] addr=0xc2101000
[ 603.988055] [RCE] VM GOS[#2] addr=0xc2102000
[ 603.988080] [RCE] VM GOS[#3] addr=0xc2103000
[ 603.988082] [RCE] VM GOS[#4] addr=0xc2104000
[ 603.988085] [RCE] VM GOS[#5] addr=0xc2105000
[ 604.044698] hzhy dump start+++ /WinLinShare/ZhaoBinBin/project_samba/14.nvidia/1.yao_NX9282/1.UAV311/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS-AI300serial/Linux_for_Tegra/sources/kernel/nvidia/drivers/media/i2c/imx219_argus.c ov9281_power_on 397
[ 604.045091] CPU: 2 PID: 22982 Comm: nvargus-daemon Not tainted 4.9.253-tegra #39
[ 604.050704] Hardware name: NVIDIA Jetson Xavier NX Developer Kit (DT)
[ 604.057008] Call trace:
[ 604.059556] [] dump_backtrace+0x0/0x198
[ 604.064887] [] show_stack+0x24/0x30
[ 604.070396] [] dump_stack+0xa0/0xc4
[ 604.075387] [] ov9281_power_on+0x74/0x380
[ 604.081421] [] camera_common_s_power+0x150/0x1d8
[ 604.087717] [] tegra_channel_set_power+0x84/0x198
[ 604.094023] [] vi5_power_on+0x80/0xa0
[ 604.099013] [] tegra_channel_open+0x80/0x180
[ 604.105307] [] v4l2_open+0x80/0x118
[ 604.110212] [] chrdev_open+0x94/0x198
[ 604.115721] [] do_dentry_open+0x1d8/0x340
[ 604.121320] [] vfs_open+0x58/0x88
[ 604.126221] [] do_last+0x530/0xfa0
[ 604.130773] [] path_openat+0x90/0x378
[ 604.136194] [] do_filp_open+0x70/0xe8
[ 604.141269] [] do_sys_open+0x174/0x258
[ 604.146610] [] SyS_openat+0x3c/0x50
[ 604.151423] [] el0_svc_naked+0x34/0x38
[ 604.157271] hzhy dump end+++ /WinLinShare/ZhaoBinBin/project_samba/14.nvidia/1.yao_NX9282/1.UAV311/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS-AI300serial/Linux_for_Tegra/sources/kernel/nvidia/drivers/media/i2c/imx219_argus.c ov9281_power_on 399
[ 604.178600] hzhy /WinLinShare/ZhaoBinBin/project_samba/14.nvidia/1.yao_NX9282/1.UAV311/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS-AI300serial/Linux_for_Tegra/sources/kernel/nvidia/drivers/media/i2c/imx219_argus.c ov9281_power_on 462
[ 604.198840] hzhy /WinLinShare/ZhaoBinBin/project_samba/14.nvidia/1.yao_NX9282/1.UAV311/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS-AI300serial/Linux_for_Tegra/sources/kernel/nvidia/drivers/media/i2c/imx219_argus.c ov9281_power_on 468
[ 604.224803] hzhy SWITCH_ON pw->state = 1 /WinLinShare/ZhaoBinBin/project_samba/14.nvidia/1.yao_NX9282/1.UAV311/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS-AI300serial/Linux_for_Tegra/sources/kernel/nvidia/drivers/media/i2c/imx219_argus.c ov9281_power_on 481
[ 604.242120] t194-nvcsi 15a00000.nvcsi: csi5_power_on
[ 604.246970] hzhy dump start+++ /WinLinShare/ZhaoBinBin/project_samba/14.nvidia/1.yao_NX9282/1.UAV311/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS-AI300serial/Linux_for_Tegra/sources/kernel/nvidia/drivers/media/i2c/imx219_argus.c ov9281_power_off 517
[ 604.269265] CPU: 2 PID: 22982 Comm: nvargus-daemon Not tainted 4.9.253-tegra #39
[ 604.276720] Hardware name: NVIDIA Jetson Xavier NX Developer Kit (DT)
[ 604.283282] Call trace:
[ 604.285918] [] dump_backtrace+0x0/0x198
[ 604.291168] [] show_stack+0x24/0x30
[ 604.296421] [] dump_stack+0xa0/0xc4
[ 604.301929] [] ov9281_power_off+0x64/0x1c8
[ 604.307703] [] camera_common_s_power+0x5c/0x1d8
[ 604.313741] [] tegra_channel_set_power+0x84/0x198
[ 604.320303] [] vi5_power_off+0x60/0x78
[ 604.325557] [] tegra_channel_close+0x7c/0x140
[ 604.331593] [] v4l2_release+0x48/0xa0
[ 604.336845] [] __fput+0x90/0x1d0
[ 604.341829] [] ____fput+0x20/0x30
[ 604.346901] [] task_work_run+0xbc/0xd8
[ 604.352326] [] do_notify_resume+0xa4/0xb0
[ 604.357668] [] work_pending+0x8/0x10
[ 604.362890] hzhy dump end+++ /WinLinShare/ZhaoBinBin/project_samba/14.nvidia/1.yao_NX9282/1.UAV311/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS-AI300serial/Linux_for_Tegra/sources/kernel/nvidia/drivers/media/i2c/imx219_argus.c ov9281_power_off 519
[ 604.384341] hzhy SWITCH_OFF pw->state = 0 /WinLinShare/ZhaoBinBin/project_samba/14.nvidia/1.yao_NX9282/1.UAV311/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS-AI300serial/Linux_for_Tegra/sources/kernel/nvidia/drivers/media/i2c/imx219_argus.c ov9281_power_off 561
[ 604.407586] t194-nvcsi 15a00000.nvcsi: csi5_power_off
[ 604.416969] hzhy dump start+++ /WinLinShare/ZhaoBinBin/project_samba/14.nvidia/1.yao_NX9282/1.UAV311/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS-AI300serial/Linux_for_Tegra/sources/kernel/nvidia/drivers/media/i2c/imx219_argus.c ov9281_power_on 397
[ 604.433744] CPU: 0 PID: 22982 Comm: nvargus-daemon Not tainted 4.9.253-tegra #39
[ 604.441566] Hardware name: NVIDIA Jetson Xavier NX Developer Kit (DT)
[ 604.448128] Call trace:
[ 604.450501] [] dump_backtrace+0x0/0x198
[ 604.456096] [] show_stack+0x24/0x30
[ 604.461346] [] dump_stack+0xa0/0xc4
[ 604.466337] [] ov9281_power_on+0x74/0x380
[ 604.472116] [] camera_common_s_power+0x150/0x1d8
[ 604.478582] [] tegra_channel_set_power+0x84/0x198
[ 604.484448] [] vi5_power_on+0x80/0xa0
[ 604.489701] [] tegra_channel_open+0x80/0x180
[ 604.495995] [] v4l2_open+0x80/0x118
[ 604.500902] [] chrdev_open+0x94/0x198
[ 604.506408] [] do_dentry_open+0x1d8/0x340
[ 604.511748] [] vfs_open+0x58/0x88
[ 604.516652] [] do_last+0x530/0xfa0
[ 604.521720] [] path_openat+0x90/0x378
[ 604.526882] [] do_filp_open+0x70/0xe8
[ 604.531698] [] do_sys_open+0x174/0x258
[ 604.537295] [] SyS_openat+0x3c/0x50
[ 604.542112] [] el0_svc_naked+0x34/0x38
[ 604.548100] hzhy dump end+++ /WinLinShare/ZhaoBinBin/project_samba/14.nvidia/1.yao_NX9282/1.UAV311/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS-AI300serial/Linux_for_Tegra/sources/kernel/nvidia/drivers/media/i2c/imx219_argus.c ov9281_power_on 399
[ 604.569322] hzhy /WinLinShare/ZhaoBinBin/project_samba/14.nvidia/1.yao_NX9282/1.UAV311/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS-AI300serial/Linux_for_Tegra/sources/kernel/nvidia/drivers/media/i2c/imx219_argus.c ov9281_power_on 462
[ 604.589501] hzhy /WinLinShare/ZhaoBinBin/project_samba/14.nvidia/1.yao_NX9282/1.UAV311/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS-AI300serial/Linux_for_Tegra/sources/kernel/nvidia/drivers/media/i2c/imx219_argus.c ov9281_power_on 468
[ 604.615295] hzhy SWITCH_ON pw->state = 1 /WinLinShare/ZhaoBinBin/project_samba/14.nvidia/1.yao_NX9282/1.UAV311/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS-AI300serial/Linux_for_Tegra/sources/kernel/nvidia/drivers/media/i2c/imx219_argus.c ov9281_power_on 481
[ 604.632821] t194-nvcsi 15a00000.nvcsi: csi5_power_on
[ 604.637694] hzhy dump start+++ /WinLinShare/ZhaoBinBin/project_samba/14.nvidia/1.yao_NX9282/1.UAV311/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS-AI300serial/Linux_for_Tegra/sources/kernel/nvidia/drivers/media/i2c/imx219_argus.c ov9281_power_off 517
[ 604.659683] CPU: 0 PID: 22982 Comm: nvargus-daemon Not tainted 4.9.253-tegra #39
[ 604.667146] Hardware name: NVIDIA Jetson Xavier NX Developer Kit (DT)
[ 604.673967] Call trace:
[ 604.676342] [] dump_backtrace+0x0/0x198
[ 604.681850] [] show_stack+0x24/0x30
[ 604.687362] [] dump_stack+0xa0/0xc4
[ 604.692615] [] ov9281_power_off+0x64/0x1c8
[ 604.698384] [] camera_common_s_power+0x5c/0x1d8
[ 604.704424] [] tegra_channel_set_power+0x84/0x198
[ 604.710725] [] vi5_power_off+0x60/0x78
[ 604.716237] [] tegra_channel_close+0x7c/0x140
[ 604.722274] [] v4l2_release+0x48/0xa0
[ 604.727526] [] __fput+0x90/0x1d0
[ 604.732769] [] ____fput+0x20/0x30
[ 604.737325] [] task_work_run+0xbc/0xd8
[ 604.742749] [] do_notify_resume+0xa4/0xb0
[ 604.748608] [] work_pending+0x8/0x10
[ 604.753951] hzhy dump end+++ /WinLinShare/ZhaoBinBin/project_samba/14.nvidia/1.yao_NX9282/1.UAV311/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS-AI300serial/Linux_for_Tegra/sources/kernel/nvidia/drivers/media/i2c/imx219_argus.c ov9281_power_off 519
[ 604.775011] hzhy SWITCH_OFF pw->state = 0 /WinLinShare/ZhaoBinBin/project_samba/14.nvidia/1.yao_NX9282/1.UAV311/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS-AI300serial/Linux_for_Tegra/sources/kernel/nvidia/drivers/media/i2c/imx219_argus.c ov9281_power_off 561
[ 604.798442] t194-nvcsi 15a00000.nvcsi: csi5_power_off
[ 605.008998] tegra194-isp5 14800000.isp: isp_capture_ivc_send_control: sending chan_id 0 msg_id 34
[ 605.010046] tegra194-isp5 14800000.isp: isp_capture_ivc_send_control: response chan_id 0 msg_id 35
[ 605.010278] tegra194-isp5 14800000.isp: isp_capture_ivc_send_control: sending chan_id 0 msg_id 36
[ 605.010544] tegra194-isp5 14800000.isp: isp_capture_ivc_send_control: response chan_id 0 msg_id 37
[ 605.011122] tegra194-isp5 14800000.isp: isp_capture_shutdown–

hello 1441827825,

here’s callstack messages, which caused by your device tree.
suspect there’s invalid access, please review your device tree property settings,
thanks

Do you have Full wide angle monochrome cameras which Nvidia can play with libargus。Can you recommend some ,Thanks!

hello 1441827825,

please refer to Jetson Partner Supported Cameras page, which list all the cameras supported by Jetson Camera Partners on the Jetson platform.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.