Navigation

    VEYE IMAGING Forum

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Recent
    • Popular
    • Users
    • WIKI
    • veye.cc

    SOLVED VEYE-imx462 and Orin Nano developer kit problem

    VEYE MIPI camera
    2
    17
    1615
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      joe last edited by

      Hello everyone,

      I'm attempting to use the VEYE-imx462 camera in conjunction with the Jetson Orin Nano 8GB original developer kit. I've followed the instructions outlined in this guide:
      https://wiki.veye.cc/index.php/VEYE_CS_Camera_for_Jetson_TX2

      Unfortunately, I'm encountering issues, and when I run "dmesg | grep veye," I receive the following output:

      [16.290295] veye_mvcam: loading out-of-tree module taints kernel.
      [16.290511] veye_mvcam: loading out-of-tree module taints kernel.
      [16.297416] veye_mvcam: module verification failed: signature and/or required key missing - tainting kernel
      [16.313909] mvcam 9-003b: veye mv series camera driver version: 01.01.03
      [16.815979] veye_mvcam: mvcam_read: Reading register 0x04 failed
      [16.832733] mvcam 10-003b: veye mv series camera driver version: 01.01.03

      Does anyone have a solution for this issue?

      Thank you in advance.

      veye_xumm 1 Reply Last reply Reply Quote 0
      • veye_xumm
        veye_xumm @joe last edited by

        @joe
        Please verify the model of the camera you are using. If you are using VEYE-MIPI-IMX462, then the device tree file (DTB) you are using might be incorrect. You should use the DTB from the veyecam2m directory, not the mvcam directory.

        J 1 Reply Last reply Reply Quote 0
        • J
          joe @veye_xumm last edited by

          @veye_xumm

          I appreciate your prompt and helpful response. I successfully copied the dtbs file from "dtbs/Orin/JetPack_5.1.2_Linux_JETSON_ORIN_TARGETS/dts dtb/VEYE-MIPI-CAM2M" path, and everything is functioning properly.

          However, I am currently facing a second issue related to camera controls. I am attempting to manage exposure and gain, but when I use the v4l2-ctl command to list the camera controls, I cannot locate the settings for exposure and gain. Is there an alternative method to control exposure and gain that you could recommend?
          The v4l2-ctl --all result:

          Driver Info:
          Driver name : tegra-video
          Card type : vi-output, veyecam 10-003b
          Bus info : platform:tegra-capture-vi:2
          Driver version : 5.10.120
          Capabilities : 0x84200001
          Video Capture
          Streaming
          Extended Pix Format
          Device Capabilities
          Device Caps : 0x04200001
          Video Capture
          Streaming
          Extended Pix Format
          Media Driver Info:
          Driver name : tegra-camrtc-ca
          Model : NVIDIA Tegra Video Input Device
          Serial :
          Bus info :
          Media version : 5.10.120
          Hardware revision: 0x00000003 (3)
          Driver version : 5.10.120
          Interface Info:
          ID : 0x0300000b
          Type : V4L Video
          Entity Info:
          ID : 0x00000009 (9)
          Name : vi-output, veyecam 10-003b
          Function : V4L2 I/O
          Pad 0x0100000a : 0: Sink
          Link 0x0200000f: from remote pad 0x1000006 of entity '13e40000.host1x:nvcsi@15a00000-': Data, Enabled
          Priority: 2
          Video input : 0 (Camera 2: no power)
          Format Video Capture:
          Width/Height : 1920/1080
          Pixel Format : 'UYVY' (UYVY 4:2:2)
          Field : None
          Bytes per Line : 3840
          Size Image : 4147200
          Colorspace : sRGB
          Transfer Function : Default (maps to sRGB)
          YCbCr/HSV Encoding: Default (maps to ITU-R 601)
          Quantization : Default (maps to Limited Range)
          Flags :

          Camera Controls

                          sensor_mode 0x009a2008 (int64)  : min=0 max=1 step=1 default=0 value=0 flags=slider
                 sensor_configuration 0x009a2032 (u32)    : min=0 max=4294967295 step=1 default=0 [22] flags=read-only, volatile, has-payload
               sensor_mode_i2c_packet 0x009a2033 (u32)    : min=0 max=4294967295 step=1 default=0 [1026] flags=read-only, volatile, has-payload
            sensor_control_i2c_packet 0x009a2034 (u32)    : min=0 max=4294967295 step=1 default=0 [1026] flags=read-only, volatile, has-payload
                          bypass_mode 0x009a2064 (intmenu): min=0 max=1 default=0 value=0
          			0: 0 (0x0)
          			1: 1 (0x1)
                      override_enable 0x009a2065 (intmenu): min=0 max=1 default=0 value=0
          			0: 0 (0x0)
          			1: 1 (0x1)
                         height_align 0x009a2066 (int)    : min=1 max=16 step=1 default=1 value=1
                           size_align 0x009a2067 (intmenu): min=0 max=2 default=0 value=0
          			0: 1 (0x1)
          			1: 65536 (0x10000)
          			2: 131072 (0x20000)
                     write_isp_format 0x009a2068 (int)    : min=1 max=1 step=1 default=1 value=1
             sensor_signal_properties 0x009a2069 (u32)    : min=0 max=4294967295 step=1 default=0 [30][18] flags=read-only, has-payload
              sensor_image_properties 0x009a206a (u32)    : min=0 max=4294967295 step=1 default=0 [30][16] flags=read-only, has-payload
            sensor_control_properties 0x009a206b (u32)    : min=0 max=4294967295 step=1 default=0 [30][36] flags=read-only, has-payload
                    sensor_dv_timings 0x009a206c (u32)    : min=0 max=4294967295 step=1 default=0 [30][16] flags=read-only, has-payload
                     low_latency_mode 0x009a206d (bool)   : default=0 value=0
                     preferred_stride 0x009a206e (int)    : min=0 max=65535 step=1 default=0 value=0
                         sensor_modes 0x009a2082 (int)    : min=0 max=30 step=1 default=30 value=1 flags=read-only
          veye_xumm 1 Reply Last reply Reply Quote 0
          • veye_xumm
            veye_xumm @joe last edited by

            @joe
            Because our camera has many features beyond the standard V4L2 controls, we provide scripts that allow parameter configuration by directly writing to I2C registers.

            Please refer to part4.3

            J 1 Reply Last reply Reply Quote 0
            • J
              joe @veye_xumm last edited by

              @veye_xumm
              Thank you for your prompt response.
              I'm currently facing two issues while using the I2C script to set parameters from the specified path: nvidia_jetson_veye_bsp/i2c_cmd/bin/veye_mipi_i2c.sh .

              1- Firstly, the document link provided (https://wiki.veye.cc/index.php/I2c_bus_number_and_video_node) does not specify the appropriate -b parameter for Orin Nano. To identify the correct bus number, I executed the following command:
              ls -ltrh /sys/bus/i2c/devices/i2c*
              lrwxrwxrwx 1 root root 0 Mar 15 2023 /sys/bus/i2c/devices/i2c-2 -> ../../../devices/platform/3180000.i2c/i2c-2
              lrwxrwxrwx 1 root root 0 Mar 15 2023 /sys/bus/i2c/devices/i2c-9 -> ../../../devices/platform/3180000.i2c/i2c-2/i2c-9
              lrwxrwxrwx 1 root root 0 Mar 15 2023 /sys/bus/i2c/devices/i2c-8 -> ../../../devices/platform/31e0000.i2c/i2c-8
              lrwxrwxrwx 1 root root 0 Mar 15 2023 /sys/bus/i2c/devices/i2c-7 -> ../../../devices/platform/c250000.i2c/i2c-7
              lrwxrwxrwx 1 root root 0 Mar 15 2023 /sys/bus/i2c/devices/i2c-6 -> ../../../devices/platform/31c0000.i2c/i2c-6
              lrwxrwxrwx 1 root root 0 Mar 15 2023 /sys/bus/i2c/devices/i2c-5 -> ../../../devices/platform/31b0000.i2c/i2c-5
              lrwxrwxrwx 1 root root 0 Mar 15 2023 /sys/bus/i2c/devices/i2c-4 -> ../../../devices/platform/bpmp/bpmp:i2c/i2c-4
              lrwxrwxrwx 1 root root 0 Mar 15 2023 /sys/bus/i2c/devices/i2c-3 -> ../../../devices/platform/3190000.i2c/i2c-3
              lrwxrwxrwx 1 root root 0 Mar 15 2023 /sys/bus/i2c/devices/i2c-10 -> ../../../devices/platform/3180000.i2c/i2c-2/i2c-10
              lrwxrwxrwx 1 root root 0 Mar 15 2023 /sys/bus/i2c/devices/i2c-1 -> ../../../devices/platform/c240000.i2c/i2c-1
              lrwxrwxrwx 1 root root 0 Mar 15 2023 /sys/bus/i2c/devices/i2c-0 -> ../../../devices/platform/3160000.i2c/i2c-0
              lrwxrwxrwx 1 root root 0 Dec 19 05:26 /sys/bus/i2c/devices/i2c-11 -> ../../../devices/platform/13800000.display/i2c-11
              Can you assist me in determining the appropriate -b parameter based on this information?

              2- Secondly, although I can successfully read parameters, I encounter difficulties when attempting to set them. For instance:
              ./veye_mipi_i2c.sh -r -f mshutter
              r mshutter is 0x1
              ./veye_mipi_i2c.sh -w -f mshutter -p1 0x44
              w mshutter is 0x44
              ./veye_mipi_i2c.sh -r -f mshutter
              r mshutter is 0x1
              It appears that the parameter is not being set successfully, as reading it after the supposed update returns the default value. Could you guide me on where I might be going wrong in the parameter-setting process?
              I appreciate your assistance in advance.

              veye_xumm 1 Reply Last reply Reply Quote 0
              • veye_xumm
                veye_xumm @joe last edited by

                @joe
                Sorry, the information is not complete.
                a716e822-ed22-426c-93ee-ee86274250ac-image.png

                J 1 Reply Last reply Reply Quote 0
                • J
                  joe @veye_xumm last edited by

                  @veye_xumm
                  Thank you for your online response.
                  What about my second question. Have I do something wrong that the values of parameters do not set?
                  ./veye_mipi_i2c.sh -b 9 -r -f mshutter
                  r mshutter is 0x 1
                  ./veye_mipi_i2c.sh -b 9 -w -f mshutter -p1 0x44
                  w mshutter is 0x44
                  ./veye_mipi_i2c.sh -b 9 -r -f mshutter
                  r mshutter is 0x 1
                  It have the fix value every time i get it!

                  Thank you for your ongoing support

                  veye_xumm 1 Reply Last reply Reply Quote 0
                  • veye_xumm
                    veye_xumm @joe last edited by

                    @joe

                    To confirm your I2C bus, please enter the following two commands and send the results back to me.

                    ./veye_mipi_i2c.sh -r -f hdver -b 9
                    
                    ./veye_mipi_i2c.sh -r -f hdver -b 10
                    
                    J 1 Reply Last reply Reply Quote 0
                    • J
                      joe @veye_xumm last edited by

                      @veye_xumm

                      The results:

                      ./veye_mipi_i2c.sh -r -f hdver -b 9
                      hardware version is 0x 1
                      release date is 20 1- 1- 1

                      ./veye_mipi_i2c.sh -r -f hdver -b 10
                      hardware version is 0x 7
                      release date is 20 0- 0- 0

                      veye_xumm 1 Reply Last reply Reply Quote 0
                      • veye_xumm
                        veye_xumm @joe last edited by

                        @joe

                        @joe said in VEYE-imx462 and Orin Nano developer kit problem:

                        ./veye_mipi_i2c.sh -r -f hdver -b 10
                        hardware version is 0x 7

                        So your camera is connecting to i2c bus 10.

                        Please use -b 10 as parameter for ./veye_mipi_i2c.sh

                        J 1 Reply Last reply Reply Quote 0
                        • J
                          joe @veye_xumm last edited by

                          @veye_xumm
                          It seems that the parameters I've configured are retaining their previous values:

                          ./veye_mipi_i2c.sh -b 10 -r -f mshutter
                          r mshutter is 0x 0
                          ./veye_mipi_i2c.sh -b 10 -w -f mshutter -p1 0x44
                          w mshutter is 0x44
                          ./veye_mipi_i2c.sh -b 10 -r -f mshutter
                          r mshutter is 0x 0

                          or

                          ./veye_mipi_i2c.sh -b 10 -r -f mirrormode
                          r mirrormode is 0x 0
                          ./veye_mipi_i2c.sh -b 10 -w -f mirrormode -p1 0x02
                          w mirrormode is 0x 2
                          ./veye_mipi_i2c.sh -b 10 -r -f mirrormode
                          r mirrormode is 0x 0

                          Am I making a mistake somewhere?

                          veye_xumm 1 Reply Last reply Reply Quote 0
                          • veye_xumm
                            veye_xumm @joe last edited by

                            @joe Please try putting -b 10 at the end of the command.

                            J 1 Reply Last reply Reply Quote 0
                            • J
                              joe @veye_xumm last edited by

                              @veye_xumm
                              I noticed that there is no difference when I change the order of '-b 10' to the end of the line in the command. I'm running the command from ~/nvidia_jetson_veye_bsp/i2c_cmd/bin; can you confirm if this path is correct? Additionally, I'm open to any alternative solutions or suggestions. Thanks in advance for your help!

                              veye_xumm 1 Reply Last reply Reply Quote 0
                              • veye_xumm
                                veye_xumm @joe last edited by

                                @joe said in VEYE-imx462 and Orin Nano developer kit problem:

                                ./veye_mipi_i2c.sh -r -f hdver -b 10
                                hardware version is 0x 7

                                From this point, your program reads hdver correctly.

                                However, based on the feedback from all your other scripts, it seems that both reading and writing cannot be executed properly.

                                Here are the commands and displays from my side. The difference is that the camera is connected to i2c-9.
                                5023688b-591f-46d9-bea8-924c7817aab7-image.png

                                How about you try recompiling i2c_read and i2c_write?
                                i2c_cmd/source/i2c_tools

                                J 1 Reply Last reply Reply Quote 0
                                • J
                                  joe @veye_xumm last edited by

                                  @veye_xumm
                                  It work, after change the mipi connector! (I use -b 9.)
                                  Thanks

                                  J 1 Reply Last reply Reply Quote 0
                                  • J
                                    joe @joe last edited by

                                    @joe
                                    It is indicated in the documents about "New function list" that:
                                    "The following new features are only supported in camera's firmware versions with release time later than 2022-11-22."
                                    My firmware version is exactly 2022-11-22. Is this version support "New function list"?

                                    veye_xumm 1 Reply Last reply Reply Quote 0
                                    • veye_xumm
                                      veye_xumm @joe last edited by

                                      @joe yes

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post