Camera GMSL1 NileCam30 connected connectTech JCB002. CPU is Board Nvidia Jetson Xavier and- Driver AR0330 started but streaming not working

Hello,
hardware configuration:
Rogue Carrier for NVIDIA® Jetson AGX Xavier
Board JCB002 (mux with 4 max9296)
Camera NileCam30 GMSL1: ( 1 camera only)
Software: linux ubuntu with driver AR0330 to drive the camera.

from dmesg logs i can see that the sensor is initialized:
[ 5.018749] MCU address modification - PHYB
[ 5.066746] Current Firmware Version - (CU30-5690332)
[ 8.338778] Detected ar0330 sensor

I added traces into the driver in order to check max9296 registers:
0xBCA=0x11 meaning data activity on the link => OK
0xBCB=0 meaning the link is not locked => KO. Link should be locked.

I checked on Linux if frames are received with action plan found on the nvidia developper site:
echo 1 > /sys/kernel/debug/tracing/tracing_on
echo 30720 > /sys/kernel/debug/tracing/buffer_size_kb
echo 1 > /sys/kernel/debug/tracing/events/tegra_rtcpu/enable
echo 1 > /sys/kernel/debug/tracing/events/freertos/enable
echo 2 > /sys/kernel/debug/camrtc/log-level
echo > /sys/kernel/debug/tracing/trace
cat /sys/kernel/debug/tracing/trace

Below the result: no frame received.

root@nvidia-desktop:/home/nvidia# cat /sys/kernel/debug/tracing/trace

tracer: nop

entries-in-buffer/entries-written: 1341/1341 #P:2

_-----=> irqs-off

/ _----=> need-resched

| / _—=> hardirq/softirq

|| / _–=> preempt-depth

||| / delay

TASK-PID CPU# |||| TIMESTAMP FUNCTION

| | | |||| | |

Can you help to understand:

  • why the link is not locked.Bit 0 of register 0xBCB should be set to 1.
  • how can i check if the max9296 receives frames after initialization
  • can you provide an action plan to check if frames are received on linux.
    I checked streaming with mplayer. I can see only time out. No frame received.

I join the dts.
In the dts the driver is name atto640 but it is the same as driver ar0330.

Best regards
Brahim

dts_test_nilecam30.txt (278.3 KB)

Issue the v4l2-ctl command to capture then cat the trace log.

v4l2-ctl --set-ctrl bypass_mode=0 --stream-mmap --stream-count=10 -d /dev/video0

cat /sys/kernel/debug/tracing/trace
1 Like

Thank you for your reply.
is it possible to see the received video data in the system memory ?
Best regards
Brahim

Hello,
more specifically my question is:
is it possible to know the memory areas where the system stores the video data?
is it possible to read these memory areas and display the data stored in these memory areas?
is there a linux command or indeed a linux tool that can read video data from memory?
by the way I have a usb camera (webcam).
Is reading video data re"cieved from a usb camera the same as reading data received from a gmsl1 camera like the nilecam30?

Best regards
Brahim

Nope for all, the video data is store to DMA buffer and need to check with DMA engine.
It’s totally different for USB camera with CSI camera.

1 Like

I added traces in the driver ar0330_common.c.
It looks like frames are received. functions to enqueue and dequeue frames are called.
The frame id is always zero. Error code = 255 means frame not complete.
All frames are canceled.
Any idea to understand this issue ?
Best regards
Brahim

Enable the trace log to check if able get more information.

https://elinux.org/Jetson/l4t/Camera_BringUp

1 Like

Hello,
I apply this to enable traces:

echo 1 > /sys/kernel/debug/tracing/tracing_on
echo 30720 > /sys/kernel/debug/tracing/buffer_size_kb
echo 1 > /sys/kernel/debug/tracing/events/tegra_rtcpu/enable
echo 1 > /sys/kernel/debug/tracing/events/freertos/enable
echo 2 > /sys/kernel/debug/camrtc/log-level
echo 1 > /sys/kernel/debug/tracing/events/camera_common/enable
echo > /sys/kernel/debug/tracing/trace
cat /sys/kernel/debug/tracing/trace

The log /sys/kernel/debug/tracing/trace is empty.

I saw in another tickets traces like:
kworker/0:0-12387 [000] … 59276.404803: rtcpu_vinotify_error: tstamp:1853055816022 tag:CHANSEL_NOMATCH channel:0x04 frame:0 vi_tstamp:1853055813039 data:0x000003c9

I’m sure that video are recieved. vi input driver nack the frames with error 256.
I need an action plan to investigate this issue.
Best regards.
Brahim

Issue command again to get trace log after capture command by v4l2-ctl command

cat /sys/kernel/debug/tracing/trace

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.