How to handle CHANSEL_NOMATCH?

Please provide the following info (tick the boxes after creating this topic):
Software Version
DRIVE OS 6.0.8.1
DRIVE OS 6.0.6
DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
other

Target Operating System
Linux
QNX
other

Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-300)
DRIVE AGX Orin Developer Kit (940-63710-0010-200)
DRIVE AGX Orin Developer Kit (940-63710-0010-100)
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
DRIVE AGX Orin Developer Kit (not sure its number)
other

SDK Manager Version
1.9.3.10904
other

Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
other

We have an application that we noticed would fail if the program had any kind of delay in it. To reproduce more (although still intermittlently) , we start the application up and introduce a delay with a thread sleep. Later, as it processes - we eventually see these errors in the kernel trace:

kworker/5:0-444543  [005] ....... 140963.128948: rtcpu_vinotify_error: tstamp:4405238666900 cch:0 vi:0 tag:CHANSEL_NOMATCH channel:0x41 frame:0 vi_tstamp:140967637296192 data:0x0000000000000589

According to drive-linux/kernel/source/oss_src/nvidia/include/soc/tegra/camrtc-capture.h it indicates either we have not configured a sensor channel, which does not make sense because we do capture, or indicates a rwuest underflow.

My question is - how is this communicated to the client application, and what are the steps you would use to mitigate it? What are the generally accepted methods for recovery?

Also - it isn’t really clear to me after looking at the source code what:
cch, vi, channel, and frame are referring to in this context.

Thanks.

Dear @collin.day,
Is there any CPU load when you see CHANNEL_NOMATCH related messages?

Lots of CPU load.

Dear @collin.day,
Are you running any other applications which using CPU heavily? If so, can you stop them and see if the same issue is noticed?

It is our application - so I am not asking you to solve why we are seeing it - I am just more interested in knowing what it implies, etc. This isn’t really covered in the DriveOs SDK docs - all I can find are a few notes in kernel module headers. For example, would allocating more buffers to the completion queues help? Don’t know. Can’t figure out an answer without knowing what this really means.

Dear @collin.day,

rtcpu_vinotify_error: tstamp:4405238666900 cch:0 vi:0 tag:CHANSEL_NOMATCH channel:0x41 frame:0 vi_tstamp:140967637296192 data:0x0000000000000589

Log message indicates below.

Trace event type: rtcpu_vinotify_event, rtcpu_vinotify_error
Capture channel id: cch
VI instance: vi (0-1)
Decoded TAG field from VI notify event. Hex value is shown if the tag value is unknown: tag
CHANNEL field from VI notify event: channel
FRAME field from VI notify event: frame
64-bit payload data form VI notify event: data
NOMATCH is an error that is generated by VI hardware (CHANSEL unit) if the first frame pixel arrives from CSI, but there is no matching frame capture descriptor available to store the data.

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