How can we use 6 CAN channels at a single binary?

Dear NVIDIA.

We are engineers from Hyundai Motor Group.
Currently, we are using PX2 AutoCahuffeur (P2379) to test feasibility of our targeting algorithm.

Basically, we want to use 6 CAN channels at a single binary which is compiled on TegraA (NOT CROSS-COMPILATION)
The detail scenario of our feasibility check is illustrated at below link.
https://www.dropbox.com/s/4tzaoazv7dsxxkf/question_modified.png?dl=0

We think that it is strongly related with other topic in this board (at below link).
https://devtalk.nvidia.com/default/topic/1032283/general/how-to-test-aurix_tegra_can-on-px2-autochauffeur-/#reply

However, at that topic, there is no final response from NVIDIA and it focused on just one sample ‘aurix_tegra_can’.
At this topic, we want to focus on methodology which is independent from specific sample.

Let me know any possible way.

Dear tiger0219,

Regarding Tegra-AURIX Communication on DrivePX2, please see below link.

https://docs.nvidia.com/drive/nvvib_docs/index.html#page/NVIDIA%20DRIVE%20Linux%20SDK%20Development%20Guide%2FConfiguration%2Fautosar_config_usage_dpx.html%23

From your questions, the problem with using SocketCAN is that there is only 1 CAN bus connected per tegra(CAN-5 for TegraA and CAN-6 for TegraB), all the others are routed through the aurix and have no direct connection to the tegras, need to use the EB code. This is a limitation for your #2 question.

There is some description there on how to configure and route the messages from the Aurix, please see “5.2.5. Message Routing inside of the Tegras” in EB-DrivePX_Software_User_Guide_DPX2_P2379.pdf.

Could you please help to check the symptom with below step?

Setup Detail
Aurix CAN on Harness Mapping to CAN channels
CAN-A(On Harness CAN1) CAN1
CAN-B(On Harness CAN2) CAN2
CAN-C(On Harness CAN3) CAN3
CAN-D(On Harness CAN4) CAN4

  1. Test1 (using aurix_tegra_can_send_receive.py)
    Prerequisite to run aurix_tegra_can_send_receive.py :
    1.Copy EB-DrivePX-Samples/PythonCanSendReceive/aurix_tegra_can_send_receive.py to the Target .
    2.Copy EB-DrivePX-Samples/Configuration/ to the Target
    3.Create eb user #sudo adduser eb
    4.Create eb directory in /etc #sudo mkdir /etc/eb
    5.Copy configuration files from” EB-DrivePX-Samples/Configuration/EasyCanConfigFile.conf & EB-DrivePX-Samples/Configuration/DrivePxApp.conf” to /etc/eb
    6.Also copy \bin\EB-DrivePX-Tegra\LINUX_LXTHREADSX86_DrivePxApp.elf to Tegra

Steps
1.Run easy can elf file on Tegra and terminate it later
1.# ./LINUX_LXTHREADSX86_DrivePxApp.elf
2.Terminate the app

2.Start message receiving on Target
1.​# python aurix_tegra_can_send_receive.py
3.Send messages from CAN
4.Message received on Tegra