I have a trouble running a Leopard Imaging camera kit, so I went to try out the onboard one present on the devkit. With a TX1 CVM flashed internally to R28.1 it does work correctly, but I need to get it working on a TX2 CVM.
My process was:
- Downloaded L4T R28.2 (but the same was observed in R28.1)
- Downloaded Sample root filesystem R28.1
- ./apply_binaries.sh - which added stock kernel Image and DTB files
- Created /boot/extlinux/extlinux.conf to boot these
- Copied everything to single partition on an SD card formatted to ext4
Booted it up, and the detection of the onboard sensor passed:
nvidia@tegra-ubuntu:~$ dmesg | grep v4l2
[ 2.546658] [OV5693]: probing v4l2 sensor.
Open Terminal, run:
nvidia@tegra-ubuntu:~$ nvgstcapture-1.0
Socket read error. Camera Daemon stopped functioning.....
gst_nvcamera_open() failed ret=0
** (nvgstcapture-1.0:5536): CRITICAL **: <create_capture_pipeline:4564> can't set camera to playing
** (nvgstcapture-1.0:5536): CRITICAL **: <main:5366> Capture Pipeline creation failed
** Message: <main:5373> Capture completed
** Message: <main:5423> Camera application will now exit
In a separate terminal I can observe these messages:
nvidia@tegra-ubuntu:~$ sudo /usr/sbin/nvcamera-daemon
OFParserGetVirtualDevice: virtual device driver node not found in proc device-tree
OFParserGetVirtualDevice: virtual device driver node not found in proc device-tree
LoadOverridesFile: looking for override file [/Calib/camera_override.isp] 1/16LoadOverridesFile: looking for override file [/data/nvcam/settings/camera_overrides.isp] 2/16LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/camera_overrides.isp] 3/16LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/camera_overrides.isp] 4/16LoadOverridesFile: looking for override file [/data/nvcam/camera_overrides.isp] 5/16LoadOverridesFile: looking for override file [/data/nvcam/settings/e3326_front_P5V27C.isp] 6/16LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/e3326_front_P5V27C.isp] 7/16LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/e3326_front_P5V27C.isp] 8/16---- imager: No override file found. ----
SCF: Error ResourceError: (propagating from src/services/capture/CaptureServiceDeviceViCsi.cpp, function openViCsi(), line 274)
SCF: Error ResourceError: (propagating from src/services/capture/CaptureServiceDeviceViCsi.cpp, function open(), line 334)
SCF: Error ResourceError: (propagating from src/services/capture/CaptureServiceDevice.cpp, function openSource(), line 360)
SCF: Error ResourceError: (propagating from src/services/capture/CaptureService.cpp, function openSource(), line 822)
SCF: Error ResourceError: (propagating from src/api/Session.cpp, function initialize(), line 254)
SCF: Error ResourceError: (propagating from src/api/CameraDriver.cpp, function createSession(), line 547)
This was not helpful, so I have installed qv4l2
nvidia@tegra-ubuntu:~$ qv4l2
libv4l2: error turning on stream: Bad address
VIDIOC_STREAMON: Bad address
And a failure message finally appeared in:
nvidia@tegra-ubuntu:~$ dmesg | grep vi4
[ 3.896134] tegra-vi4 15700000.vi: initialized
[ 3.897144] tegra-vi4 15700000.vi: subdev 150c0000.nvcsi-2 bound
[ 3.897146] tegra-vi4 15700000.vi: subdev ov5693 2-0036 bound
[ 800.518525] tegra-vi4 15700000.vi: No VI channel available!
[ 800.524159] tegra-vi4 15700000.vi: Failed to setup VI Notifier, err = -14
Any clues?