Jetson Nano fails to work with RPi HQ Camera

Hi Team,

The Jetson Nano suddenly have stopped working with the RPi HQ camera (Buy a Raspberry Pi High Quality Camera – Raspberry Pi). I had been using the camera without any issues until about few days ago. Then it has suddenly stopped working, failing with the following messages:

jetson@nano:~$ sudo apt-cache show nvidia-jetpack
Package: nvidia-jetpack
Version: 4.6-b199
Architecture: arm64
Maintainer: NVIDIA Corporation
Installed-Size: 194
Depends: nvidia-cuda (= 4.6-b199), nvidia-opencv (= 4.6-b199), nvidia-cudnn8 (= 4.6-b199), nvidia-tensorrt (= 4.6-b199), nvidia-visionworks (= 4.6-b199), nvidia-container (= 4.6-b199), nvidia-vpi (= 4.6-b199), nvidia-l4t-jetson-multimedia-api (>> 32.6-0), nvidia-l4t-jetson-multimedia-api (<< 32.7-0)

v4l2-compliance gives :

jetson@nano:~$ v4l2-compliance
v4l2-compliance SHA: not available, 64 bits

Compliance test for tegra-video device /dev/video0:

Driver Info:
	Driver name      : tegra-video
	Card type        : vi-output, imx477 7-001a
	Bus info         : platform:54080000.vi:0
	Driver version   : 4.9.253
	Capabilities     : 0x84200001
		Video Capture
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps      : 0x04200001
		Video Capture
		Streaming
		Extended Pix Format
Media Driver Info:
	Driver name      : vi
	Model            : NVIDIA Tegra Video Input Device
	Serial           : 
	Bus info         : 
	Media version    : 0.1.0
	Hardware revision: 0x00000003 (3)
	Driver version   : 0.0.0
Interface Info:
	ID               : 0x03000008
	Type             : V4L Video
Entity Info:
	ID               : 0x00000006 (6)
	Name             : vi-output, imx477 7-001a
	Function         : V4L2 I/O
	Pad 0x01000007   : Sink
	  Link 0x0200000c: from remote pad 0x1000003 of entity 'nvcsi--2': Data, Enabled

Required ioctls:
	test MC information (see 'Media Driver Info' above): OK
	test VIDIOC_QUERYCAP: OK

Allow for multiple opens:
	test second /dev/video0 open: OK
	test VIDIOC_QUERYCAP: OK
	test VIDIOC_G/S_PRIORITY: OK
	test for unlimited opens: OK

Debug ioctls:
	test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
	test VIDIOC_LOG_STATUS: OK

Input ioctls:
	test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
	test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
	test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
	test VIDIOC_ENUMAUDIO: OK (Not Supported)
	test VIDIOC_G/S/ENUMINPUT: OK
	test VIDIOC_G/S_AUDIO: OK (Not Supported)
	Inputs: 1 Audio Inputs: 0 Tuners: 0

Output ioctls:
	test VIDIOC_G/S_MODULATOR: OK (Not Supported)
	test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
	test VIDIOC_ENUMAUDOUT: OK (Not Supported)
	test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
	test VIDIOC_G/S_AUDOUT: OK (Not Supported)
	Outputs: 0 Audio Outputs: 0 Modulators: 0

Input/Output configuration ioctls:
	test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
	test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
	test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
	test VIDIOC_G/S_EDID: OK (Not Supported)

Control ioctls (Input 0):
	test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
	test VIDIOC_QUERYCTRL: OK
	test VIDIOC_G/S_CTRL: OK
	test VIDIOC_G/S/TRY_EXT_CTRLS: OK
	test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
	test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
	Standard Controls: 1 Private Controls: 17

Format ioctls (Input 0):
	test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
		fail: v4l2-test-formats.cpp(1280): ret && node->has_frmintervals
	test VIDIOC_G/S_PARM: FAIL
	test VIDIOC_G_FBUF: OK (Not Supported)
	test VIDIOC_G_FMT: OK
	test VIDIOC_TRY_FMT: OK
	test VIDIOC_S_FMT: OK
	test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
	test Cropping: OK (Not Supported)
	test Composing: OK (Not Supported)
	test Scaling: OK (Not Supported)

Codec ioctls (Input 0):
	test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
	test VIDIOC_G_ENC_INDEX: OK (Not Supported)
	test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)

Buffer ioctls (Input 0):
		fail: v4l2-test-buffers.cpp(715): q.create_bufs(node, 1, &fmt) != EINVAL
	test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: FAIL
	test VIDIOC_EXPBUF: OK
	test Requests: OK (Not Supported)

Total for tegra-video device /dev/video0: 45, Succeeded: 43, Failed: 2, Warnings: 0

qv4l2 gives:

qv4l2
Opening in BLOCKING MODE
Available Sensor modes :
Resolution: 3840 x 2160 ; Framerate = 29,999999; Analog Gain Range Min 1,000000, Max 22,250000, Exposure Range Min 13000, Max 683709000

Resolution: 1920 x 1080 ; Framerate = 59,999999; Analog Gain Range Min 1,000000, Max 22,250000, Exposure Range Min 13000, Max 683709000

DEFAULT no IOCTL called
DEFAULT no IOCTL called
DEFAULT no IOCTL called
DEFAULT no IOCTL called
DEFAULT no IOCTL called
DEFAULT no IOCTL called
DEFAULT no IOCTL called
DEFAULT no IOCTL called
DEFAULT no IOCTL called
Not Implemented
DEFAULT no IOCTL called
DEFAULT no IOCTL called
DEFAULT no IOCTL called
DEFAULT no IOCTL called
DEFAULT no IOCTL called
Unsupported memory type
Segmentation fault (core dumped)

jetson@nano:~$ ls /dev/vid*
/dev/video0
jetson@nano:~$ gst-launch-1.0 nvarguscamerasrc sensor-id=0
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3840 x 2160 FR = 29,999999 fps Duration = 33333334 ; Analog Gain range min 1,000000, max 22,250000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 59,999999 fps Duration = 16666667 ; Analog Gain range min 1,000000, max 22,250000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 1 
   Output Stream W = 1920 H = 1080 
   seconds to Run    = 0 
   Frame Rate = 59,999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD... Exiting...
CONSUMER: ERROR OCCURRED
ERROR: from element /GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0: CANCELLED
Additional debug info:
Argus Error Status
Execution ended after 0:00:02.042078431
Setting pipeline to NULL ...
GST_ARGUS: Cleaning up
(Argus) Error EndOfFile: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 266)
(Argus) Error EndOfFile: Receive worker failure, notifying 1 waiting threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 340)
(Argus) Error InvalidState: Argus client is exiting with 1 outstanding client threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 357)
(Argus) Error EndOfFile: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 368)
(Argus) Error EndOfFile: Client thread received an error from socket (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 145)
(Argus) Error EndOfFile:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)
(Argus) Error InvalidState: Receive thread is not running cannot send. (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 96)
(Argus) Error InvalidState:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)
Freeing pipeline ...
(Argus) Error InvalidState: Receive thread is not running cannot send. (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 96)
(Argus) Error InvalidState:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)

The jetson is able to recognize the camera but fails to open it. I did do the sudo apt update, sudo apt upgrade and went about using sudo /opt/nvidia/jetson-io/jetson-io.py to configure the CSI ports into IMX477 dual mode.

Any help is greatly appreciated.

Regards,
Joseph

Also this is another issue that is coming up :

jetson@nano:~$ sudo modprobe bcm2835-qv4l2
modprobe: FATAL: Module bcm2835-qv4l2 not found in directory /lib/modules/4.9.253-tegra

and

jetson@nano:~$ qv4l2 -R -d /dev/video0

gives:

the test failure here is fatal.
do you update the kernel driver accidentally?

Hi Jerry,

I had reinstalled image that I had used earlier on in the Jetson Nano (that I downloaded from here : GitHub - Qengineering/Jetson-Nano-image: Jetson Nano image with deep learning frameworks) although strangely enough the issue persists.

See below:

jetson@nano:~$ cat /etc/nv_tegra_release
# R32 (release), REVISION: 6.1, GCID: 27863751, BOARD: t210ref, EABI: aarch64, DATE: Mon Jul 26 19:20:30 UTC 2021
jetson@nano:~$ uname -a
Linux nano 4.9.253-tegra #1 SMP PREEMPT Mon Jul 26 12:13:06 PDT 2021 aarch64 aarch64 aarch64 GNU/Linux
jetson@nano:~$ sudo apt install nvidia-l4t-kernel
Reading package lists... Done
Building dependency tree       
Reading state information... Done
nvidia-l4t-kernel is already the newest version (4.9.253-tegra-32.6.1-20210726122000).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
jetson@nano:~$ sudo apt install nvidia-l4t-kernel-dtbs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
nvidia-l4t-kernel-dtbs is already the newest version (4.9.253-tegra-32.6.1-20210726122000).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Which is what I see when I check at Index

Would it be possible that this specific Jetson Pack and related kernels don’t work with RPi HQ camera?

is it hardware damage? do you have other camera modules to have cross validation?

I feel it can’t be. I had replaced, the Camera (trying both with and without the R8 resistor) as well as the Jetson Nano. So basically it is a fresh set but the issue seem to be following me!

could you please try installing the latest Jetpack release by SDK Manager - NVIDIA Developer for confirmation.

Hello Jerry,

Yes I ended up installing JetPack 4.6.3 using an SD Card image from JetPack SDK 4.6.3 | NVIDIA Developer . Using the SDK Manager didn’t work, as I am running 22.04 and the SDK GUI mentions ‘No available releases for host OS: Ubuntu 22.04

further went through the sudo apt update , sudo apt upgrade , sudo /opt/nvidia/jetson-io/jetson-io.py rituals and yes

jetson@nano:~$ gst-launch-1.0 nvarguscamerasrc nvoverlaysink

started the camera. It is working now.

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