VC-MIPI-modules / vc_mipi_nvidia

Vision Components MIPI CSI-2 driver for NVIDIA Jetson Nano, Xavier NX, AGX Xavier, TX2 and Orin Nano, Orin NX
84 stars 34 forks source link

nvarguscamerasrc fails #66

Open nirushka opened 9 months ago

nirushka commented 9 months ago

Hi,

I am using IMX226, with L4T 35.1.0

I get this error with the current pipeline: gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM),width=3904,height=3000,framerate=20/1' ! nvvidconv ! video/x-raw, width=1024, height=768, format=I420 ! xvimagesink

Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock GST_ARGUS: Creating output stream (Argus) Error BadParameter: (propagating from src/eglstream/FrameConsumerImpl.cpp, function initialize(), line 89) (Argus) Error BadParameter: (propagating from src/eglstream/FrameConsumerImpl.cpp, function create(), line 44) Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadInitialize:320 Failed to create FrameConsumer Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:241 (propagating) Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, waitRunning:203 Invalid thread state 3 Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:806 (propagating) WARNING: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Pipeline construction is invalid, please add queues. Additional debug info: gstbasesink.c(1209): gst_base_sink_query_latency (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Not enough buffering available for the processing deadline of 0:00:00.015000000, add enough queues to buffer 0:00:00.015000000 additional data. Shortening processing latency to 0:00:00.000000000. Got EOS from element "pipeline0". Execution ended after 0:00:00.330253389 Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ...

with v4l2-ctl command: v4l2-ctl -d /dev/video0 --verbose --set-fmt-video=width=3904,height=3000,pixelformat=RG10 --stream-mmap everything works fine.

bazo80 commented 9 months ago

Hello @nirushka

have you tried to insert an extra queue before the sink? gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM),width=3904,height=3000,framerate=20/1' ! nvvidconv ! video/x-raw, width=1024, height=768, format=I420 ! queue ! xvimagesink

I've just tested this construct with L4T35.3.1 and IMX568. With the first try I've got this warning too. And with the additional queue, I got rid of the warning. It might be, that this warning could be the reason, since you're running an older L4T.

nirushka commented 9 months ago

Hi, This is not a warning... it's an error. Same problem with a queue.

and even when I try: gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! fakesink I get this error.

nirushka commented 9 months ago

Hi, any news about this topic?

This is my v4l-ctl --all output:

Driver Info: Driver name : tegra-video Card type : vi-output, vc_mipi 9-001a Bus info : platform:tegra-capture-vi:0 Driver version : 5.10.104 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.104 Hardware revision: 0x00000003 (3) Driver version : 5.10.104 Interface Info: ID : 0x0300000b Type : V4L Video Entity Info: ID : 0x00000009 (9) Name : vi-output, vc_mipi 9-001a Function : V4L2 I/O Pad 0x0100000a : 0: Sink Link 0x0200000f: from remote pad 0x1000003 of entity '13e10000.host1x:nvcsi@15a00000-': Data, Enabled Priority: 2 Video input : 0 (Camera 0: no power) Format Video Capture: Width/Height : 3904/3000 Pixel Format : 'GB10' (10-bit Bayer GBGB/RGRG) Field : None Bytes per Line : 7808 Size Image : 23424000 Colorspace : sRGB Transfer Function : Default (maps to sRGB) YCbCr/HSV Encoding: Default (maps to ITU-R 601) Quantization : Default (maps to Full Range) Flags : Selection Video Capture: crop, Left 0, Top 0, Width 3904, Height 3000, Flags: Selection Video Output: crop, Left 0, Top 0, Width 3904, Height 3000, Flags:

Camera Controls

                 group_hold 0x009a2003 (bool)   : default=0 value=0 flags=execute-on-write
                sensor_mode 0x009a2008 (int64)  : min=0 max=1 step=1 default=0 value=0 flags=slider
                       gain 0x009a2009 (int64)  : min=0 max=27000 step=100 default=0 value=0 flags=slider
                   exposure 0x009a200a (int64)  : min=1 max=1951310 step=1 default=10000 value=1 flags=slider
                 frame_rate 0x009a200b (int64)  : min=0 max=60897 step=1 default=0 value=0 flags=slider
               trigger_mode 0x009a200e (int)    : min=0 max=7 step=1 default=0 value=0
                    io_mode 0x009a200f (int)    : min=0 max=5 step=1 default=0 value=0
                black_level 0x009a2010 (int)    : min=0 max=100000 step=1 default=0 value=0
             single_trigger 0x009a2011 (button) : flags=write-only, execute-on-write
       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][18] 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

Please see the output of Video input : 0 (Camera 0: no power). Camera Device tree:

/*

include <dt-bindings/media/camera.h>

include <dt-bindings/version.h>

// ------------------------------------------------------------------------------------------------ // Driver Configuration for NVIDIA Jetson Xavier NX on NVIDIA Jetson Xavier NX Developer Kit // ------------------------------------------------------------------------------------------------

define VC_MIPI_CAM_0 1 // 1: Enabled, 0: Disabled (serial_a => CSI Port 0 => VI Stream 0)

define VC_MIPI_CAM_1 1 // 1: Enabled, 0: Disabled (serial_c => CSI Port 2 => VI Stream 2)

// ------------------------------------------------------------------------------------------------ // Supported number of lanes // -----+------------------------------------------------------------------------------------------ // 1 | OV7251, IMX296, IMX297 // 2 | OV9281, IMX264, IMX265 // 2,4 | IMX178, IMX183, IMX226, IMX250, IMX252, IMX273, IMX290, IMX327, IMX335, IMX392, // | IMX412, IMX415, IMX462, IMX565, IMX566, IMX567, IMX568 // -----+------------------------------------------------------------------------------------------

define VC_MIPI_LANES 2 // 1, 2 Lanes

// ------------------------------------------------------------------------------------------------ // Embedded Metadata Height // -----+------------------------------------------------------------------------------------------ // 0 | IMX178, IMX183, IMX226, IMX250, IMX252, IMX264, IMX265, IMX273, IMX392, OV7251, OV9281 // 1 | IMX290, IMX327, IMX335, IMX415, IMX462 // 2 | IMX296, IMX297, IMX412 // 4 | IMX565, IMX566, IMX567, IMX568 // -----+------------------------------------------------------------------------------------------

define VC_MIPI_METADATA_H "0" // "0", "1", "2", "4" Lines of meta data

// ------------------------------------------------------------------------------------------------ // Sensor Manufacturer // -----+------------------------------------------------------------------------------------------ // 1 | Sony Sensor (IMX) // 2 | Omni Vision Sensor (OV) // -----+------------------------------------------------------------------------------------------

define VC_MIPI_MANUFACTURER 1

// ------------------------------------------------------------------------------------------------ // GStreamer Support // ------------------------------------------------------------------------------------------------ // If you want to use GStreamer with nvarguscamerasrc you have to adjust this settings in the // device tree below. The sections which have to be modified are marked by a comment. // To find the correct parameter values please follow the instruction in the main README.md of // this repository https://github.com/VC-MIPI-modules/vc_mipi_nvidia#gstreamer-support // ------------------------------------------------------------------------------------------------

if VC_MIPI_LANES == 1

#define BUS_WIDTH 1
#define NUM_LANES "1" 
#define NUM_CSI_LANES 2

endif

if VC_MIPI_LANES == 2

#define BUS_WIDTH 2
#define NUM_LANES "2" 
#define NUM_CSI_LANES 4

endif

if VC_MIPI_CAM_0 == 1 && VC_MIPI_CAM_1 == 1

#define VC_MIPI_CAMERAS 2

else

#define VC_MIPI_CAMERAS 1

endif

/ {

if LINUX_VERSION < 500

    host1x {
    vc_vi_base: vi@15c10000 {

else

    tegra-capture-vi  {

endif

            num-channels = <VC_MIPI_CAMERAS>;
            ports {
                    #address-cells = <1>;
                    #size-cells = <0>;

if VC_MIPI_CAM_0 == 1

                    vc_vi_port0: port@0 {
                            reg = <0>;
                            vc_vi_in0: endpoint {
                                    port-index = <0>;
                                    bus-width = <BUS_WIDTH>;
                                    remote-endpoint = <&vc_csi_out0>;
                            };
                    };

endif

if VC_MIPI_CAM_1 == 1

                    vc_vi_port1: port@1 {
                            reg = <1>;
                            vc_vi_in1: endpoint {
                                    port-index = <2>;
                                    bus-width = <BUS_WIDTH>;
                                    remote-endpoint = <&vc_csi_out1>;
                            };
                    };

endif

            }; // ports
    };

if LINUX_VERSION < 500

    vc_csi_base: nvcsi@15a00000 {

else

    host1x@13e00000 {
            nvcsi@15a00000 {

endif

                    num-channels = <VC_MIPI_CAMERAS>;
                    #address-cells = <1>;
                    #size-cells = <0>;

if VC_MIPI_CAM_0 == 1

                    vc_csi_chan0: channel@0 {
                            reg = <0>;
                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    vc_csi_chan0_port0: port@0 {
                                            reg = <0>;
                                            vc_csi_in0: endpoint@0 {
                                                    port-index = <0>;
                                                    bus-width = <BUS_WIDTH>;
                                                    remote-endpoint = <&vc_mipi_out0>;
                                            };
                                    };
                                    vc_csi_chan0_port1: port@1 {
                                            reg = <1>;
                                            vc_csi_out0: endpoint@1 {
                                                    remote-endpoint = <&vc_vi_in0>;
                                            };
                                    };
                            };
                    };

endif

if VC_MIPI_CAM_1 == 1

                    vc_csi_chan1: channel@1 {
                            reg = <1>;
                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    vc_csi_chan1_port0: port@0 {
                                            reg = <0>;
                                            vc_csi_in1: endpoint@2 {
                                                    port-index = <2>;
                                                    bus-width = <BUS_WIDTH>;
                                                    remote-endpoint = <&vc_mipi_out1>;
                                            };
                                    };
                                    vc_csi_chan1_port1: port@1 {
                                            reg = <1>;
                                            vc_csi_out1: endpoint@3 {
                                                    remote-endpoint = <&vc_vi_in1>;
                                            };
                                    };
                            };
                    };

endif

if LINUX_VERSION >= 500

            };

endif

    };

if LINUX_VERSION < 500

    };

endif

    cam_i2cmux {

if VC_MIPI_CAM_0 == 1

            i2c@0 {

if VC_MIPI_MANUFACTURER == 1

                    vc_mipi_cam0: vc_mipi@1a {
                            reg                     = <0x1a>;

else

                    vc_mipi_cam0: vc_mipi@60 {
                            reg                     = <0x60>;

endif

                            compatible              = "nvidia,vc_mipi";
                            devnode                 = "video0";
                            use_sensor_mode_id      = "false";
                            sensor_model            = "vc_mipi";

                            num_lanes               = NUM_LANES;
                            trigger_mode            = "0";
                            io_mode                 = "0";

                            // ----------------------------------------------------
                            // If you want to use GStreamer with nvarguscamerasrc
                            // you have to adjust this settings
                            physical_w              = "7.533";
                            physical_h              = "5.635";
                            // ----------------------------------------------------

                            // This node is needed by the Tegra framework.
                            // You don't have to change any settings if just want to use the V4L API.
                            mode0 {
                                    num_lanes                = NUM_LANES;
                                    tegra_sinterface         = "serial_a";
                                    embedded_metadata_height = VC_MIPI_METADATA_H;
                                    readout_orientation      = "0";

                                    // ----------------------------------------------------
                                    // If you want to use GStreamer with nvarguscamerasrc
                                    // you have to adjust this settings. 
                                    active_l                 = "0";
                                    active_t                 = "0";
                                    active_w                 = "3904";
                                    active_h                 = "3000";

if LINUX_VERSION < 500

                                    pixel_t                  = "bayer_gbrg";

else

                                    mode_type                = "bayer";
                                    pixel_phase              = "gbrg";
                                    csi_pixel_bit_depth      = "10";

endif

                                    min_gain_val             = "0";         // mdB
                                    max_gain_val             = "27000";     // mdB
                                    step_gain_val            = "100";       // mdB
                                    default_gain             = "0";         // mdB

                                    min_exp_time             = "1";         // us
                                    max_exp_time             = "1000000";   // us
                                    step_exp_time            = "1";         // us
                                    default_exp_time         = "10000";     // us

                                    // For applications like argus_camera, there should 
                                    // be a minimal frame rate greater than zero!
                                    min_framerate            = "0";      // mHz
                                    max_framerate            = "43600";     // mHz
                                    step_framerate           = "100";       // mHz
                                    default_framerate        = "43600";     // mHz
                                    // ----------------------------------------------------

                                    gain_factor              = "1000";
                                    exposure_factor          = "1000000";
                                    framerate_factor         = "1000";
                                    inherent_gain            = "1";
                                    min_hdr_ratio            = "1";
                                    max_hdr_ratio            = "1";

                                    line_length              = "0";
                                    phy_mode                 = "DPHY";
                                    discontinuous_clk        = "no";
                                    mclk_khz                 = "24000";

if LINUX_VERSION < 500

                                    pix_clk_hz               = "800000000";

else

                                    pix_clk_hz               = "74250000";

endif

                                    mclk_multiplier          = "9.33";
                                    cil_settletime           = "0";
                                    dpcm_enable              = "false";
                            };

                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    port@0 {
                                            reg = <0>;
                                            vc_mipi_out0: endpoint {
                                                    port-index = <0>;
                                                    bus-width = <BUS_WIDTH>;
                                                    remote-endpoint = <&vc_csi_in0>;
                                            };
                                    };
                            };
                    };
            };

endif // VC_MIPI_CAM_0

if VC_MIPI_CAM_1 == 1

            i2c@1 {

if VC_MIPI_MANUFACTURER == 1

                    vc_mipi_cam1: vc_mipi@1a {
                            reg                     = <0x1a>;

else

                    vc_mipi_cam1: vc_mipi@60 {
                            reg                     = <0x60>;

endif

                            compatible              = "nvidia,vc_mipi";
                            devnode                 = "video1";
                            use_sensor_mode_id      = "false";
                            sensor_model            = "vc_mipi";

                            num_lanes               = NUM_LANES;
                            trigger_mode            = "0";
                            io_mode                 = "0";

                            // ----------------------------------------------------
                            // If you want to use GStreamer with nvarguscamerasrc
                            // you have to adjust this settings
                            physical_w              = "7.535";
                            physical_h              = "5.635";
                            // ----------------------------------------------------

                            // This node is needed by the Tegra framework.
                            // You don't have to change any settings if just want to use the V4L API.
                            mode0 {
                                    num_lanes                = NUM_LANES;
                                    tegra_sinterface         = "serial_c";
                                    embedded_metadata_height = VC_MIPI_METADATA_H;
                                    readout_orientation      = "0";

                                    // ----------------------------------------------------
                                    // If you want to use GStreamer with nvarguscamerasrc
                                    // you have to adjust this settings. 
                                    active_l                 = "0";
                                    active_t                 = "0";
                                    active_w                 = "3904";
                                    active_h                 = "3000";

if LINUX_VERSION < 500

                                    pixel_t                  = "bayer_gbrg";

else

                                    mode_type                = "bayer";
                                    pixel_phase              = "gbrg";
                                    csi_pixel_bit_depth      = "10";

endif

                                    min_gain_val             = "0";         // mdB
                                    max_gain_val             = "27000";     // mdB
                                    step_gain_val            = "100";       // mdB
                                    default_gain             = "0";         // mdB

                                    min_exp_time             = "1";         // us
                                    max_exp_time             = "1000000";   // us
                                    step_exp_time            = "1";         // us
                                    default_exp_time         = "10000";     // us

                                    // For applications like argus_camera, there should 
                                    // be a minimal frame rate greater than zero!
                                    min_framerate            = "0";      // mHz
                                    max_framerate            = "43600";     // mHz
                                    step_framerate           = "100";       // mHz
                                    default_framerate        = "43600";     // mHz
                                    // ----------------------------------------------------

                                    gain_factor              = "1000";
                                    exposure_factor          = "1000000";
                                    framerate_factor         = "1000";
                                    inherent_gain            = "1";
                                    min_hdr_ratio            = "1";
                                    max_hdr_ratio            = "1";

                                    line_length              = "0";
                                    phy_mode                 = "DPHY";
                                    discontinuous_clk        = "no";
                                    mclk_khz                 = "24000";

if LINUX_VERSION < 500

                                    pix_clk_hz               = "800000000";

else

                                    pix_clk_hz               = "74250000";

endif

                                    mclk_multiplier          = "9.33";
                                    cil_settletime           = "0";
                                    dpcm_enable              = "false";
                            };

                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    port@0 {
                                            reg = <0>;
                                            vc_mipi_out1: endpoint {
                                                    port-index = <2>;
                                                    bus-width = <BUS_WIDTH>;
                                                    remote-endpoint = <&vc_csi_in1>;
                                            };
                                    };
                            };
                    };
            };

endif // VC_MIPI_CAM_1

    };

    lens@vc_mipi {
            min_focus_distance  = "0.0";
            hyper_focal         = "0.0";
            focal_length        = "6.0";
            f_number            = "2.0";
            aperture            = "0.0";
    };

};

/ { tcp: tegra-camera-platform { compatible = "nvidia, tegra-camera-platform";

            num_csi_lanes = <NUM_CSI_LANES>;
            max_lane_speed = <1500000>;
            min_bits_per_pixel = <10>;
            vi_peak_byte_per_pixel = <2>;
            vi_bw_margin_pct = <25>;
            max_pixel_rate = <240000>;
            isp_peak_byte_per_pixel = <5>;
            isp_bw_margin_pct = <25>;

            modules {

if VC_MIPI_CAM_0 == 1

                    cam_module0: module0 {
                            status = "okay";
                            badge = "jakku_front_vc_mipi";
                            position = "front";
                            orientation = "1";
                            cam_module0_drivernode0: drivernode0 {
                                    status = "okay";
                                    pcl_id = "v4l2_sensor";

if VC_MIPI_MANUFACTURER == 1

                                    devname = "vc_mipi 9-001a";
                                    proc-device-tree = "/proc/device-tree/cam_i2cmux/i2c@0/vc_mipi@1a";

else

                devname = "vc_mipi 9-0060";
                proc-device-tree = "/proc/device-tree/cam_i2cmux/i2c@0/vc_mipi@60";

endif

                            };
                            cam_module0_drivernode1: drivernode1 {
                                    status = "okay";
                                    pcl_id = "v4l2_lens";
                                    proc-device-tree = "/proc/device-tree/lens@vc_mipi/";
                            };
                    };

endif // VC_MIPI_CAM_0

if VC_MIPI_CAM_1 == 1

                    cam_module1: module1 {
                            status = "okay";
                            badge = "jakku_rear_vc_mipi";
                            position = "rear";
                            orientation = "1";
                            cam_module1_drivernode0: drivernode0 {
                                    status = "okay";
                                    pcl_id = "v4l2_sensor";

if VC_MIPI_MANUFACTURER == 1

                            devname = "vc_mipi 10-001a";
                            proc-device-tree = "/proc/device-tree/cam_i2cmux/i2c@1/vc_mipi@1a";

else

                            devname = "vc_mipi 10-0060";
                            proc-device-tree = "/proc/device-tree/cam_i2cmux/i2c@1/vc_mipi@60";

endif

                            };
                            cam_module1_drivernode1: drivernode1 {
                                    status = "okay";
                                    pcl_id = "v4l2_lens";
                                    proc-device-tree = "/proc/device-tree/lens@vc_mipi/";
                            };
                    };

endif // VC_MIPI_CAM_1

            };
    };

};

define CAM0_PWDN TEGRA194_MAIN_GPIO(P, 4)

define CAM1_PWDN TEGRA194_MAIN_GPIO(P, 5)

define CAM_I2C_MUX TEGRA194_AON_GPIO(CC, 3)

/ { cam_i2cmux { status = "okay"; compatible = "i2c-mux-gpio";

address-cells = <1>;

            #size-cells = <0>;
            mux-gpios = <&tegra_aon_gpio CAM_I2C_MUX GPIO_ACTIVE_HIGH>;
            i2c-parent = <&cam_i2c>;

if VC_MIPI_CAM_0 == 1

            i2c@0 {
                    status = "okay";
                    reg = <0>;
                    #address-cells = <1>;
                    #size-cells = <0>;

if VC_MIPI_MANUFACTURER == 1

                    vc_mipi@1a {

else

                    vc_mipi@60 {

endif

                            status = "okay";
                            reset-gpios = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
                    };
            };

endif

if VC_MIPI_CAM_1 == 1

            i2c@1 {
                    status = "okay";
                    reg = <1>;
                    #address-cells = <1>;
                    #size-cells = <0>;

if VC_MIPI_MANUFACTURER == 1

                    vc_mipi@1a {

else

                    vc_mipi@60 {

endif

                            status = "okay";
                            reset-gpios = <&tegra_main_gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
                    };
            };

endif

    };

    gpio@2200000 {
            camera-control-output-low {
                    gpio-hog;
                    output-low;
                    gpios = <CAM0_PWDN 0 CAM1_PWDN 0>;
                    label = "cam0-pwdn","cam1-pwdn";
            };
    };

};

bazo80 commented 9 months ago

Hello @nirushka ,

you have configured 2 lanes

define VC_MIPI_LANES 2 // 1, 2 Lanes

but your frame rate is: max_framerate = "43600"; default_framerate = "43600";

I would try to change it to 2 lanes and 21800 mHz

nirushka commented 8 months ago

I found out that this error occurs only if I connect via ssh -X. I tried to export display=:0 as many forums say but it didn't work. Any thoughts?