After the driver is loaded successfully, the v4l2 command is used to print the frame rate, but the frame rate cannot be printed, and the dmesg is displayed as follows:
[ 94.617806] imx294 10-001a: sensor_set_mode:
[ 94.672450] imx294 10-001a: sensor_start_streaming:
[ 94.726516] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 0, flags: 0, err_data 131072
[ 94.763831] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 0, flags: 0, err_data 131072
[ 94.801492] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 0, flags: 0, err_data 131072
[ 94.838988] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 0, flags: 0, err_data 131072
The trace log is as follows:
trace.txt (276.3 KB)
However, using argus_camera can preview normally, and the picture is normal. When using nvargus_nvraw to grab raw images, the corresponding error also occurs:
nvidia@nvidia-desktop:~$ nvargus_nvraw --c 1 --mode 1 --file /home/nvidia/imx294.nvraw --exp0 "0.01,2" --skipframes 10
nvargus_nvraw version 1.14.0
capture: Total captured frame count 11
("nvargus_nvraw") Error BadParameter (0x04): Embedded data size (7,552) is not a perfect multiple of
row width (4,176)
(in capture_nvraw/src/mobile/ArgusNvRawInterface.cpp, func getPrivateMetadata(),
line 337)
("nvargus_nvraw") Error BadParameter (0x04): (propagating from capture_nvraw/src/mobile/ArgusNvRawInterface.cpp,
func addFrame(), line 244)
("nvargus_nvraw") Error BadParameter (0x04): (propagating from capture_nvraw/src/mobile/ArgusNvRawCapture.cpp,
func acquireFrames(), line 872)
("nvargus_nvraw") Error BadParameter (0x04): (propagating from capture_nvraw/src/mobile/ArgusNvRawCapture.cpp,
func capture(), line 817)
("nvargus_nvraw") Error BadParameter (0x04): Unable to capture (propagating from capture_nvraw/src/mobile/main.cpp,
func main(), line 97)
Here are the main configurations of my device tree:
mode1 { /*mode IMX294_MODE_3840X2160_30FPS_RAW10_BINNING*/
mclk_khz = "27000";
num_lanes = "4";
tegra_sinterface = "serial_c";
phy_mode = "DPHY";
discontinuous_clk = "no";
dpcm_enable = "false";
cil_settletime = "0";
lane_polarity = "0";
active_w = "2088";
active_h = "1096";
mode_type = "bayer";
pixel_phase = "rggb";
csi_pixel_bit_depth = "10";
dynamic_pixel_bit_depth = "10";
readout_orientation = "0";
line_length = "3000";
inherent_gain = "1";
mclk_multiplier = "7";//600000 Khz / 25 =24000 Khz
pix_clk_hz = "240000000";
gain_factor = "1000";
min_gain_val = "1000"; /* 0dB */
max_gain_val = "22000"; /* 22 X */
step_gain_val = "1"; /* */
default_gain = "1000";
min_hdr_ratio = "1";
max_hdr_ratio = "1";
framerate_factor = "1000000";
min_framerate = "30000000";
max_framerate = "30000000";
step_framerate = "1";
default_framerate = "30000000";
exposure_factor = "1000000";
min_exp_time = "36"; /* us, min 8 lines */
max_exp_time = "33000"; /* us, max number of lines per frame - 4 */
step_exp_time = "1";
default_exp_time = "36";/* us */
embedded_metadata_height = "1";
};
I have two questions that need to be addressed:
- The sensor cannot print the frame rate using the v4l2 command
- The nvraw graph cannot be captured using nvargus_nvraw
Thank you for your help!!