Hi, I use a camera that outputs grey to access the jetson system, and it works fine in nano, xavier, and other platforms. But it does not work correctly in orin platform.
Here is the log:
I have searched the forum and made various attempts. But still failed.
To avoid the necessary skew calibration function at 1.5Gbps data bandwidth, I changed the data bandwidth of the camera to 1.2Gbps.
According to this formula, I get pix_clk_hz as 300M. Output data rate = (sensor or deserializer pixel clock in hertz) * (bits per pixel) / (number of CSI lanes)
Hi @JerryChang ,
Using debug firmware, sometimes the images can be captured correctly for a while. But it does not work properly for a long time.
Please take a look at the logs. dmesg_log_using_debug_rtcpu_firmware.txt (27.1 KB)
there’s CHANSEL_NOMATCH failure, error data show… 0x549.
it shows non-embedded data packet does not match any configured channels at all.
it’s detect CSI data type as RAW8. (this looks correct according to your DT settings)
however,
it looks you have non-ordinary sensor resolution, i.e. 3088x2064.
could you please have a try to revise the active_h, for example, please reduce several lines as active_h = "2048" for testing,
thanks
Hi @JerryChang ,
Thank you for your analysis.
I actually used a camera with 1280*1024 raw8 @108fps mode.
The previous dts setting(3088x2064) didn’t work, I did some tinkering in the sensor driver. (My camera is registered directly to v4l2 framework, not to tegracam_device_register. Because I need flexible resolution and image format.)
This driver and dts has been working fine on xavier.
Any way, I modify the dts to match the camera configuration exactly(1280*1024 raw8 @108fps ).
I use v4l2-ctl to capture frames directly, it works ok for several minutes, then stuck. I log both cases.
Here is the newlog_dts_1280x1024.txt (7.2 KB)
log.
please also see Property-Value Pairs session for reference,
these two DT settings looks incorrect, the mode_type settings should be yuv for your use-case,
regarding to pixel_phase, please have correct configuration for your sensor pixel phase, for example, uyvy.
furthermore,
are you using a SerDes chip, or you have physical hardware connection to CSI camera connector directly? serdes_pix_clk_hz property settings is required only for camera modules that use SerDes.
thanks
Hi @JerryChang ,
Sorry for late reply, there has been a delay in recent days.
Regarding the data type aspect, I think there is no problem. I have extended the original code, which can be found in the attachment. l4t_35.1.patch (8.9 KB) The same patch and camera driver works fine on xavier@L4T35.1 .
So I don’t think it’s some kind of “obvious misconfiguration” that’s causing this.
Another thing that needs to be mentioned is that different rtcpu firmware can cause huge differences while the linux and dtb parts remain the same.
debug firmware you provide : Short time test OK, can not last long.
For example, this time I used v4l2-ctl to acquire an image with a camera frame rate of 108fps. about 500 frames were successfully acquired, and then v4l2 got stuck. The error is reported as follows. new error log with debug firmware.txt (5.8 KB)
Jetpack5.0.1DP’s camera-rtcpu-t234-rce.img : OK. It works fine.
Jetpack5.0.2’s camera-rtcpu-t234-rce.img : Unable to work for a short period of time.
It looks like the camera-rtcpu-t234-rce.img in Jetpack version 5.0.2 is much more demanding and unstable.
Regarding serdes_pix_clk_hz, I removed this configuration and the problem remained completely unchanged.
actually, debug firmware is same as Jetpack5.0.2’s camera-rtcpu-t234-rce.img but only enable debug flags.
suspect it’s timing issue, had you evaluate the initial programming time? please try adding set_mode_delay_ms into mode settings. it configure waiting time for the first frame after capture starts, the unit is in milliseconds.
in addition, may I know how many camera devices you had? did you enable all of them all together?
according to the logs,
it looks you at least have dual cameras, timestamp are valid, and one of them is output frame-id to RCE engine.
Hi @JerryChang ,
I add ‘set_mode_delay’ as 100ms.
This time it can last longer, about 15000 frames before getting stuck.
dmesg prompts the same message.
Hi @JerryChang ,
I upload a log of the process from when the image is received properly to when something goes wrong. You can see there are three stages. I hope this will help you in your analysis.
Thanks! log_from_good_to_err.txt (14.1 KB)
Hi @JerryChang ,
I understand what you mean. From the available logs, is it possible to see exactly where there is something wrong with the mipi signal? Is there any suggestive information?
Right now this camea is running on both nano and xavier with no problems.
as your attach logs with debug firmware, you can see logs between work/non-working case.
we need to analysis the logs to understand the problem, it’s not always show the problem clearly since input is the signal.