RidgeRun / NVIDIA-Jetson-IMX708-RPIV3

NVIDIA Jetson IMX708 RPI V3 camera driver
12 stars 5 forks source link

Installation guide results into headless mode #7

Closed Thesis123123 closed 10 months ago

Thesis123123 commented 10 months ago

Hello !

is it normal for my display to be disabled after reboot? I followed your guide here on how to use the drivers on my jetson nano 4GB. With the difference that i did not use the SDK Manager and instead opted to use a SD card image by nvidia that already has the jetpack loaded.

I also used the recommended (Option A in the guide) method of installing the debian packages. But after the reboot though i get a blank screen (After the white background nvidia logo)).

In summary the exact steps i did was

  1. Flashed the microSD card with the ISO for the Jetson Nano 4GB

  2. Booted into the Jetson nano and completed the intitial setup

  3. Opened the google drive link containing the debian package for the nano and downloaded it (this is done still on the jetson nano).

  4. Ran sudo dpkg -i --force-overwrite ./orin_nano.deb on the downloaded file as per the guide (terminal was on where the file was downloaded). Terminal Response :

  5. jetson@jetson-desktop:~/nvidia$ sudo dpkg -i --force-overwrite ./nano.deb
    [sudo] password for jetson: 
    Selecting previously unselected package imx708-driver.
    (Reading database ... 178835 files and directories currently installed.)
    Preparing to unpack ./nano.deb ...
    Unpacking imx708-driver (0.1.0) ...
    dpkg: warning: overriding problem because --force enabled:
    dpkg: warning: trying to overwrite '/boot/Image', which is also in package nvidia-l4t-kernel 4.9.253-tegra-32.7.1-20220219090432
    Setting up imx708-driver (0.1.0) ...
  6. Modified /boot/extlinux/extlinux.conf to contain the exact texts as per the guide:

TIMEOUT 30
DEFAULT Develop

MENU TITLE L4T boot options

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      FDT /boot/dtb/kernel_tegra234-p3767-0003-p3768-0000-a0.dtb
      INITRD /boot/initrd
      APPEND ${cbootargs} root=PARTUUID=77f45bd2-b473-4f54-8ff7-4ba0edc48af8 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 console=ttyAMA0,115200 firmware_class.path=/etc/firmware fbcon=map:0 net.ifnames=0 nv-auto-config
  1. Rebooted

Upon rebooting though the screen is now only black I know that the jetson nano is still working but it would seem it has gone into a headless-mode. I can still do SSH into the jetson nano (via ethernet) with no problem and I am also able to switch the blank display onto the TTY terminals.

And of course without the desktop environment i could not start a live feed of the camera, but i also did try to take an image capture in SSH using the code provided by the guide:

gst-launch-1.0 nvarguscamerasrc num-buffers=1 sensor_id=0 ! 'video/x-raw(memory:NVMM), width=4608, height=2592, framerate=14/1, format=NV12' ! nvjpegenc ! filesink location=RidgeRun_test.jpg

But i get this error:

jetson@jetson-desktop:~$ gst-launch-1.0 nvarguscamerasrc num-buffers=1 sensor_id=0 ! 'video/x-raw(memory:NVMM), width=4608, height=2592, framerate=14/1, format=NV12' ! nvjpegenc ! filesink location=RidgeRun_test.jpg
nvbuf_utils: Could not get EGL display connection
nvbuf_utils: ERROR getting proc addr of eglCreateImageKHR
nvbuf_utils: ERROR getting proc addr of eglDestroyImageKHR
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:740 No cameras available
Got EOS from element "pipeline0".
Execution ended after 0:00:00.031793854
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
(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)
jetson@jetson-desktop:~$

Any tips what i am doing wrong? Im pretty sure the camera cables are connected the right way. Is there a way to check if the nano can detect a device on the camera?

Nvidia Jetson Nano 4GB Dev Kit Ethernet Display on HDMI Keyboard and Mouse on USB ports Camera on port 0 (connector near the barrel jack of the dev kit)

alfredpchacon commented 10 months ago

Hi @Thesis123123,

What you are reporting is a not known issue, since you are using an image and not the sdkmanager, maybe the kernel version is not correct. We have only tested the driver in this kernel version:

4.9.253-tegra (you can find the kernel vesions compatibility in this link: https://developer.ridgerun.com/wiki/index.php/Raspberry_Pi_Camera_Module_3_IMX708_Linux_driver_for_Jetson, section: IMX708 Linux driver for NVIDIA®Jetson™

Please check your kernel version by tipying the command uname -a in your terminal and attach the output to this thread, thanks.

Thesis123123 commented 10 months ago

@alfredpchacon Thanks for the reply, the kernel is indeed correct but it would seem that the jetpack version in that image is using version 4.6.1 (if i remember correctly) not the required version 4.6.4.

I am still currently playing with nvidia sdk manager since im having some minor troubles. Only ubuntu 16.04 works out of the box because of some dependency. I will get back with an update if using the newer 4.6.4 version will result in the same outcome.

Happy holidays ! :)

Thesis123123 commented 10 months ago

@alfredpchacon Great news i got it to work ! Nothing wrong with the guide. Indeed the problem it seems to be with that pre-made OS image. This time i followed the guide on using the sdkmanager.

It may be of note to future users, only ubuntu 16.04 works out of the box (dont install updates, such as sudo apt upgrade) and instead of installing the SDK components via USB do it via ethernet. USB has a really high chance of failing even if using good quality cables. The installation take 2-3 hours long you dont want it failing midway and starting over again.

My jetson nano config:

jetson@jetson-desktop:~$ uname -a
Linux jetson-desktop 4.9.337-tegra #6 SMP PREEMPT Wed Jul 19 18:30:13 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
jetson@jetson-desktop:~$ sudo apt-cache show nvidia-jetpack
Package: nvidia-jetpack
Version: 4.6.4-b39
Architecture: arm64
Maintainer: NVIDIA Corporation
Installed-Size: 194
Depends: nvidia-l4t-jetson-multimedia-api (>> 32.7-0), nvidia-l4t-jetson-multimedia-api (<< 32.8-0), nvidia-cuda (= 4.6.4-b39), nvidia-tensorrt (= 4.6.4-b39), nvidia-nsight-sys (= 4.6.4-b39), nvidia-cudnn8 (= 4.6.4-b39), nvidia-opencv (= 4.6.4-b39), nvidia-container (= 4.6.4-b39), nvidia-visionworks (= 4.6.4-b39), nvidia-vpi (= 4.6.4-b39)
Homepage: http://developer.nvidia.com/jetson
Priority: standard
Section: metapackages
Filename: pool/main/n/nvidia-jetpack/nvidia-jetpack_4.6.4-b39_arm64.deb
Size: 29388

On a another note, do you provide focus control on the free version? If possible i would like to lock take pictures at a certain focus.

Thank you so much for work you done. Happy new year guys.