JetBot - no camera found

Using the latest Sparkfun JetBot image on 4GB nano + JetBot kit, the camera is not detected.

There is nothing listed under /dev/video0.

nvgstreamer reports no cameras available:

$ gst-launch-1.0 nvarguscamerasrc sensor_id=0 ! nvoverlaysink

nvbuf_utils: Could not get EGL display connection

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:521 No cameras available

Got EOS from element “pipeline0”.

Execution ended after 0:00:00.006422841

Setting pipeline to PAUSED …

Setting pipeline to READY …

Setting pipeline to NULL …

Freeing pipeline …

Are there tests that would help determine if the camera hardware is bad?

Any help is greatly appreciated, thanks!

  • - I would suggest following the [[hookup guide](https://learn.sparkfun.com/tutorials/assembly-guide-for-sparkfun-jetbot-ai-kit-v20).
  • - When you get to the section called **Examples**, use one of the examples that utilizes the camera... like the teleoperation or collision_avoidance examples.
  • ](https://learn.sparkfun.com/tutorials/assembly-guide-for-sparkfun-jetbot-ai-kit-v20)

    Thanks @Santa_Impersonator, I started with the install guide, worked through motor control example, then teleoperation example is where I discovered cameras are not detected, unable to create Camera instance:

    RuntimeError                              Traceback (most recent call last)
    /usr/local/lib/python3.6/dist-packages/jetbot-0.3.0-py3.6.egg/jetbot/camera.py in __init__(self, *args, **kwargs)
         29             if not re:
    ---> 30                 raise RuntimeError('Could not read image from camera.')
         31 
    RuntimeError: Could not read image from camera.
    During handling of the above exception, another exception occurred:
    RuntimeError                              Traceback (most recent call last)
    <ipython-input-4-87257c35b9ce> in <module>
          1 from jetbot import Camera
          2 
    ----> 3 camera = Camera.instance()
    /usr/local/lib/python3.6/dist-packages/traitlets/config/configurable.py in instance(cls, *args, **kwargs)
        508         # Create and save the instance
        509         if cls._instance is None:
    --> 510             inst = cls(*args, **kwargs)
        511             # Now make sure that the instance will also be returned by
        512             # parent classes' _instance attribute.
    /usr/local/lib/python3.6/dist-packages/jetbot-0.3.0-py3.6.egg/jetbot/camera.py in __init__(self, *args, **kwargs)
         35             self.stop()
         36             raise RuntimeError(
    ---> 37                 'Could not initialize camera.  Please see error trace.')
         38 
         39         atexit.register(self.stop)
    RuntimeError: Could not initialize camera.  Please see error trace.
    

    Tried the [Camera Test notebook, same result.

    Also tried other tips:

    $ sudo systemctl restart nvargus-daemon

    $ journalctl -u jetbot_jupyter >> jetbot_jupyter_log.txt

    $ journalctl -u nvargus-daemon >> nvargus_daemon_log.txt

    In all cases, error messages allude to cameras not being detected. Tried reconnecting ribbon cable, other CSI connector, reboot, etc. - no change in behavior.

    Any test that could rule out (or confirm) a hardware issue?](Jetson Nano + Sphero RVR Mash-up (PART 2) - SparkFun Learn)

    Unfortunately, I’ve never ran into this issue before… so, I don’t have much advice on ways to test the hardware. You may want to try the Nvidia forum, as well (they will have more expertise on the camera and hardware… [example). These guides look like a promising place start to testing the hardware:

  • - [https://github.com/JetsonHacksNano/CSI-Camera](https://github.com/JetsonHacksNano/CSI-Camera)
  • - [https://developer.nvidia.com/embedded/l ... usb-camera](https://developer.nvidia.com/embedded/learn/tutorials/first-picture-csi-usb-camera)
  • ](https://forums.developer.nvidia.com/t/image-binning-in-li-imx219-mipi-ff-nano-h136-v1-3-leopards-imaging-imx219-camera/169304/3)

    Also - do you happen to have an alternate camera laying around to test? (USB webcam, or any CSI/MIPI camera?)

    Thanks @Santa_Impersonator and @TS-Russell. USB camera does work. I only have one MIPI camera, the Leopard Imaging IMX219, don’t have access to another one to try.

    @Santa_Impersonator - thanks for the links, I’ve been through them already, when I run:

    $ nvgstcapture-1.0

    it doesn’t work, mentions at the bottom of console output:

    Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:521 No cameras available

    In dmesg, these messages seem to indicate that the camera is dead, there is no i2c communication from Jetson:

    $ dmesg | grep imx219
    [    1.254002] imx219 7-0010: tegracam sensor driver:imx219_v2.0.6
    [    1.277450] imx219 7-0010: imx219_board_setup: error during i2c read probe (-121)
    [    1.277485] imx219 7-0010: board setup failed
    [    1.277592] imx219: probe of 7-0010 failed with error -121
    [    1.278238] imx219 8-0010: tegracam sensor driver:imx219_v2.0.6
    [    1.301615] imx219 8-0010: imx219_board_setup: error during i2c read probe (-121)
    [    1.301648] imx219 8-0010: board setup failed
    [    1.301745] imx219: probe of 8-0010 failed with error -121
    

    It seems the camera board is DOA (this is my second one, first had lens crushed during shipment).

    Update: hardware problem confirmed, installed new camera and it now works. Thanks for your guidance!