Jetson TX1 onboard camera, does it really work?

I downloaded and installed the latest Jetpack 2.3 and I was able to get my Logitech USB camera to work as a v4l2 camera at index 0. I tried to run the nvgst_camera_capture sample program and the window displays a very streaky display that displays data but definitely not correct. Has anyone out there been able to get the onboard camera to be properly framegrabbed and displayed? I haven’t been able to get it to work either with this jetpack or the prior one. I’m beginning to wonder if it works at all.

Yes it works, and here is example source code of using it. There are also sample camera gstreamer pipelines located in the L4T Multimedia Guide.

i had a few pipelines left from the multimedia guide before, but i think they are still mentioned. you can use them as test.

gst-launch-1.0 nvcamerasrc fpsRange=“30.0 30.0” ! ‘video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)I420, framerate=(fraction)30/1’ ! nvtee ! nvvidconv flip-method=2 ! ‘video/x-raw(memory:NVMM), format=(string)I420’ ! nvoverlaysink -e

gst-launch-1.0 nvcamerasrc fpsRange=“30.0 30.0” ! ‘video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, format=(string)I420, framerate=(fraction)30/1’ ! nvtee ! nvoverlaysink -e

these 2 pretty much the same except for flip method.

this following one is also mentioned in multimedia user guide but it gives me an error i have yet to fix, the fps range is different for some reason.

gst-launch-1.0 nvcamerasrc fpsRange=“30 30” ! ‘video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160,format=(string)I420, framerate=(fraction)30/1’ ! nvtee ! nvivafilter cuda-process=true customer-lib-name=“libnvsample_cudaprocess.so” !‘video/x-raw(memory:NVMM), format=(string)NV12’ ! nvoverlaysink -e

thanks for the prompt reply. I will try these gstreamer pipelines tonite when I get home on my TX1.
Dusty, I will also download your jetson-inference from GitHub build it and test it as well. That looks interesting as its C++ code that I can use elsewhere.

Another individual reported also that the nvx_sample player works for the onboard TX1 camera as well with the following command

nvx_sample_player --source=“device:///nvcamera?index=0”

I will try that too. The only success I have had is with my logitech USB camera to work with the following:

nvx_sample_player --source=“device:///v4l2?index=0”

I tried the nvgstcamera_capture example that defaults to the onboard camera from what I can tell and that is the one that doesn’t work for me.

One other question. The OpenCV VideoCapture Class constructor given a 0 as the device number gets its data from which camera? I would also like to use that class for frame capture as well.

ok, so I just tried nvgst_sample_player --source=device:///nvcamera?index=0 and I see a screen of green horizontal streaks.

I also typed in carefully the gst-launch-1.0 nvcamerasrc fpsRange=“30.0 30.0” ! ‘video/x-raw(memory:NVMM), width=(int)1920,height=(int)1080, format=(string)I420,framerate=(fraction)30/1’ ! nvtee ! nvvidconv flip-method=2! ‘video/x-raw(memory:NVMM),format=(string)I420’ ! nvoverlaysink -e

command and it gave me a full light green screen.

My USB Camera using:

nvgst_sample_player --source=device:///v4l2?index=0

works just fine. So either I’m still doing something wrong or my onboard camera is non-functional.

What to do now?



pic1.jpg

pic1.jpg

I just ran another test

nvgstcapture-1.0 --camsrc=0 ( this was fine as it was the USB camera )
nvgstcapture-1.0 --camera=1 ( this was not fine as it was the CSI camera , scrambled output )
nvgstcapture-1.0 --camera=2 ( this was the test pattern and it was fine as well )

So another test conforming the CSI isn’t working.

Could you check the kernel message to see if the sensor driver was probe after boot. If not your camera board may not connect to TX1 as well or have problem.

ubuntu@tegra-ubuntu:~$ dmesg | grep -i ov5693
[ 5.753196] [OV5693]: probing v4l2 sensor.

And after that use the v4l2-ctl you should got information like below.

ubuntu@tegra-ubuntu:~$ v4l2-ctl --list-devices
vi-output-2 (platform:vi:2):
/dev/video0

UVC Camera (046d:081b) (usb-tegra-xhci-3):
/dev/video1
/dev/v4l-subdev0

I’m having a similar problem as described here. There is no probe message in the dmesg log. Is there a command to manually test this and see why it fails?

If you didn’t see the probe message you camera board may not connect well or broken.

Here is the RMA Procedure for your reference, which has been published in https://developer.nvidia.com/embedded/support

  1.        Go to http://www.nvidia.com/nvcc
    
  2.        Select “Live Chat” from the options near the top of the page.
    
  3.        Enter your personal information.
    
  4.        Select the appropriate product from the drop-down list (“Tegra” in this case).
    
  5.        Submit the request.

I ran the dmesg | grep ov5693 command and I get the following:

4.466045] [OV5693]: probing v4l2 sensor.
[ 4.466324] ov5693 6-0036: Failed to allocate eeprom reg map: -22
[ 9.869042] vi vi: parsing node /host1x/i2c@546c0000/ov5693_c@36
[ 9.869049] vi vi: handling endpoint /host1x/i2c@546c0000/ov5693_c@36/ports/port@0/endpoint
[ 9.869071] vi vi: subdev ov5693 6-0036 bound
[ 9.869091] vi vi: creating links for entity ov5693 6-0036
[ 9.869097] vi vi: processing endpoint /host1x/i2c@546c0000/ov5693_c@36/ports/port@0/endpoint
[ 9.869119] vi vi: skipping channel port /host1x/i2c@546c0000/ov5693_c@36:0
[ 9.869160] vi vi: creating ov5693 6-0036:0 -> vi-output-2:0 link

when I run the v4l2-ctl command I get the following:

bash: v4l2-ctl: command not found

what do you see from this?

Your log shows the sensor driver ov5693 probing well. You can install the vl4-utils by sudo apt-get install v4l-utils to get v4l2-ctl. Could you also check the kernel message after you get the green screen. If there’s a lot of syncpt timeout that that may cause by the HW issue try to reconnect the camera board again and please follow #10 to report it.

How does the camera connect to the board? Can I simply lift up on it and reset it? It looks like to me its soldered in.

i’m curious as to what the response i get means
ubuntu@tegra-ubuntu:~$ v4l2-ctl --list-devices
VIDIOC_QUERYCAP: failed: Inappropriate ioctl for device <—
vi-output-2, ov5693 6-0036 (platform:vi:2):
/dev/video0
/dev/v4l-subdev0

btw, i also get this,
ubuntu@tegra-ubuntu:~$ dmesg | grep -i ov5693
[ 3.228468] [OV5693]: probing v4l2 sensor.
[ 3.228755] ov5693 6-0036: Failed to allocate eeprom reg map: -22
[ 8.219125] vi vi: parsing node /host1x/i2c@546c0000/ov5693_c@36
[ 8.228210] vi vi: handling endpoint /host1x/i2c@546c0000/ov5693_c@36/ports/port@0/endpoint
[ 8.239721] vi vi: subdev ov5693 6-0036 bound
[ 8.255806] vi vi: creating links for entity ov5693 6-0036
[ 8.264391] vi vi: processing endpoint /host1x/i2c@546c0000/ov5693_c@36/ports/port@0/endpoint
[ 8.276148] vi vi: skipping channel port /host1x/i2c@546c0000/ov5693_c@36:0
[ 8.312344] vi vi: creating ov5693 6-0036:0 -> vi-output-2:0 link

however, as far as i know , my camera works.

sherrick
There are two screw to lock the camera board you need release them first.

IMG_1124.jpg

IMG_1124.jpg

I reseated the camera but didn’t change anything

I reseated the camera but didn’t change anything

Runnine v4l2-ctl --list-devices

Shows
UVC Camera (046d:0825) (usb-tegra-ehci.0-1):

/dev/video

So now video doesn’t show up anymore .
Gone from bad to worse.

/dev/video1 showed up before but now it’s gone.
The Camera Is Seated We’ll and screwed in tight

Can I use the RMA procedure and send just the camera back for replacement?

I don’t know about camera information, but if you do decide to RMA the information is near the top of this:
https://devtalk.nvidia.com/default/topic/793798/embedded-systems/some-jetson-web-links/