We have 4 imx219 cameras in Xavier NX board, cam0 works fine but cam1,2,3 are failing
We use this command to take a picture:
v4l2-ctl --device /dev/video0 --stream-mmap --stream-to=frame.raw --stream-count=1
cam1 and 2 are outputing this on kernel log and the command just hangs
tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ +0.000355] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ +0.000602] (NULL device *): vi_capture_control_message: NULL VI channel received
[ +0.000202] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
[ +0.000261] (NULL device *): vi_capture_control_message: NULL VI channel received
[ +0.000204] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
[ +0.000544] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
cam3 is crashing the Jetson altogether when attempting to take a picture, no logs found in kern.log file after reboot.
may I know which Jetpack release you’re working with.
since there’s only two camera slots on Xavier NX. did you develop the carrier board? or, which customize carrier board you’re using. please also check you’ve update device tree accordingly to enable four camera supports.
thanks
We have updated the device tree to enable four cameras, they are connected to the CSI 2-lanes and controlled using an I2C mux with an I/O extender for power control.
The cameras power up with the system and seems like reset is working too because we see successful reset logs on the kernel messages.
We are using the Xavier Jetson NX customized carrier board
Our first camera is able to take pictures but the other three can’t
v4l2-ctl --list-devices
NVIDIA Tegra Video Input Device (platform:tegra-camrtc-ca):
/dev/media0
thanks, please review your device tree settings, for example, sensor_signal_properties / sensor_image_properties / sensor_control_properties.
there’re hardware specific settings, i.e. clocks, GPIOs, regulators…etc
sensor specific settings, i.e. slave add., width/height, pixel format, pixel clock…etc.
camera platform specific settings, i.e. all the settings within the field of tegra-camera-platform{…}
and… V4L2 media controller specific settings. i.e. those VI/CSI/sensor port bindings.
these device tree settings should be match your hardware setups.
you may also check V4L2 Sensor Driver Development Tutorial for training video which dive deep into the steps of writing a complete V4L2 compliant driver.
thanks