Unable to get Radar data using CAN Interface

I tried to connect the Continental ARS 308 radar with the NVidia DRIVE Xavier using CAN bus.
But I do not get any data out of the CAN bus. I have attached the screenshot showing how I connected the radar to the DRIVE Box. I used a 120 ohm resistor to terminate the CAN communication and in-turn connect the radar to the CAN_1&2 Port in the DRIVE Box.

When I run the “candump” command, I find no response showing up. When I checked the SDK logs using the “dmesg” command, I get the following errors.

[ 1880.231858] mttcan c310000.mttcan can0: Stuff Error Detected
[ 1880.231913] mttcan c310000.mttcan can0: Stuff Error Detected
[ 1880.231964] mttcan c310000.mttcan can0: Stuff Error Detected
[ 1880.232020] mttcan c310000.mttcan can0: Stuff Error Detected
[ 1880.232074] mttcan c310000.mttcan can0: Stuff Error Detected
[ 1880.232124] mttcan c310000.mttcan can0: Stuff Error Detected
[ 1880.232182] mttcan c310000.mttcan can0: Stuff Error Detected
[ 1880.232237] mttcan c310000.mttcan can0: Stuff Error Detected
[ 1880.232294] mttcan c310000.mttcan can0: Stuff Error Detected

These errors are all that I see when I run the “dmesg” command.

When i run the “ifconfig can0” and “ifconfig can1” commands, i get the following output, which shows the can interface is configured in the system correctly.

can0: flags=193<UP,RUNNING,NOARP> mtu 16
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC)
RX packets 55031371 bytes 440250968 (440.2 MB)
RX errors 55031369 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 108

can1: flags=193<UP,RUNNING,NOARP> mtu 16
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC)
RX packets 27 bytes 216 (216.0 B)
RX errors 25 dropped 0 overruns 0 frame 0
TX packets 1 bytes 8 (8.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 109

Please let me know if there is any mistake in the connectivity of the CAN Interface and help me resolve this issue.

Hardware Platform: DRIVE AGX Xavier™ Developer Kit
Software Version: DRIVE Software 10
Host Machine Version: native Ubuntu 18.04
SDK Manager Version: 1.0.1.5538

Hi @ars4922,

Please refer to “Setting up SocketCAN Interface” topic in the document (especially the notes) and check if all Xavier/Aurix/IMU use same bit timing parameters.

Hi VickNV,

I am able to receive data through “candump” command when I connect the radar to the CAN_6&4 Port in the DRIVE Box but was not getting the data when connected to the CAN_1&2 Port.

The problem was that the radar sensor had the DB9 pins for High and Low as Pin-7/Pin-2. However, CAN_1&2 Port corresponds to the CAN High and low pins of Pin-8/Pin-1.

I referred the document NVIDIA DRIVE AGX SYSTEM MECHANICAL INSTALLATION GUIDE.pdf which had info on CAN Bus mappings which was useful.

Please let me know how can I connect my sensor to the CAN_3&5 Port. The CAN Bus mappings for this port shows the SoC is MCU.

DB-9 pins 2 and 7 are the standard for CAN_L and CAN_H, but it sounds like you’re going to have to make an adapter to change the pinout for your radar cable.

I don’t think what you are requesting is changeable in the kernel device tree.

Good luck - I never heard of the Drive Box - looks impressive.

Hi @ars4922, Good to hear you have some progress!

Could you help to clarify how you fixed the problem?

Please refer to below document/topic for this.