CSI-Camera doesn't work

Hi,
I have a B0183 and a B0191 with IMX219 sensor from Arducam, but I can’t get them to work with nvgstcapture-1.0 on my Jetson NX.

Output of nvgstcapture-1.0

lou@lou-desktop:~$ nvgstcapture-1.0
Encoder null, cannot set bitrate!
Encoder Profile = High
Supported resolutions in case of ARGUS Camera
(2) : 640x480
(3) : 1280x720
(4) : 1920x1080
(5) : 2104x1560
(6) : 2592x1944
(7) : 2616x1472
(8) : 3840x2160
(9) : 3896x2192
(10): 4208x3120
(11): 5632x3168
(12): 5632x4224

Runtime ARGUS Camera Commands:

Help : ‘h’
Quit : ‘q’
Set Capture Mode:
mo:
(1): image
(2): video
Get Capture Mode:
gmo
Set sensor orientation:
so:
(0): none
(1): Rotate counter-clockwise 90 degrees
(2): Rotate 180 degrees
(3): Rotate clockwise 90 degrees
Get sensor orientation:
gso
Set sensor mode:
smo: e.g., smo:1
Get sensor mode:
gsmo
Set Whitebalance Mode:
wb:
(0): off
(1): auto
(2): incandescent
(3): fluorescent
(4): warm-fluorescent
(5): daylight
(6): cloudy-daylight
(7): twilight
(8): shade
(9): manual
Get Whitebalance Mode:
gwb
Set Saturation (0 to 2):
st: e.g., st:1.25
Get Saturation:
gst
Set Exposure Compensation (-2 to 2):
ec: e.g., ec:-2
Get Exposure Compensation:
gec
Set Auto Whitebalance Lock:
awbl: e.g., awbl:0
Get Auto Whitebalance Lock:
awbl
Set Auto Exposure Lock:
ael: e.g., ael:0
Get Auto Exposure Lock:
gael
Set TNR Mode:
tnrm: e.g., tnrm:1
(0): OFF
(1): FAST
(2): HIGH QUALITY
Get TNR Mode:
gtnrm
Set TNR Strength (-1 to 1):
tnrs: e.g., tnrs:0.5
Get TNR Strength:
gtnrs
Set EE Mode:
eem: e.g., eem:1
(0): OFF
(1): FAST
(2): HIGH QUALITY
Get EE Mode:
geem
Set EE Strength (-1 to 1):
ees: e.g., ees:0.5
Get EE Strength:
gees
Set Auto Exposure Anti-Banding (0 to 3):
aeab: e.g., aeab:2
(0): OFF
(1): MODE AUTO
(2): MODE 50HZ
(3): MODE 60HZ
Get Auto Exposure Anti-Banding:
gaeab
Set Gain Range:
gr: e.g., gr:1 16
Get Gain Range:
ggr
Set Exposure Time Range:
etr: e.g., etr:34000 35000
Get Exposure Time Range:
getr
Set ISP Digital Gain Range:
dgr: e.g., dgr:2 152
Get ISP Digital Gain Range:
gdgr
Capture: enter ‘j’ OR
followed by a timer (e.g., jx5000, capture after 5 seconds) OR
followed by multishot count (e.g., j:6, capture 6 images)
timer/multihot values are optional, capture defaults to single shot with timer=0s
Start Recording : enter ‘1’
Stop Recording : enter ‘0’
Video snapshot : enter ‘2’ (While recording video)
Get Preview Resolution:
gpcr
Get Image Capture Resolution:
gicr
Get Video Capture Resolution:
gvcr

Runtime encoder configuration options:

Set Encoding Bit-rate(in bytes):
br: e.g., br:4000000
Get Encoding Bit-rate(in bytes):
gbr
Set Encoding Profile(only for H.264):
ep: e.g., ep:1
(0): Baseline
(1): Main
(2): High
Get Encoding Profile(only for H.264):
gep
Force IDR Frame on video Encoder(only for H.264):
Enter ‘f’

bitrate = 4000000
Encoder Profile = High
Encoder control-rate = 1
Encoder EnableTwopassCBR = 0
Opening in BLOCKING MODE
Opening in BLOCKING MODE
** Message: 10:51:23.982: main:4670 iterating capture loop …
NvMMLiteOpen : Block : BlockType = 4
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:645 No cameras available

(nvgstcapture-1.0:8478): GStreamer-CRITICAL : 10:51:24.243: gst_mini_object_set_qdata: assertion ‘object != NULL’ failed
^C
Message: 10:51:27.554: <_intr_handler:4261> User Interrupted…

Terminating the camera pipeline …
** Message: 10:51:27.631: main:4680 Capture completed
** Message: 10:51:27.631: main:4729 Camera application will now exit

lou@lou-desktop:~$ dmesg | grep -i imx219
lou@lou-desktop:~$ v4l2-ctl --list-formats
Failed to open /dev/video0: No such file or directory
lou@lou-desktop:~$

OpenCV 4.1.1 with Gstreamer
dpkg -l | grep nvidia-l4t-core : nvidia-l4t-core 32.5.1-20210519111140

I am on a devkit, and I plugged the camera when the NX was off, then I started it and got those previous logs.
It seems like it’s a hardware issue, but I tried with others cables and cameras without success.
Thank you for any help provided.

Hi @Bazziil,

Can you check the same command you gave us just after booting:

dmesg | grep imx219

Even if no camera is connected, you should see exactly that, that no imx219 is connected because by default imx219 driver is enabled.

Best regards,
Roberto

Hi Roberto,

dmesg | grep imx219

returns nothing, it’s an image that I have for a while now I installed it with SDKManager, it’s Jetpack 4.5.1, and I have Opencv and opencv_contrib.

Hi @Bazziil,

There should be messages from imx219 in the boot logs, even if it fails. If that is not happening, the problem is not related to opencv but to the imx219 driver loading. How did you installed the OS on the Jetson? Did you modify the kernel or some sort?

Regards,
Roberto

Hi Roberto,
I installed the OS with SDKManager, I didn’t touch the kernel at all, maybe it comes from another device or driver.
We also tried with raspberry, and it did not work.
Thank you

Got it to work, we had to uninstall or maybe install then desinstall arducam driver.
sudo dpkg -r arducam-nvidia-l4t-kernel to uninstall
sudo reboot
then nvgstcapture-1.0

1 Like