TegraB aurixCAN not work

aurix info:
shell> status
Info: Executing cmd: status, argc: 0, args:
Alive : 00:17:04
CPU load Core 0: 9%
CPU load max Core 0: 13%
CPU load Core 1: 0%
CPU load max Core 1: 0%
CPU load Core 2: 0%
CPU load max Core 2: 0%

Hardware information:
PMU-chip: B-Step
SCU_CHIPID: 0x4B459051
SystemUpInit-Time[ms]: 47
FPD-switch = 1 (Tegra-B)

IP-address (Tegra-A): 10.42.0.28
IP-address (Tegra-B): 10.42.0.29
IP-address (AURIX): 10.42.0.146

MAC-address (Tegra-A): 0x000000044B707A51
MAC-address (Tegra-B): 0x000000044B707A52
MAC-address (AURIX): 0x000000044B707A53
MAC-address (FPGA): 0x0000000000000000

ADC0_HRNS2: 0x094C
ADC1_HRNS2: 0x0950
Command Executed
shell>

tegraB aurix config information:
nvidia@nvidia:~$ cat /etc/eb/DrivePxApp.conf
AurixIP=10.42.0.146
TegraID=B
nvidia@nvidia:~$

nvidia@nvidia:~$ head /etc/eb/EasyCanConfigFile.conf

MsgId : 0x560
CtrlId : EC_CAN_BUS_A
FrmTyp : CAN_ID_EXTENDED
DestId : TEGRA_DEVICE_B
DestSwc : SWC_ID_CANDATA

TegraB Basic info:
nvidia@nvidia:~$ ifconfig eth0.200
eth0.200 Link encap:Ethernet HWaddr 00:04:4b:70:7a:52
inet addr:10.42.0.29 Bcast:10.42.0.255 Mask:255.255.255.0
inet6 addr: fe80::204:4bff:fe70:7a52/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:958 errors:0 dropped:0 overruns:0 frame:0
TX packets:1034 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:58619 (58.6 KB) TX bytes:101334 (101.3 KB)

nvidia@nvidia:~$ ping 10.42.0.146
PING 10.42.0.146 (10.42.0.146) 56(84) bytes of data.
64 bytes from 10.42.0.146: icmp_seq=1 ttl=255 time=2.43 ms
64 bytes from 10.42.0.146: icmp_seq=2 ttl=255 time=0.891 ms

TegraA is ok

1, run LINUX_LXTHREADSX86_DrivePxApp.elf aurix shell no ouput like below
shell>
EasyCan: Received configuration [OK].

EasyCan: Configuration unchanged [OK].

Dear duanwendi,

I guess you are trying to setup DPX2 EasyCan with the following link.

According to the message you uploaded, I can’t find any TegraB related log.
If you need to check TegraB - Aurix CAN interface, please find it in following address
DirveWorks documentation states “Per default, CAN-5 is routed to can0 SocketCAN interface on TegraA and CAN-6 to can1 SocketCAN interface on TegraB.”
file:///usr/local/driveworks-0.6/doc/nvdwx_html/dwx_canbus_logger_sample.html

TegraB aurixCAN setup programrunning log:
nvidia@nvidia:~/Documents/EasyCAN$ sudo ./LINUX_LXTHREADSX86_DrivePxApp.elf
[sudo] password for nvidia:
EB-DrivePX-Tegra
SW Version: DPX-EB-Tegra-0.06
Compilation date: Sep 9 2016, 17:03:54
Copyright 1998-2016 Elektrobit Automotive GmbH

DrivePxApp Demo for GNU/Linux.
DsCom: Starting DataReceiverThread for DsComMsgR.
DsCom: Starting DataReceiverThread for DsComIpcTest.
EthClient: Starting DataReceiverThread.
MsgR: Rx: 0 Tx: 56
EthClient: Rx: 0 Tx: 200
SpiClient: Rx: 0 Tx: 0
IPC_TEST: Received Ping Message from Aurix: PING_B
IPC_TEST: Received Ping Message from Aurix: PING_B
IPC_TEST: Received Ping Message from Aurix: PING_B
DsCom: Rx: 0 Tx: 0
IPC_TEST: Received Ping Message from Aurix: PING_B
IPC_TEST: Received Ping Message from Aurix: PING_B
MsgR: Rx: 115 Tx: 1056
EthClient: Rx: 115 Tx: 4080
SpiClient: Rx: 0 Tx: 0

aurix shell output:
shell>
shell>
shell>
shell>
shell>

I can use TegraA to setup CAN communication


run sample_canbus_logger on TegraA

nvidia@nvidia:/usr/local/driveworks/bin$ ./sample_canbus_logger --driver=can.aurix --params=ip=10.42.0.146,bus=a
Program Arguments:
–driver=can.aurix
–filter=000:000
–hwtime=1
–params=ip=10.42.0.146,bus=a
–send_i_understand_implications=0
–send_id=6FF

Initialize DriveWorks SDK v0.6.67
Release build with GNU 4.9.2 from v0.6.0-rc7-0-g51bd3aa against Vibrante PDK v5.0.5.0
TimeSource: monotonic epoch time offset is 1535505380015485
TimeSource: PTP ioctl returned error. Synchronized time will not be available.
TimeSource: Could not detect valid PTP time source at ‘eth0’. Fallback to CLOCK_MONOTONIC.
SDK: Resources mounted from /usr/local/driveworks-0.6/data/resources
nvrm_gpu: Bug 200215060 workaround enabled.
SDK: Create NvMediaDevice
egl::Display: found 2 EGL devices
egl::Display: use drm device: drm-nvdc
SDK: number of GPU devices detected 2
SDK: currently selected GPU device discrete ID 0
SAL: identified board as DrivePX2-TegraA
SensorFactory::createSensor() → can.aurix, ip=10.42.0.146,bus=a
Cannot setup CAN message filters: DW_NOT_IMPLEMENTED
EndpointUDP: started 10.42.0.146:50000
946686367671855 → 560 [8] 00 00 10 01 00 10 04 01
946686367672116 (dt=261) → 561 [8] 00 00 10 01 00 10 04 01
946686367672356 (dt=240) → 562 [8] 00 00 10 01 00 10 04 01
946686367672599 (dt=243) → 563 [8] 00 00 10 01 00 10 04 01

on TegraB
nvidia@nvidia:/usr/local/driveworks/bin$ ./sample_canbus_logger --driver=can.aurix --params=ip=10.42.0.146,bus=a
Program Arguments:
–driver=can.aurix
–filter=000:000
–hwtime=1
–params=ip=10.42.0.146,bus=a
–send_i_understand_implications=0
–send_id=6FF

Initialize DriveWorks SDK v0.6.67
Release build with GNU 4.9.2 from v0.6.0-rc7-0-g51bd3aa against Vibrante PDK v5.0.5.0
TimeSource: monotonic epoch time offset is 1535505379566845
TimeSource: PTP ioctl returned error. Synchronized time will not be available.
TimeSource: Could not detect valid PTP time source at ‘eth0’. Fallback to CLOCK_MONOTONIC.
SDK: Resources mounted from /usr/local/driveworks-0.6/data/resources
nvrm_gpu: Bug 200215060 workaround enabled.
SDK: Create NvMediaDevice
egl::Display: found 2 EGL devices
egl::Display: use drm device: drm-nvdc
SDK: number of GPU devices detected 2
SDK: currently selected GPU device discrete ID 0
SAL: identified board as DrivePX2-TegraB
SensorFactory::createSensor() → can.aurix, ip=10.42.0.146,bus=a
Cannot setup CAN message filters: DW_NOT_IMPLEMENTED
EndpointUDP: started 10.42.0.146:50000
AurixCAN: lost clock sync between Aurix and Tegra clock. Tegra clock is ahead of Aurix clock by at least 409996220 msec.
AurixCAN: lost clock sync between Aurix and Tegra clock. Tegra clock is ahead of Aurix clock by at least 409996220 msec.

Problem:
1, TegraB aurixCAN cannot setup.
2, TegraB aurixCAN cannot communicate.